An overview over the most common bad practices in ASP.NET MVC 3. In this session we will discuss about some mistakes that are made in an ASP.NET MVC 3 applications and what we can do to avoid them.
El documento discute cómo las tecnologías de la información y la comunicación (TIC) pueden aplicarse en educación física para estimular a los estudiantes y facilitar la interacción entre estudiantes y maestros, por ejemplo, a través de videos, fotografías e información actualizada. También explica que las TIC pueden usarse como herramientas para la innovación e investigación y para proyectos de colaboración entre departamentos y universidades, siempre que los profesionales las utilicen de manera responsable y comprometida.
El documento describe el efecto Doppler en tres casos: 1) cuando la fuente está en reposo y el observador se acerca o aleja, 2) cuando el observador está en reposo y la fuente se acerca o aleja, y 3) cuando tanto el observador como la fuente se mueven. En cada caso, la frecuencia observada (f) de la onda emitida depende de la velocidad relativa entre la fuente y el observador.
El documento describe las contribuciones de Karl-Friedrich Gauss a la teoría de números, incluyendo su introducción de la notación de congruencias y el desarrollo de la teoría de congruencias, así como su trabajo pionero con números algebraicos. También discute los intentos posteriores de otros matemáticos como Kummer para probar la conjetura de Fermat.
Teksten en liederen die geprojecteerd werden tijdens de startviering van KSJ Erembodegem op Ten Bos (Sint Amanduskerk Erembodegem)
De teksten van onze vieringen zijn te vinden op de website: http://www.kerkembodegem.be/tenbos/liturgie/vieringen.html
El documento discute cómo las tecnologías de la información y la comunicación (TIC) pueden aplicarse en educación física para estimular a los estudiantes y facilitar la interacción entre estudiantes y maestros, por ejemplo, a través de videos, fotografías e información actualizada. También explica que las TIC pueden usarse como herramientas para la innovación e investigación y para proyectos de colaboración entre departamentos y universidades, siempre que los profesionales las utilicen de manera responsable y comprometida.
El documento describe el efecto Doppler en tres casos: 1) cuando la fuente está en reposo y el observador se acerca o aleja, 2) cuando el observador está en reposo y la fuente se acerca o aleja, y 3) cuando tanto el observador como la fuente se mueven. En cada caso, la frecuencia observada (f) de la onda emitida depende de la velocidad relativa entre la fuente y el observador.
El documento describe las contribuciones de Karl-Friedrich Gauss a la teoría de números, incluyendo su introducción de la notación de congruencias y el desarrollo de la teoría de congruencias, así como su trabajo pionero con números algebraicos. También discute los intentos posteriores de otros matemáticos como Kummer para probar la conjetura de Fermat.
Teksten en liederen die geprojecteerd werden tijdens de startviering van KSJ Erembodegem op Ten Bos (Sint Amanduskerk Erembodegem)
De teksten van onze vieringen zijn te vinden op de website: http://www.kerkembodegem.be/tenbos/liturgie/vieringen.html
O documento apresenta um sumário sobre o tema Direito Administrativo, abordando suas noções gerais, fontes, regime jurídico, princípios constitucionais e infraconstitucionais, organização administrativa, regime constitucional do agente público, atos administrativos, licitação pública, contratos administrativos e poderes da administração pública.
Este documento presenta un planificador de ambientes de aprendizaje mediados por TIC. Explica que la planeación es importante para establecer objetivos y estrategias para alcanzarlos. Luego, detalla los componentes de diseño de un ambiente de aprendizaje mediado por TIC, incluyendo intenciones educativas, objetivos, propósitos de formación y caracterización del contexto. El planificador provee una guía para el diseño e implementación de este tipo de ambientes.
El documento define la ciudad como el lugar donde los humanos alcanzan su madurez y desarrollo completo según Aristóteles. También define cultura como el conjunto de rasgos distintivos materiales e inmateriales que caracterizan a los grupos humanos, incluyendo modos de vida, valores y tradiciones. Finalmente, argumenta que educar en cultura ciudadana es cultivar valores cívicos que lleven a amar y cuidar la ciudad como propia, y que la calidad de una ciudad depende de la calidad de sus ciudadanos.
Este documento describe los sistemas digitales y analógicos, así como diferentes tipos de computadores. Explica que los sistemas digitales usan variables que solo toman dos valores posibles, mientras que los analógicos toman valores de forma continua. Los primeros computadores eran analógicos, pero los actuales son digitales debido a que usan códigos binarios. Luego clasifica los computadores digitales en supercomputadores, macrocomputadores, minicomputadores y microcomputadores.
La robótica es la rama de la tecnología dedicada al diseño, construcción y aplicación de robots. Se originó de la necesidad humana de automatizar tareas y aumentar el confort. El término "robot" fue acuñado en 1921 por el escritor checo Karel Čapek. Los robots se clasifican en generaciones según su complejidad y capacidad de control, desde manipuladores mecánicos hasta robots inteligentes con sensores. También se clasifican según su estructura, incluyendo robots poliarticulados, móviles,
In deze presentatie wordt een sneak preview gegeven van het nieuwe 6000m2 grote Occasioncentrum van Ames. Het occasioncentrum zal op 21 november 2012 geopend worden. Bekijk hier alvast enkele foto-impressies!
El documento lista varios productos tecnológicos y sus usos, incluyendo velas, faros y focos para proveer luz sin sol; transportes como colectivos, barcos y aviones para el desplazamiento; motores, poleas y palancas para ahorrar esfuerzo; y ropa como vestidos, pantalones y zapatos para proteger el cuerpo del clima.
Doe alle moeite om door de smalle deur naar binnen te gaan (21ste zondag door...Ten Bos
Teksten en liederen die geprojecteerd werden tijdens de 21ste zondag door het jaar C op Ten Bos (Sint Amanduskerk Erembodegem)
De teksten van onze vieringen zijn te vinden op de website: http://www.kerkembodegem.be/tenbos/liturgie/vieringen.html
La ruleta fue creada por el matemático francés Blaise Pascal en el siglo XVII. Existen tres tipos principales de ruleta: la ruleta francesa con 37 números del 0 al 36, la ruleta americana con 38 números que incluyen el doble cero, y la ruleta americana de un solo cero que combina las características de las dos anteriores.
El documento describe las diferentes etapas del desarrollo humano, incluyendo la etapa germinal, embrionaria y fetal, la infancia, la adolescencia, la juventud, la edad adulta y la vejez. Cada etapa se caracteriza por cambios físicos, psicológicos, intelectuales y sociales específicos. La adolescencia es un período de identidad, pubertad y libertad, mientras que la juventud es cuando la persona es capaz de orientar su vida y integrar plenamente su personalidad para servir a los demás.
Nico e Néco são dois filhotes de canguru que se perderam de sua mãe durante um passeio. Eles passaram a noite assustados na floresta até que sua mãe os encontrou e salvou de uma cobra venenosa. A história ensina a importância da obediência aos pais.
O documento discute estratégias de marketing viral, definindo-o como a disseminação de informações por consumidores de forma orgânica. Aponta que mensagens emocionantes que permitam compartilhamento tendem a se espalhar mais, mas ficam fora do controle do criador. Também lista técnicas que podem fazer campanhas viralizarem, como explorar emoções, surpreender e permitir participação do público.
O documento apresenta um sumário sobre o tema Direito Administrativo, abordando suas noções gerais, fontes, regime jurídico, princípios constitucionais e infraconstitucionais, organização administrativa, regime constitucional do agente público, atos administrativos, licitação pública, contratos administrativos e poderes da administração pública.
Este documento presenta un planificador de ambientes de aprendizaje mediados por TIC. Explica que la planeación es importante para establecer objetivos y estrategias para alcanzarlos. Luego, detalla los componentes de diseño de un ambiente de aprendizaje mediado por TIC, incluyendo intenciones educativas, objetivos, propósitos de formación y caracterización del contexto. El planificador provee una guía para el diseño e implementación de este tipo de ambientes.
El documento define la ciudad como el lugar donde los humanos alcanzan su madurez y desarrollo completo según Aristóteles. También define cultura como el conjunto de rasgos distintivos materiales e inmateriales que caracterizan a los grupos humanos, incluyendo modos de vida, valores y tradiciones. Finalmente, argumenta que educar en cultura ciudadana es cultivar valores cívicos que lleven a amar y cuidar la ciudad como propia, y que la calidad de una ciudad depende de la calidad de sus ciudadanos.
Este documento describe los sistemas digitales y analógicos, así como diferentes tipos de computadores. Explica que los sistemas digitales usan variables que solo toman dos valores posibles, mientras que los analógicos toman valores de forma continua. Los primeros computadores eran analógicos, pero los actuales son digitales debido a que usan códigos binarios. Luego clasifica los computadores digitales en supercomputadores, macrocomputadores, minicomputadores y microcomputadores.
La robótica es la rama de la tecnología dedicada al diseño, construcción y aplicación de robots. Se originó de la necesidad humana de automatizar tareas y aumentar el confort. El término "robot" fue acuñado en 1921 por el escritor checo Karel Čapek. Los robots se clasifican en generaciones según su complejidad y capacidad de control, desde manipuladores mecánicos hasta robots inteligentes con sensores. También se clasifican según su estructura, incluyendo robots poliarticulados, móviles,
In deze presentatie wordt een sneak preview gegeven van het nieuwe 6000m2 grote Occasioncentrum van Ames. Het occasioncentrum zal op 21 november 2012 geopend worden. Bekijk hier alvast enkele foto-impressies!
El documento lista varios productos tecnológicos y sus usos, incluyendo velas, faros y focos para proveer luz sin sol; transportes como colectivos, barcos y aviones para el desplazamiento; motores, poleas y palancas para ahorrar esfuerzo; y ropa como vestidos, pantalones y zapatos para proteger el cuerpo del clima.
Doe alle moeite om door de smalle deur naar binnen te gaan (21ste zondag door...Ten Bos
Teksten en liederen die geprojecteerd werden tijdens de 21ste zondag door het jaar C op Ten Bos (Sint Amanduskerk Erembodegem)
De teksten van onze vieringen zijn te vinden op de website: http://www.kerkembodegem.be/tenbos/liturgie/vieringen.html
La ruleta fue creada por el matemático francés Blaise Pascal en el siglo XVII. Existen tres tipos principales de ruleta: la ruleta francesa con 37 números del 0 al 36, la ruleta americana con 38 números que incluyen el doble cero, y la ruleta americana de un solo cero que combina las características de las dos anteriores.
El documento describe las diferentes etapas del desarrollo humano, incluyendo la etapa germinal, embrionaria y fetal, la infancia, la adolescencia, la juventud, la edad adulta y la vejez. Cada etapa se caracteriza por cambios físicos, psicológicos, intelectuales y sociales específicos. La adolescencia es un período de identidad, pubertad y libertad, mientras que la juventud es cuando la persona es capaz de orientar su vida y integrar plenamente su personalidad para servir a los demás.
Nico e Néco são dois filhotes de canguru que se perderam de sua mãe durante um passeio. Eles passaram a noite assustados na floresta até que sua mãe os encontrou e salvou de uma cobra venenosa. A história ensina a importância da obediência aos pais.
O documento discute estratégias de marketing viral, definindo-o como a disseminação de informações por consumidores de forma orgânica. Aponta que mensagens emocionantes que permitam compartilhamento tendem a se espalhar mais, mas ficam fora do controle do criador. Também lista técnicas que podem fazer campanhas viralizarem, como explorar emoções, surpreender e permitir participação do público.
Ghid SEO Optimizare Site Web - invata pas cum sa iti optimizezi site-ul pas cu pas pentru o mai buna clasare in motoarele de cautare.
Acest Ghid de Optimizare SEO este tot ce ai nevoie pentru a-ti optimiza singuri site-ul web cu scopul de a atrage clienti pe site prin Google!
Prezintă noutăţile din ASP.NET MVC 2: areas, model validation și suportul pentru template-uri. Sesiune susţinută în cadrul evenimentului CodeCamp de iarnă la Iaşi, 20 februarie 2010.
9. View Model = Domain model
Repository View
Domain Model
10. View Model = Domain model
• In view o sa ajunga mai multe date decat este necesar
• Entitatea o sa fie poluata cu diferite atribute ce tin de UI
• Nu exista o separare clara a fiecarui layer
• Modelul este un DTO (Data Transfer Object) si ar putea sa fie
compus doar din string-uri
• Un convertor se poate folosi pentru a obtine un model dintr-o
entitate (intr-un sens, in doua sensuri)
• Un framework pentru maparea entitatilor (AutoMapper)
• Codul care face conversia nu se duplica
• Controller-ul nu creste ca si complexitate din cauza conversiei
13. View-ul contine logica
• In view modelul este procesat
• Modelul nu contine date in stare finala
• View-ul ar trebui doar sa afiseze modelul
• Logica de procesare nu are ce cauta in view
• Din view nu se apeleaza clase exterioare
• Un view poate sa contina IF si FOR (FOREACH)
• SWITCH – chiar avem nevoie de el?
• Daca populam modelul corect, IF-ul poate sa fie inlocuit cu un
HtmlHelper
15. Controller si dependintele exterioare
• Controller-ul nu ar trebui sa acceseze direct HttpContext, baza de
date sau orice alta resursa
• Setarile din web.config nu trebuie accesate direct
• Este mai greu de testat
• Nu este flexibil
• Orice schimbare poate sa genereze foarte multe modificari
• Se poate construi un wrapper peste aceste dependinte
• Wrapperul poate sa grupeze datele din punct de vedere logic si nu in
functie de sursa lor
• ActionFilter care sa ne ofere aceste date
19. Nu folositi “magic words”
• Cand se acceseaza sesiunea, ViewData, ViewBag, etc
• Pot sa apara foarte usor greseli de scriere (misspelling)
• Duplicarea informatiei – aceiasi informatie in mai multe locuri
• Aceiasi conversie de date se face in mai multe locuri
• Nu o sa stiti cauza pentru care view-ul crapa (misspelling sau datele
nu au fost puse unde trebuie)
• Wrapper
• Extension methods
• Datele de care avem nevoie in view se pot trimite prin model si nu
prin alte mecanisme
21. Nu hardcodati RouteUrl-urile
• Evitati sa folosti Html.ActionLink in view
• Evitati sa folosti RedirectToAction in controller
• Puteti crea extension methods pentru fiecare url
• Le puteti refolosi in mai multe locatii (atat in view cat si in controller)
• Creati extension methods si pentru locatiile la resurse (image
path, JavaScript path, CSS files path)
22. Repopulare date comune in Model
• 2 sau mai multe modele contin aceleasi date
• Creati o structura de clase
(BaseUserModel, CustomerUserModel, AdminUserModel)
• Populati modelul de baza dintr-un singur loc
23. Repopulare date comune in Model
• 2 sau mai multe modele contin aceleasi date
• Creati o structura de clase (BaseUserModel, CustomerUserModel,
AdminUserModel)
• Populati modelul de baza dintr-un singur loc
?
24. Agregare date pentru o actiune
• Daca avem nevoie de acelasi ActionFilter in mai multe actiuni, atunci
incercati sa le puneti intr-un sigur loc (intr-un BaseController)
• Folositi ActionFilter pentru a transforma datele care vin din diferite
locatii in parametri pentru actiune
25. Fat Controller
• Apeleaza direct baza de date
• Proceseaza informatia
• Logica din el este foarte complexa – toata partea fun este in controller
• Are foarte multe actiuni
• Multe entitati sunt cuplate prin intermediul controller-ului
• Greu de inteles, modificat si testat
• Controller-ul nu trebuie sa fie strans legat de domeniu
• Nu el trebuie sa fie dirijorul aplicatiei noastre
• Un controller per functionalitate si nu per entitate
26. Fat Controller
• Un controller per functionalitate si nu per entitate
• Fiecare functionalitate care este oferita de catre aplicatia noastra
poate sa fie reprezentata de catre un controller
• Un controller per use case – nu este mereu posibil
27. Actiunile apelate des nu sunt cache-uite
• Daca avem actiuni care sunt apelate des, iar continutul ramane la
fel, atunci putem sa folosim OutputCache
• Nu poluati controller-ul cu configurarea cache-ului
• Cache-ul trebuie configurat din web.config si nu din controller
28. Framework-ul de DI este apelat direct
• In anumite factory-uri (ControllerFactory) se apeleaza direct clase care
tin de framework-ul de DI
• Diferite proiecte folosesc diferite DI
• Creati un wrapper peste acestea, care sa abstractizeze API-ul
• Folositi Common Service Locator
• Este o abstractizare peste mecanismul de DI, care iti permite sa
folosesti acelasi API indiferent de ce framework de DI folosesti
29. HtmlHelper - overused
• Nu creati un extension method la un HtmlHelper daca nu este folosit
cel putin in doua locuri
• Incercati sa grupati aceste metode sub un nod comun daca se poate
• O sa fie mai usor de folosit si de inteles
HtmlHelper
.Table()
.BoxList()
.Pivot
.Product() – returneaza ProductHtmlHelper
.FormatPrice()
.Stock()
…
…
30. JavaScript in View
• Oricat de scurt este JavaScript-ul nu il puneti in view
• JavaScript-ul o sa polueze view-ul si o sa il faca greu de inteles
• Nu faceti apeluri AJAX din View
• Nu hardcodati adresa url pentru AJAX in JS – use UrlHelper
• Ce se intampla daca o actiune se redenumeste ?
• Ce se intampla daca locatia unei resurse se schimba?
• Trebuie facute in mai multe locuri modificari
31. View-uri foarte lungi
• Cat de normal este sa ai un view de 100 de randuri, iar codul sa se
repete?
• Cat de normal este ca intr-un FOR dintr-un view sa se afiseze contintul
unui “sub-model” direct?
• Pentru aceste cazuri se poate folosi Partial View
• Nu conteaza daca acesta are doar 2 randuri sau 10
• Reutilizarea codului creste
• Devine mai clar
• Mai usor de citit si testat