Archive for September, 2009

Implementando un sistema de caché en PHP

Publicado en Programación el 21 de September de 2009 por Manel Pérez Mata
Tags: , | (1 Comentario)

Hace unos días, os comentaba que es una caché y como entenderla en el marco de la programación web. Para seguir con el aprendizaje de este sistema, he desarrollado una pequeña clase que permite cachear información (strings, arrays, resultados de base de datos, objetos…) en nuestra máquina y descongestionar así el motor de base de datos, por poner un ejemplo.

Lo primero que debemos hacer es pensar en que necesitamos para su correcto funcionamiento, así que, manos a la obra.

Como sabemos, una caché es un sistema al que le pasamos un objeto X y él lo almacenará en su sistema de una manera determinada, por lo tanto, necesitaremos una función que dado un identificador único y unos datos, guardará la información. Además de esto, necesitamos indicarle un tiempo de vida (ttl) a esa información cacheada, sino estaremos devolviendo eternamente el valor almacenado. … Seguir Leyendo

Google compra ReCaptcha para impulsar Google Books

Publicado en Internet el 19 de September de 2009 por Manel Pérez Mata
Tags: | Añadir comentario

recaptcha-exampleGoogle vuelve a ser noticia, esta vez por la compra de la empresa ReCaptcha encargada de facilitar un sistema rápido y eficaz de captcha a webmasters para utilizar en sus proyectos web. Con esta adquisición, Google pretende acelerar el proceso de digitalización de libros para Google Books, proyecto en el que lleva trabajando varios años. … Seguir Leyendo

Test-Driven Development

Publicado en Programación el 17 de September de 2009 por Manel Pérez Mata
Tags: , | Añadir comentario

test-driven_development

Hace algún tiempo, os hablaba de la importancia de usar Unit Testing en nuestros desarrollos para tender localizados los posibles errores en cada una de nuestras funciones y, de ese modo, hacer un cambio en cualquier función no nos será crítico, ya que el test nos informará si la función está devolviendo los resultados esperados para cada cualquier.

Pero ¿y si al desarrollar el test me he dejado algún punto por comprobar? A menudo, tener una covertura del 100% resulta complicado debido al error humano, pero una vez detectado un error, debemos solventarlo y modificar el test para que no vuelva a darse ese error, y yendo un poco más allá, ¿por qué no pensar en los posibles errores que puede tener la función que desarrollemos antes de programarla? y ya que los hemos pensado, ¿por qué no realizar el test aunque todavía no hayamos desarrollado la función en questión? Pues precisamente, esa es la idea del Test-Driven Development (TDD a partir de ahora).

En resumen, podemos decir que el TDD es una práctica a la hora de programar que implica el desarrollo del test unitario antes de haber picado una sola línea del código de la función a testear… Pero, ¿qué ventajas tiene? ¿cuál es el workflow de esta práctica? … Seguir Leyendo

Qué es una Caché y como aplicarla a la programación Web

Publicado en Programación el 14 de September de 2009 por Manel Pérez Mata
Tags: , , , | (1 Comentario)

Vamos a ver que es una caché con un ejemplo muy ilustrativo que leí hace algún tiempo. Supongamos que estamos trabajando en una centralita que facilita números de teléfono de un pueblo relativamente pequeño; para ello, tenemos un listín telefónico común con todos los teléfonos del pais.

Cada vez que recibimos una llamada, cogemos el listín, realizamos la búsqueda y facilitamos el número encontrado al usuario. Al poco tiempo, nos damos cuenta que la gente suele pedir los teléfonos de los mismos restaurantes y comercios una y otra vez, así que cogemos una libreta pequeña y vamos anotando los números de teléfono que nos solicitan ordenados alfabéticamente para poder acceder a ellos de manera más rápida la próxima vez… felicidades, acabas de crear una caché! … Seguir Leyendo

PHP Barcelona Conference 2009

Publicado en Programación el 12 de September de 2009 por Manel Pérez Mata
Tags: , , | Añadir comentario

