Entradas

Algo de UML básico

Imagen
Este viernes en la oficina uno de mis compañeros y yo estábamos comentando uno de los tweets de una amiga, en el que decía que no entendía cual es la diferencia entre agregación y composición en UML. Después de algunos minutos hablando comprobamos que aunque supiésemos diferenciar entre los dos, nosotros tampoco podíamos dar una definición técnica correcta de ambos términos. Por esta razón voy a crear una entrada en la que tras documentarme trataré de dejar claro que es composición y que es agregación. Demostrando por otro lado que siempre es interesante volver a las bases de vez en cuando, tanto para refrescarlas como para verlas desde otro nuevo punto de vista. Definición de libro. Para empezar utilizaré las definiciones del libro de Tim Weilkiens y Bernd Oestereich, "UML 2 Certification Guide". "An aggregation is an association expanded by the semantically noncommittal comment that the participating classes have no equal-ranking relationship; instead they repres...

La maldita codificación de caracteres

Esta semana he estado trabajando en un proyecto y me vino a la cabeza este artículo de Joel Spolsky sobre codificación de caracteres, porque nuestra aplicación (que por suerte está en fase de desarrollo) mostraba serios problemas de codificación en los diferentes navegadores con los que probábamos. Vamos a ver, todos nuestros ficheros estaban en UTF-8 y los ficheros JSP tenían su correspondiente encabezado con la etiqueta meta indicando que la codificación es efectivamente UTF-8, ¿por qué razón el navegador detecta que están en ISO-8859-1? Después de estar un rato buscando y leyendo información al respecto, he encontrado este interesante filtro creado por la gente de Spring que permite forzar la codificación de caracteres en el descriptor de la aplicación (web.xml). <filter> <filter-name>encodingFilter</filter-name> <filter-class>          org.springframework.web.filter.CharacterEncodingFilter  ...

Lo que aprendimos con The Marshmallow Challenge

Imagen
Buenas a todos tras estas largas vacaciones, para quien las haya tenido, que no es mi caso :-) pero ya llegarán, aunque el blog si que ha estado de vacaciones, no lo puedo negar. He estado retirado en la montaña (dígase la zona de relax de la oficina) buscando la inspiración y ... bueno no ha llegado tampoco, pero se hará lo que se pueda ;-) En la reunión realizada en Julio por el grupo Agile Canarias, mi compañero Gregorio Mena y yo quisimos darle un nuevo enfoque y propusimos la realización de algún juego que demostrase algún fundamento relacionado con el agilismo. La verdad es que no hubo ninguna duda, y desde el primer momento que vimos la página de Tom Wujec acerca de The Marshmallow Challenge sabíamos que esta era la opción adecuada, un juego divertido y con unas lecciones asombrosas. La verdad es que no hay nada mejor que revisar la documentación propuesta por Tom Wujec para entenderlo todo, pero haré un breve resumen antes de pasar a las conclusiones que obtuvimos en el g...

Retrospectiva de la TLP 2K10

Imagen
La semana pasada se celebró la Tenerife Lan Party 2010 y como participante en la zona profesional voy a intentar hacer una retrospectiva que merezca la pena (cosa un poco complicada si la hago yo :-P) Aunque antes de entrar en materia hay que felicitar al equipo de organizadores y colaboradores por el gran trabajo realizado y el esfuerzo monumental que han llevado a cabo. Felicidades a la gente de Innova7, seguid así chicos/as!!! Mi propia participación Me gustaría empezar con las sensaciones que me ha dejado el taller que realicé junto a Fran Reyes sobre Integración Continua, pero para ello debo empezar dando las gracias a una serie de personas sin las que no hubiese sido posible. Gracias a Juanma , Juanjo y Fran Olmedilla por su ayuda con la instalación de las máquina virtuales, es lo que tienen los colegas, que te dan la mano y les coges hasta el hombro. Por otro lado pero no menos importante gracias a Tana (aquí en la foto) por habernos ayudado también con la instalación de l...

Presentación de la TLP2K10

En la mañana del día de hoy, mi colega Fran Reyes y yo hemos realizado un taller sobre Integración Continua en la zona profesional de la Tenerife Lan Party 2K10 y habíamos prometido a los asistentes colgar la presentación en algún lado, y ese lado es ... este enlace a SlideShare :-) Integración Continua - TLP+i 2K10 View more presentations from Yeray Darias . En el fin de semana y cuando haya finalizado la TLP 2K10 haré un resumen de mis experiencias en la zona profesional y algunas reflexiones (o chorradas, según se mire) que tengo en mente.

Integración continua en entornos Java (1ª parte)

Imagen
Requisitos iniciales Hace unos días, mi colega Fran Reyes y yo, hicimos una charla/taller sobre integración continua en la 3ª reunión del grupo Agile-Canarias y como allí prometimos que íbamos a mostrar en el blog los pasos a seguir para montar tu propio servidor de integración continua, y como lo prometido es deuda, aquí va la primera entrega, los requisitos iniciales para comenzar :-) Damos por hecho que todo el mundo tiene instalado en su máquina el entorno de desarrollo de Java (JDK 1.5 o superior) y un servidor Apache Tomcat, por lo que daremos esos pasos por supuestos. Por lo tanto continuaremos con las herramientas necesarias para poder avanzar en los siguientes capítulos. Cliente SVN Aunque no utilizaremos SVN como repositorio de código, es necesario tener instalado un cliente SVN para poder descargar el proyecto de prueba con el que trabajaremos. En casi todos los sistemas existe un cliente SVN de fácil instalación, por lo que continuaré explicando como descargar el ...

Implementación del patrón Singleton en Scala

Imagen
Saludos a todo el mundo (o todo el mundo que lea este blog). Como estoy un poco liado con otras entradas referentes a la charla de integración continua en Agile-Canarias, hoy hablaré de un tema sencillo que me ha surgido esta semana. Como implementar el patrón Singleton en Scala. Para empezar y para todos aquellos que no sepan lo que es el patrón Singleton, se puede resumir en que es un patrón de diseño que permite mantener una única instancia de un determinado objeto. Esto es muy útil cuando se trata de un objeto cuya instanciación es muy costosa o simplemente porque modela un elemento que es único en la realidad. A partir del diagrama de clase anterior nos podemos hacer una idea de su implementación en un lenguaje como por ejemplo Java, pero para que quede más claro, aquí va el código de un Singleton en Java :-) Esta sacado de la Wikipedia y es tan solo un ejemplo ilustrativo así que no le intentéis buscar un sentido más allá de ser un simple ejemplo (aunque como ejemplo funcion...