Ver por etiquetas

Cómo crear un Compact Framework (I)
Imaginemos los siguientes escenarios: tenemos un gran framework super completo del cual queremos obtener una versión más pequeña para correr en dispositivos móviles, y tenemos que quitar ciertas características que el dispositivo no soporta. Además la idea del concepto de “Compact” Framework también hace referencia al tamaño, por lo que queremos eliminar todo el código del las características no soportadas. queremos lanzar varias versiones de nuestra aplicación como Free Edition, Profesional Edition...
Patrón repetido en MVC. Mi propuesta
Cuando usamos ASP.MVC uno de los patrones que debemos respetar es el de “Un modelo entra, un modelo sale” y otro muy común es el de validar el modelo y si este no es válido devolverle la misma vista al usuario para que corrija los datos de entrada. Por esto es común ver el siguiente patrón: ¿Qué está mal aquí? ¿Lo ves? Lo que está mal es que este patrón se repite en cada una de las acciones de cada uno de los controladores de cada una de las aplicaciones que hacemos con MVC Framework y eso huele...
10 consejos para que no te crackeen tan fácil
Crackear una aplicación tiene algo de arte y de ingenio pero crackear una aplicación .Net es demasiado sencillo para mi gusto, y representa un problema para la empresa o desarrollador que la comercializa y vive de mantener y mejorar el producto. Ya no vale eso de “total quien se va a dar cuenta”, eso no es válido para ninguna aplicación pero esto es aún peor cuando se trata de herramientas de desarrollo de software las cuales serán utilizadas por profesionales que conocen como pueden saltearse los...
Código libre de NULLs
En este video explico los problemas que causan las referencias nulas en nuestro código y planteo cómo debemos crear un código libre de NULLs.
[Video] Serie sobre excepciones – Explicando ejemplo del MSDN
En este video explico el por qué un ejemplo tomado del MSDN está mal y cómo debería de escribirse en cuanto a la manera en que trata las excepciones.
Excepciones – Un caso sobre los ejemplos del MSDN
Soy un convencido de que muchos de los malentendidos que existen en cuanto al manejo de excepciones en VB.Net y C# es por culpa de los malos ejemplos que siempre ha tenido el MSDN. Con solo invertir un par de segundos en google uno puede encontrar verdaderas aberraciones.. A modo de ejemplo solo pondré dos links y las capturas: http://msdn.microsoft.com/en-us/library/system.net.dns.resolve(v=vs.110).aspx   Si Bien es cierto que los ejemplos han mejorado muchísimo, porque años antes eran un desastre...
[Video] Serie sobre excepciones–Donde capturarlas
Les dejo la tercera entrega de la serie sobre excepciones. Saludos
Retoques a MVC y Razor para proyectos grandes–Una recomendación
Luego de revisar los requerimientos de la aplicación en la que vengo trabajado estos últimos 6 meses,  tuve que pensar cómo plantear la arquitectura de la misma teniendo en cuenta lo siguiente: La aplicación es muy muy muy grande, eso era lo primero que saltaba a la vista en los requerimientos. Al día de hoy, esta cuenta con 1.119 vistas, 797 controladores y un número similar de modelos, entre otras cosas. El equipo iba a ser grande y la idea era que trabajaran lo más focalizados posible en...
[Video] Serie sobre excepciones–Malas Prácticas
Les dejo la segunda entrega de la serie que estoy desarrollando para el equipo de desarrollo en el cual trabajo.   Saludos
[Video] Serie sobre excepciones–Exceptions vs ErrorCodes
Les dejo el primero de una serie de videos sobre excepciones que estoy creando para el equipo de desarrollo al que pertenezco. Espero les guste. Saludos
.Net Reflector y ILSpy, ¿podrían inferir mejor el código a partir del IL?
Muchas veces uno cree que el código que .Net Reflector muestra es fiel reflejo de lo que el desarrollador escribió, pero obviamente eso no puede ser cierto ya que esta herramienta toma el IL de un ensamblado y trata de mostrar su equivalente en los lenguajes que se le pida (C#, VB.NET, F# entre otros). Claro que muchas veces hacen tan buen trabajo que uno se olvida de eso. Como a ILSpy le falta una vueltita de rosca en este aspecto, esto se hace más evidente ya que uno termina...
Como crear un Profiler para .Net
Quiero mostrar cómo es posible modificar nuestros assemblies ya compilador (no no no, antes que los procese el JIT) para agregarles o quitarles código IL. En este caso, voy a ilustrar esto mediante la creación de un sencillísimo Profiler. Trabajos previos Este está inspirado en un artículo muy interesante, aunque algo viejo, de Gabriel Schenker sobre como crear un profiler con Mono.Cecil para aplicaciones Silverlight ( parte 1 y parte 2 – nos debe la...
Expresiones Lambda para novatos
Algunos compañeros me pidieron que explicara las expresiones lambda en un video. Este es muy básico y usa un lenguaje inexacto para hacerlo lo más entendible posible para aquellos que no conocen con suficiente profundidad .Net.
Publicado 26/11/2011 por Lucas Ontivero | con no comments
Archivado en: ,,,
[Patterns] UnitOfWork
Leyendo el artículo de Javier Torrecilla  Patrón Unit of Work (UoW) o Unidad de Trabajo me acordé que en 2007 había escrito sobre este patrón y quiero rescatarlo aquí:   Este es uno de los patrones más útiles (desde mi punto de vista) con que me he encontrado en el libro " Patterns of Enterprise Application Architecture " (P of EAA) de Martin Fowler. Como dice Martin en su libro este patrón: "Maintains a list of objects affected by a business transaction and coordinates the...
Por qué no me gustan las plantillas T4
A mi anterior entrada la titulé “Las plantillas T4 son basura” cosa que respondió más a mi estado de bronca contra éstas que a su verdadero valor como herramienta. Muchos me preguntaron sobre el por qué de tal calificación y la verdad es que ese por qué es demasiado largo de explicar pero voy a mostrar la punta del ovillo para que a quien le interese pueda descubrirlo por sí solo. Veamos un par de ejemplo muy sencillos, el primero...
Integración continua con Open Source en el mundo .Net
Actualmente tengo a cargo un proyecto en el que somos 13 desarrolladores en distintos lugares de Argentina y en Colombia. Por esta razón, lo primero que pensé es en armar un servidor de integración continua. Cuando lo planteé, la condición fue que no debía requerir licencias de software (salvo la de Windows). No tenía mucho tiempo para esta tarea así que fui a lo conocido: CruiseControl.Net, Subversion, MSBuild, NUnit, Wix, TortoiseSVN y un sin fin de scripts, xslts y herramientas propias. Hasta...
KeyPadawan “Resurrection” 0.2 Released
KeyPadawan es una herramienta muy simple que permite visualizar lo que se escribe, en la pantalla. Tiene 3 modos de ejecución: Normal: Muestra tanto las teclas como los atajos que se utilizan. Shortcuts: Solo muestra los atajos. Raw: Muestra todas la teclas tal y cual las recibe desde el sistema operativo. El código está alojado en Github [ https://github.com/lontivero/KeyPadawan.git ]. Ya compilado pueden encontrarlo aquí . Cualquier sugerencia es bienvenida.
¿Lo que huele mal es la inyección de dependencias?
En mi anterior entrada mostraba distintas alternativas que podíamos utilizar para volver al siguiente fragmento de código fácilmente testeable. Obviamente existe una infinidad de alternativas que no he abordado como los frameworks de aislamiento, los servidores de smtp que no envían los mails y muchas más. La idea aquí  es mostrar el por qué este código no es un duro de testear. Obviamente es porque tiene una dependencia con la clase SmtpClient la cual se comunica mediante un socket con el ambiente...
¿Como vuelvo testeable mi código? Algo huele mal.
Veamos el siguiente código: Lo que buscamos crear al menos una prueba unitaria para este. ¿Cómo lo hacemos?. Bueno, antes quiero plantear algunos supuestos: Si bien parece un TransactionScript, hagamos de cuenta que no lo es. El hecho de tener solo un método y ningún campo, propiedad o evento es solo para hacer de este un ejemplo ultra sencillo. Por lo tanto pensemos que sí tiene campos, propiedades y varios métodos. Si bien usamos un System.Net.Mail.SmtpClient, la idea es no limitarse solo a esta...
¿Vale la pena crear pruebas unitarias?
La creación de pruebas unitarias requiere al menos lo siguiente: Un framework de pruebas unitarias que debemos dominar. Por lo general son muy simples. Código testeable. Típicamente esto implica código susceptible de ser “aislado”. Nada que decir con respecto al primer punto. Ahora, en cuanto al segundo punto, ¿qué significa que el código pueda ser “aislado”?. Bueno, esto significa que sus dependencias deben poder ser reemplazadas. Esto lo logramos bien por medio de inyectarle sus dependencias o...
Más artículos Página siguiente >