24 julio 2009

Video: La historia de Internet

Probablemente ya hayas visto este video en algún otro blog de informática, pero para todos aquellos que no lo conozcan, acá les publico este video sobre los origenes y evolución de la red de redes.

14 julio 2009

Gifs de apoyo a COECYS 09


Apoyando el trabajo que han realizado los amigos organizadores del Congreso de Estudiantes de Ciencias Y Sistemas (COECYS) de este año, público algunos gifs que me permití hacer para que quien quiera los pueda usar en su blog, twitter, messenger y demás lugares y así ayudar a promover el congreso entre sus lectores.

De igual forma, si tienes alguna sugerencia para mejorar los gifs, eres invitado a escribirme y si decides hacer tus propias creaciones, también te invito a que comentes la dirección de tu post.


02 julio 2009

Integración de JUnit y Netbeans

Hacer pruebas de funcionamiento de los diversos componentes de un proyecto es una parte vital del ciclo de desarrollo, consumiendo grandes cantidades de tiempo y recursos en su realización, es por ello que debemos buscar alternativas que nos permitan automatizar estas pruebas, por lo menos a nivel unitario (cada componente).

Una de las propuestas más conocidas es usar el framework JUnit, para escribir y ejecutar pruebas unitarias en proyectos Java.

En esta entrada vamos a ver como integrar y configurar JUnit versión 4, aprovechando las facilidades que brinda un IDE como Netbeans.

La forma en la que JUnit trabaja es indicàndole una serie de entradas y sus salidas esperadas y luego compara los resultados de la ejecuciòn con los valores esperados para encontrar inconsistencias.

En Junit contamos con la clase Assert que es la encargada de realizar todas las comprobaciones que necesitemos mediante una serie de mètodos que validan condiciones especìficas. Entre los mètodos con los que contamos estan:
AssertEquals: Comprueba si dos objetos son iguales, en sus distintas versiones siempre recibe un valor esperado, un valor obtenido y un rango de variación o delta.

asserFalse: Comprueba que la condición pasada como parámetro sea falsa, su contraparte es el mètodo assertTrue

asserNotNull: Verifica que el objeto pasado como parámetro no sea nulo. Su contraparte es el método assertNull

assertSame: Verifica si dos referencias apuntan al mismo objeto. Su contraparte es el mètodo assertNotSame

Fail(): Hace que falle la prueba.

Ejemplo:
Bueno, empecemos nuestro ejemplo creando un nuevo proyecto de aplicaciòn en Netbeans (File > Nuevo Proyecto >Java > java Application) al que le pondremos "test_Junit".

Ahora creamos una clase llamada "Validador" que tendrá métodos para verificar que un paràmetro sean mayor, menor o igual a otro paràmetro. Una posible implementación podría ser la siguiente:

public class Validador {
public Validador(){};
public boolean menorQue(int a, int b){ return a < b;}
public boolean mayorQue(int a, int b){ return a > b;}
public boolean igualQue(int a, int b){ return a==b;}
}


Ahora debemos dar click derecho sobre el icono de la nueva clase y seleccionar Tools > create JUnit tests, donde saldrá una pantalla donde sólo debemos indicar el nombre, paquete y las opciones de generación de código, al final damos click en el botón "aceptar"

Se habrá creado una nueva clase llamada ValidadorTest en el paquete Test (por default) la cual contiene todos los métodos "assert" para probar cada método de nuestra clase, por lo que solo debemos modificar estos métodos para hacer las pruebas que queramos.

Ya modificadas las pruebas solo falta ejecutarlas, para eso nos vamos al menú "Run" y seleccionamos "Test Project", después de un momento obtenemos los resultados de la prueba:



Como ves, no es cosa del otro mundo y permite avanzar mucho más rápido y seguro dado que no tienes que estar parando y haciendo pruebas por tu cuenta cada vez que hacemos una modificación o una nueva función, solamente debemos definir nuestra serie de pruebas desde el inicio e ir ejecutando los test en cada actualización y listo.

Fuentes:
http://junit.org/
http://www.netbeans.org/kb/docs/java/junit-intro.html
http://es.wikipedia.org/wiki/JUnit
http://www.jtech.ua.es/tutoriales/apuntes/sesion-junit-apuntes.htm
http://www.lab.dit.upm.es/~lprg/material/apuntes/pruebas/aceptacion.htm
http://www.javahispano.org/contenidos/es/introduccrion_a_junit/

Expandir/Contraer este Post


27 junio 2009

Integracion de Tomcat con Apache

En este post instalaremos Tomcat y lo configuraremos para que se integre con Apache, sobre un Ubuntu 9.04 con KDE 3.5

Para instalar Apache puedes guiarte en parte de este post hasta antes de la parte de instalación de Subversion.


Para instalar Tomcat primero necesitamos tener instalado el JDK de Java de Sun (si ya estas seguro que lo tienes, puedes saltarte estos pasos), por lo que ejecutamos el comando sudo apt-get install sun-java6-jdk, aceptamos su acuerdo y esperamos a que termine. Al final puedes confirmar que todo esta bien instalado con un "java -version" y un "javac -version", si ambos te indican la misma versión, entonces todo esta bien.

Tambien debemos crear la variable de entorno JAVA_HOME apuntando hacia /usr/lib/jvm/java-6-sun, agregándola al final del archivo /usr/profile:

sudo nano /usr/profile

(tambien puedes hacerlo al final del archivo ~/.bash_profile o también ~/.bashrc, dependiendo de cual encuentres en uso) la siguiente línea:

export JAVA_HOME=/usr/lib/jvm/java-6-sun ,

Ahora para actualizar nuestras variables de entorno debemos reiniciar nuestra sesión y listo, si escribes el comando "echo $JAVA_HOME" debería mostrarnos el path que le asignamos.

Todo listo para instalar Tomcat por lo que ejecutamos el siguiente comando:

sudo apt-get install tomcat6 libapache2-mod-jk libapache-mod-jk-doc apache2-threaded-dev

Otra alternativa es descargar el paquete .tar.gz desde el sitio oficial de Tomcat (en cuyo caso debieras seguir las instrucciones del sitio oficial)

Lo que toca ahora es activar el modulo jk mediante el comando:
/etc/apache2/mods-enabled#a2enmod jk


Por ùltimo debemos modificar el archivo /etc/libapache2-mod-jk/workers.properties, buscamos la linea workers.java_home=/usr/lib/kaffe y la sustituimos por workers.java_home=/usr/lib/jvm/java-6-sun; ademàs debemos fijarnos en los valores de las variables workers.tomcat_home, workers.java_home y ps (descomentarlos en caso que esten comentados)

El otro archivo a considerar es /etc/apache2/mods-enabled/jk.conf que es donde indicamos los puntos de montaje para cada worker especificado en el archivo workers.properties


Expandir/Contraer este Post