Entradas

Mostrando entradas de junio, 2010

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