PHPUnit – Tests Unitarios en PHP

PHPUnit LogoEl otro día os hablaba de la importancia de usar test unitarios. Hoy os dejo un pequeño documento sobre PHPUnit, un framework para PHP que nos permite crear y ejecutar juegos de tests unitarios de manera sencilla, además de analizar por nosotros los resultados de los mismos.

Aunque inicialmente PHP empezó como complemento dinámico para pequeñas páginas web, actualmente PHP se utiliza para desarrollar aplicaciones web complejas, por lo que es importante poder realizar las pruebas pertinentes a nuestro código. Continue reading

Obtener coordenadas de Google Maps con JavaScript

Google Maps LatitudeEl otro día os dejaba un script para obtener las coordenadas de Google Maps a partir de un código postal y un pais. Esto es muy útil si queremos recoger estas coordenadas de manera masiva, por ejemplo, para cargar toda esta información en nuestra base de datos de poblaciones.

Hoy os dejo un pequeño truco para obtener las coordenadas en la propia web de google maps utilizando las funciones de su API, sin tener que mirar el código fuente o rebuscar por el enlace… Continue reading

Unit Test: La importancia de usar tests unitarios

Bug Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o función de nuestro código está funcionando según esperamos.

En definitiva, lo que Unit Test pretende es tener trozos de código que se encargarán de testear por separado y de forma independiente cada uno de los métodos de las distintas clases que compongan el programa desarrollado, para que cuando se haga alguna modificación en el código, posibles errores derivados de esa modifiación puedan ser identificados y corregidos de manera rápida y eficaz.

La idea general que se destila de los tests unitarios es que si todas las partes de un código funcionan por separado, lo más probable es que el global que componen también funcione. Obviamente, siempre será necesario realizar un testeo general (o pruebas de integración) de la aplicación para comprobar que el todo que hemos compuesto funciona correctamente.
Continue reading

Instalar Monit para monitorizar un servidor Apache, MySQL y OpenSSH

Monit LogoPara los que no esteis al caso, según su propia web, Monit es una utilidad gratuita de código abierto para la gestión y vigilancia de procesos, archivos, directorios y sistemas de ficheros en un sistema UNIX.

Configurado correctamente, Monit es capaz de realizar el mantenimiento y la reparación de los servicios, procesos… incluso ejecutar acciones programadas para situaciones de error.

Por poner un ejemplo, un uso común que se le suele dar es que vaya controlando si apache está funcionando correctamente, en caso de estar caido o saturado, Monit lo levantará automáticamente y nos enviará un mail informando del problema solventado.

Continue reading

Instalando Webmin en Ubuntu Hardy Heron

Webmin Logo

Para los que no esteis al día de que es Webmin, es una herramienta de configuración de sistemas accesible vía web para OpenSolaris, GNU/Linux y otros sistemas Unix. De una manera muy intiutiva, podemos configurar información de nuestro servidor remoto como por ejemplo, cuentas de usuarios, cuotas de espacio, Apache, MySQL, archivos de configuración, apagado del equipo…

En fin, he estado haciendo unas pruebas con Webmin para ver que tal se comporta y como es de cómodo. Aquí os dejo los pasos seguidos para instalarlo en una máquina con Ubuntu Hardy Heron Server Edition. Continue reading

WikiSearch – Google mejora su buscador

Logo Wiki GoogleRecientemente Google ha estrenado WikiSearch en España, dando de este modo un nuevo giro de tuerca a su producto más emblemático… el buscador. Básicamente nos ofrece dos nuevas funciones, una vez estamos logados como usuario (basta con haber entrado en gmail sin cerrar sesión):

1. Ordenar los resultados de búsqueda

2. Añadir comentarios a los resultados

Personalmente, creo que el tema de poder ordenar los resultados es algo francamente interesante por dos motivos; el primero y más evidente es que independientemente de la máquina donde estemos, por ejemplo en un cyber, podemos poner en las primeras filas de búsqueda aquella página que tanto nos costó encontrar y que tan útil nos resultaba.

El segundo motivo es que toda la comunidad de usuarios de Google jugará un papel importante a la hora de posicionar las webs, ya no dependiendo únicamente de criterios orientativos como número de enlaces desde páginas relevantes, o tiempo de permanencia en el site (tendencia que está ganando peso últimamente a la hora de posicionar una web), sino que los usuarios podremos “enseñarle” a Google que resultados consideramos relevantes o interesantes.

Detalle de búsqueda con Google WikiSearch

Detalle de búsqueda con Google WikiSearch

Continue reading

Enmascarar mails para evitar SPAM

Aquí os dejo una forma sencilla de enmascarar un mail en una web de manera que, por pantalla mostrará el texto, sin embargo, si miramos el código fuente (o lo que es lo mismo, un bot visita nuestra web en busca de direcciones de correo electrónico) no encontraremos este texto.

El “truco” está en transformar cada uno de los caracteres a unicode utilizando esta función que me he entretenido en programar: Continue reading

Importar archivos DBF a MySQL

Pues bien, otro post provocado por una necesidad del curro… esa necesidad me ha obligado a googlear un ratito y por último, he aquí el resultado.

La cosa está en que me han pasado unos archivos en formato dbf y para poder hacer el tratamiento necesario necesitaba poderlos importar a MySQL. La solucion está en dbf2mysql, programa que de una manera bastante sencilla se encarga de hacer la importación a la base de datos MySQL. Continue reading

Extraer lineas de un archivo

No se si os habreis encontrado nunca con la necesidad de extraer una pequeña parte de un fichero de uno de tamaño descomunal, pero en el día a día en mi trabajo suele pasarme, por ejemplo a la hora de extraer un xml de un log.

El caso está en que los editores gráficos se cuelgan al manejar tamaños de cientos de megas, y hacer según que tipo de cosas es incómodo con editores en modo consola como el vi. Continue reading