Artículos

Singleton y Lazy Loading en .NET 4

Singleton y Lazy Loading en .NET 4Hace tiempo me construí una clase Logger a partir de la de un compañero, añadiendo un par de detalles para adaptarla a mis necesidades. Es una clase muy útil para procesos que se ejecutan en consola o servicios de Windows o WCF. Se instancia de forma estática utilizando el patrón Singleton, de modo que cualquier proceso de la aplicación puede acceder a ella y escribir tanto en consola como en un archivo de texto lo que vamos haciendo. Llevo ya bastante tiempo usándola y nunca me ha dado problemas.

Pero el otro día otro compañero que la está utilizando me planteó una duda: le daba la sensación de que la clase estaba ralentizando la ejecución de su aplicación, la cual utilizaba varios subprocesos para realizar ejecuciones bastante costosas. Yo le comenté que había utilizado mi Logger con aplicaciones que también usaba múltiples hilos e incluso con la Task Parallel Library de .NET 4 y nunca había notado nada raro.

Aún así, me quedó la duda: ¿Es totalmente thread-safe una clase declarada mediante el patrón Singleton?

La respuesta, tras consultar un foro de debate en LinkedIn y un par de blogs, es que… ¿lo adivináis? Depende de vuestra implementación :-) Veámoslo en detalle.

Seguir leyendo »

Fauna del asfalto

No es que lleve demasiados años conduciendo, ni tampoco que me pase mucho tiempo en la carretera cada día. Apenas cojo el coche para ir y volver del trabajo en un trayecto de 20 minutos y hacer recados el fin de semana. Pero en mi corta experiencia como conductor he llegado a la conclusión de que se puede realizar un completo estudio sociológico observando a los conductores de una ciudad.

No puedo evitar observar a los demás mientras conduzco y pronto me di cuenta de que nuestros hábitos de comportamiento no son demasiado variados. Sin arriesgarme demasiado en generalizar, se podría catalogar a la gran mayoría de conductores en casos típicos y predecibles.

Seguir leyendo »

5 años de Smashing Magazine

El blog de Smashing Magazine es una de mis principales referencias de consulta en cuanto a diseño y programación web se refiere y hoy cumplen 5 años. Es una excusa perfecta para echar un vistazo a sus mejores artículos, que han recopilado en un eBook que han puesto a disposición de sus lectores de forma gratuita en iTunes y en sus servidores.

También os recomiendo su libro en formato físico, una guía indispensable para aprender cosas sobre tipografía, teoría del color y otros conceptos de diseño web.

Desde este humilde rincón de Internet, ¡felicidades, Smashing Magazine! :)

Me he comprado un iMac

Hace cosa de un par de meses, se nos estropearon en casa los dos ordenadores que teníamos: el mío de sobremesa y el portátil de mi mujer. Cuando nos vinimos a vivir juntos, cada uno se trajo su PC y no sé si se habrán confabulado para fastidiarnos la vida, pero el caso es que se pusieron de acuerdo para reventar en la misma semana.

Últimamente ya no escribo, así que no utilizo tanto el ordenador en casa como antes. Pero ella lo necesitaba para buscar trabajo, así que decidimos comprar uno para los dos. En lugar de destinar los ahorros a dos PC’s regularcillos, quisimos echar el resto y comprar algo en condiciones.

Seguir leyendo »

Keep it simple, stupid!

Dejémoslo claro desde el principio: la sencillez es mucho más compleja de uno puede llegar a pensar. El principio KISS (Keep it Simple, Stupid! o “¡Mantenlo simple, estúpido!”) es una de mis premisas en la ingeniería, a pesar de que no siempre soy capaz de aplicarlo.

En realidad se trata de un principio que tiene validez en cualquier ámbito de la vida. Tiene distintas variantes y quizás la más conocida es la de la Navaja de Ockham. La solución más sencilla suele ser la correcta. En programación, una codificación sencilla, breve y limpia siempre será más óptima que otra más complicada y elaborada. En un diseño web, eliminar los elementos innecesarios de la interfaz para hacerla lo más usable posible es un trabajo constante de iteración y reflexión.

Seguir leyendo »

Publicado en Artículos | Comentarios desactivados