Memorias de un desarrollador

Comparando el rendimiento de file_get_contents, curl, guzzle y buzz

Para un proyecto que vamos a comenzar dentro de la compañía, y para el cual el rendimiento es muy importante, hemos realizado una comparación entre diferentes clientes que pueden realizar una petición http.

Nuestra idea original era usar guzzle, pero como digo, el rendimiento es importante, por lo que antes de usarlo, decidimos realizar algunos test de rendimiento.

Las pruebas están realizadas contra un servidor local, el código para las pruebas es similar a este.

El script realizará 10,000 peticiones con cada uno de los métodos, sucesivamente, repitiendo la operación 5 veces, es decir 10,000 * 5 * 5 = 250,000 peticiones.

Mi fichero de configuración de nginx (compatible con ImagineBundle)

Hace unos días salio esté artículo en el que se detalla una configuración de nginx, compatible con ImagineBundle. Precisamente hace un par de semanas que también active ImagineBundle para este y otrossitios que tengo, asi que creo que puede ser interesante tambien compartir como lo resolví yo, además de detallar, el resto de la configuración.

Advanced Php Programming de George Schlossnagle

Este libro cubre diversos temas de desarrollo avanzado con PHP5. Concretamente yo sólo he leido el bloque V, que trata sobre "Extensibility", es decir sobre como crear extensiones para PHP.

Assetic Cache Busting o como generar paths únicos para los assets con assetic

Un problema que puede dar lugar el uso de assetic es invalidar la cache, es decir que los recursos que se generaron en un deploy y que en mi caso están cacheados tanto en el cliente ( http cache ) como en el servidor ( varnish ) y ahora es necesario que el navegador use las nuevas versiones.

La solución es sencilla cambiar los nombres de dichos recursos.

El sistema de afiliación de amazon ... un fiasco

Durante una semana, he probado a utilizar un 50% de la publicidad de amazon y un 50% de adsense.

No se puede decir que ninguno de ellos vaya a quitarme de trabajar, pero el resultado, han sido unos 6E por adsense vs 0E por amazon.

Amazon ofrece comisiones sobre las ventas de productos, entre un 4 y un 10% dependiendo del producto. En el caso concreto de los banner genéricos que yo estaba usando, para que yo cobre la comisión ...

Jugando con marketing de afiliación de amazón.

Durante los últimos 6-8 meses he estado trabajando en planetubuntu.es.

He tenido la suerte de poder experimentar con algunas cosas, con las que no es sencillo experimentar, si no tienes un sitio web con un tráfico medio/alto.

Aún queda bastante trabajo por hacer, varios bug detectados y muchas mejoras, en total tengo 28 issues pendientes, algunas de las cuales, requieren de bastante trabajo.

Mi idea, era que cuando el sitio estuviera más o menos estable,  algún proveedor de hosting se hiciera cargo de los costes del servidor, pero tras algunos intentos de contactar con alguno, ha sido totalmente infructuoso.

Mi fichero de configuración de varnish

Configurar Varnish, no es una tarea sencilla, en mi caso, fueron un monton de conceptos nuevos, y un montón de ejemplos, algunos de los cuales no funcionaban del todo, por lo que quiero publicar mi versión, para quien le pueda servir, y por si alguien quiere dejar alguna sugerencia.

A continuación el detalle de mi fichero de configuración de varnish, tened en cuenta, de que estoy utilizando la versión 3.0.x

Desarrollo de extensiones PHP en c/c++

Mi presentación en el Codemotion Madrid en Octubre de 2013.

Monolog

Mi presentación en el unconference de deSymfony en Junio 2013.

Introducción a HTTP Cache

HTTP Cache es un conjunto de reglas de HTTP que te permiten indicar cuanto tiempo será válido un recurso, o si este no ha sido modificado desde la última solicitud, de esta forma podemos optimizar los tiempos de carga de nuestras aplicaciones web y reducir la carga de nuestros servidores.