phpbarcelonaconference2009Después del éxito obtenido la pasada edición, el grupo PHPBarcelona ha vuelto a organizar una conferencia para este año. El lugar de encuentro será el CitiLab de Cornellà los días 30 y 31 de Octubre.

Ya se ha abierto la venta anticipada de entradas a un precio increiblemente bajo: 25€ un día y 40€ los dos. Puedes adquirir las entradas desde la web oficial.

Según anuncian: “Este año el evento viene cargado de muchas e interesantes novedades: dos días de duración (Viernes y Sábado), distintas actividades entremezcladas (ponencias teóricas, talleres prácticos, concursos de programación, etc.), dos líneas de idioma (español e inglés), nuevos y potentes patrocinadores, más celebridades invitadas, divertidos regalos y mucho más!”

Realmente este año los chicos de PHPBarcelona se han puesto las pilas, pues en el cartel de charlas aparecen nombres tan importantes como Rasmus Lerdorf (Uno de los creadores de PHP), Fabien Potencier (Lead Developer de Symfony), Derick Rethans (XDebug) y Sebastian Bergmann (Creador de PHPUnit).

Consideraciones de velocidad con LIMIT

Publicado en Bases de datos el 11 de September de 2009 por Manel Pérez Mata
Tags: , | Añadir comentario

Un compañero de trabajo que es un crack en temas de optimización de bases de datos me ha pasado la siguiente información. Cuando hacemos una consulta con un LIMIT x, y sobre una tabla con millones de registros, a medida que x aumenta, la consulta se va haciendo cada vez más lenta. Veamos un ejemplo:

SELECT version FROM car LIMIT 300,100; (100 results, 0.01 sec)

SELECT version FROM car LIMIT 3000000,100; (100 results, 2.5 sec)

Si además agregamos un par de JOINS a esta consulta, la complicamos un poco y le añadimos un ORDER BY, los problemas de rendimiento pueden llegar a causar un colapso en la base de datos. … Seguir Leyendo

Diseñando una aplicación

Publicado en Programación el 10 de September de 2009 por Manel Pérez Mata
Tags: , | (1 Comentario)

Veo en el blog Distro-Geek una viñeta que define a la perfección el modus operandi de muchas empresas a la hora de diseñar una aplicación… lamentablemente, esto pasa más frecuentemente de lo recetado por el médico.

Diseñando una aplicación

Super Mario creado en JavaScript

Publicado en Programación el 7 de September de 2009 por Manel Pérez Mata
Tags: | Añadir comentario

Alguien con mucho tiempo libre (probablemente sea estudiante o esté parao), se ha entretenido en montar un Super Mario programado integramente en JavaScript y lo mejor es que el código apenas pesa 14Kb.

La verdad es que no me he parado a mirar el código, sin embargo, tal currada es digna de mención. Os dejo screenshot del juego, y enlaces al artículo y al juego para que veais, juzgueis y en caso de estar aburridos, estudieis el código ;)

super_mario

Artículo: Play Super Mario Bros in 14kB Javascript
Juega aquí

Google Charts API para generar gráficas en tu web

Publicado en Internet el 4 de September de 2009 por Manel Pérez Mata
Tags: , , | Añadir comentario

Charts generados con GoogleSi quieres montar unas estadísticas profesionales en tu web de manera rápida y sencilla (y lo que es mejor, gratis!), podemos abusar una vez más de nuestro gran amigo Google, pues a liberado una API mediante la qual podemos generar estadísticas sin recurrir a grandes conocimientos técnicos.

Para mostrar una gráfica en nuestro site, únicamente debemos hacer una llamada a una URL (construida siguiendo unas directrices) en el src de un tag image.

Google pone a nuestra disposición una gran cantidad de tipos de gráficas para que se adapte perfectamente a nuestras necesidades: lineales, barras, circulares, diagr de Venn, gráficas de punto e incluso mapas. … Seguir Leyendo