Desde hace un buen tiempo que el mundo de PHP en general se está profesionalizando a un ritmo inigualable. Después de la creación de composer y PHPFIG es que todo cambió para bien y de esta forma se están creando y adaptando estándares que prometen hacer todo mejor.

Uno de estos estándares es el tema de este post y tiene que ver con Semantic Versioning, o semver para hacerlo más corto. El objetivo es bastante simple: nos permite saber rápidamente si cuando nos toca actualizar alguna parte de un package podemos hacerlo de forma segura o no, sin tener que preocuparnos de posibles problemas de retrocompatibilidad que pudieran surgir.

La idea detrás de esto suena bastante bien y la verdad es que después de haberlo probado en algunos sistemas de producción; funciona. En muy resumidas cuentas, podemos ver que una versión tendrá siempre 3 componentes:
X.Y.Z

Y qué significan cada uno de ellos? Pues eso también es bastante simple:

X representa la versión mayor.
Y representa la versión menor.
Z representa la versión de parches.

Que quede una cosa clara desde el principio! Yo no soy un fan de compilar software! Encuentro que hoy en día, compilar ya es cosa del pasado, a menos que quieras probar software que todavía no está listo para funcionar en producción. Como tal, quise probar qué tal andaba PHP7 con el código de la empresa, a raíz de las tantas maravillas que se ha dejado entrever de esta nueva versión.

Algunas de estas maravillas son que incluyeron PHPNG (PHP Next Generation), que mejora el uso de recursos (su aplicación ocupará MUCHO menos RAM), y ahora también se activó un JIT Engine (que aceleraría las llamadas recurrentes a funciones y métodos). Entre esas dos mejoras, deberían ver un incremento de velocidad del orden de 25% a 150% comparado con PHP 5.6, dependiendo del caso obviamente.

Esto quiere decir básicamente que en una instalación default de WordPress, la cantidad de instrucciones de CPU se redujeron de 9.413.106.833 a 2.483.106.468 y que el tiempo que ocupa generar 1000 veces el homepage se redujo de 26.756 segundos a 11.081 segundos (Como pueden verificar acá). En ambos casos, es un incremento de velocidad importante y está casi a la par (y actualmente en muchos casos aún más rápido) que HHVM de Facebook.

Este post fue originalmente publicado en capa9.net. Este post sirve como una copia de respaldo para futura referencia personal.

Hola estimada comunidad!

Tanto tiempo que no escribía para un sitio que no fuera mi cof cof blog.unreal4u.com cof blog cof ! Pero como todo en la vida, ya era hora que me dedicara a escribir un par de líneas, contribuyendo de esa forma con mi granito de arena a la comunidad Open-Source, y por supuesto celebrando el nuevo capa9.net (junto con todos los viejos estandartes)!

El tema de hoy será composer, y cómo esta aplicación ha cambiado por siempre el cómo se escribe código PHP, dando una madurez increíble al eco-sistema donde por primera vez ya nos podemos dedicar a escribir código profesional, modular y sobretodo, simple. Sí, lo leyeron bien: SIMPLE.

Después de años de haber ocupado WordPress para alojar mi blog, decidí que era hora de un cambio radical y fue así como di con Jekyll, que vendría siendo una plataforma simple para servir el contenido del blog. Tiene algunos puntos en contra así como algunos puntos a favor, y estos últimos pesaron más y así fue como se dio que decidí implementarlo.

El principal punto a favor es que no tendré que lidiar con actualizaciones, moderaciones y todos esos temas anexos a WordPress. Estaba corriendo WordPress 3.2.1, que salió el 4 de Julio del 2011: fueron 3 años y medio en que simplemente no me dio el tiempo para verificar que todos los plugins que tenía habilitados siguieran funcionando como deben con una nueva versión. Estaba tan cansado del spam que simplemente decidí cerrar absolutamente la posibilidad de mandar correo desde WordPress mismo.

En fin, eso ya quedó en el pasado y ahora sólo existe Jekyll, que espero me acompañe por los años que vendrán. Prometo que haré una serie de posts acerca de Jekyll y sus ventajas, así como tutoriales para que ustedes mismos, mis fieles lectores, puedan montarlo en sus propias implementaciones.

Hasta la próxima!

Lo único que tenemos que hacer es hacer la instalación mínima, y una vez instalado ejecutar los siguientes comandos como root:

yum groupinstall "X Window System"
yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
unlink /etc/systemd/system/default.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
reboot

Fuente

Desde hace algún tiempo que me vengo corriendo de no tener que instalar gettext en Mac OS, ya que implica hacer algunos cambios en código fuente, pero hoy ya no lo pude postergar más: composer se quejaba de que necesitaba una dependencia, de lo contrario no instalaba el software que necesitaba. Manos a la obra entonces, aquí una guía rápida de cómo instalar gettext para PHP en Mac OS X Mavericks.

Aunque yo no he sacado la última certificación todavía, si he estado leyendo acerca de cuáles son los requerimientos y nada mejor para eso que referirse a Lorna Jane, la cual conocí durante algunas charlas y es toda una eminencia en el mundo de PHP. Ya ha publicado libros y yo mismo me había colgado varias veces de su blog para proyectos en los cuales había trabajado. Además hace charlas bastante dinámicas y entretenidas, así que si tienen la oportunidad de ir a verla a alguna charla, no se lo pierdan!

Cabe la casualidad que ella también enseña para la certificación y como tal, fue una de las primeras personas en sacar esta nueva versión. Para el gusto de nosotros, creó un compilado de varios documentos que nos pueden resultar útiles a la hora de estudiar para esta nueva versión. Lo que sí, tiene un costo de US$25, pero vale la pena ya que son 70 preguntas de ejemplo.

Pasen a dar una vuelta por su blog y vean además las demás guías que ella recomienda, hay algunos links muy buenos.

http://www.lornajane.net/posts/2014/zend-certified-php-developer-5-5

Por lo demás, hace algún tiempo también hablé de la certificación en mi propio blog, pero eso es para la versión 5.3, la cual pueden ver haciendo click en este pedazo de texto.

Tal como prometí en uno de los primeros posts del año, ha llegado la hora de cumplir con mi mandamiento y este es el segundo post en la serie de posts que seguirán al respecto de la internacionalización y localización de su sitio.

En esta entrega, explicaré a grandes rasgos cómo capturar la locale de un usuario, con algunos métodos de fallback si es necesario.

Lo primero que les contaré, es que gran parte de la información de un usuario ya la manda el navegador: un usuario que habla español es muy probable que ocupe un navegador en español, como también un usuario de habla holandesa ocupará un navegador en holandés.

El año pasado (2013 ya!) di una conferencia acerca de las cosas que hay que tomar en cuenta con la internacionalización y la localización. De tal forma como presenté en esa charla, también expondré algunos de los puntos más importantes en mi blog, de forma que quede accesible para todo el mundo.

Lo primero que hay que tomar en cuenta es la diferenciación entre localización e internacionalización. Estos dos términos suelen confundirse fácilmente, cuando tienen una diferencia fundamental entre ellas, así que con esto ya sabrán cómo entretener a sus mamás/esposas/pololas demostrando su vasto conocimiento en cosas que nada les interesa.

La localización es la traducción propiamente tal de cadenas de textos y otros ajustes que tienen que ver con las costumbres y reglas de un cierto lugar. La internacionalización en cambio se refiere al hecho de preparar la aplicación (hacerlo compatible) para que pueda ser localizado. De esta manera, podemos decir que internacionalizamos nuestra aplicación para que pueda ser localizado.

Si bien es cierto he estado desaparecido por bastante tiempo, no me he olvidado de mi blog querido y he hecho hartas mejoras: de partida me cambiaré a otro host, ya cambié el DNS (de GoDaddy a NameCheap), y estoy trabajando en un nuevo diseño del blog mismo que se enfocará un poco más en entregar respuesta de forma más rápida.

Por el momento, sólo me queda desearles a todos un feliz año nuevo!

u
n
r
e
a
l
4
u
.
c
o
m

Camilo Sperberg es Ingeniero Informático especializado en Linux y PHP. Éste es su blog oficial y aquí podrá leer mucha más información acerca de temáticas variadas en el bajo mundillo de la informática relacionada con esos tópicos

Because my reality... is just your virtuality

Camilo Sperberg

Debido a la gran cantidad de guiños y referencias relacionadas con el mundo informático, esta sección permanecerá siempre incompleta, al menos hasta que se complete

Futurama fan page

Oh, i'm very confortable with my sexuality, i just don't want to be slapped in the face with THEIR sexuality

Roy Trenneman en The IT Crowd S02E01