lunes, 27 de enero de 2014

Charset UTF-8 para Debian Wheezy, Apache2 , PHP5 y MySQL

 
 
 
Apache 2
vim /etc/apache2/conf.d/charset
AddDefaultCharset UTF-8 
 
MySQL 
 
$ vim /etc/mysql/conf.d/character.cnf
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
character-set-server = utf8
collation-server= utf8_general_ci
init_connect = ‘SET collation_connection = utf8_general_ci’
init_connect = ‘SET NAMES utf8′
[mysqldump]
default-character-set = utf8
[mysqlimport]
default-character-set = utf8
[mysql]
default-character-set = utf8
 
PHP5 
$ vim /etc/php5/apache2/conf.d/charset.ini
[PHP]
default_charset = "utf-8"
[mbstring]
mbstring.language = utf-8
mbstring.internal_encoding = utf-8
mbstring.http_input = utf-8
mbstring.http_output = utf-8 

Debian 
$ dpkg-reconfigure locales

sábado, 25 de enero de 2014

Obradoiro Git en Vigo - Sabádos Libres en Altamar

Git mola, así que si mis amiguetes de GALPon organizan un taller de Git en Vigo, poco más tengo que pensar: vaaaaamos!

En esta ocasión mi compañero de viaje fue Rafael Gaioso (@rrgaioso) , al que además de agradecer su compañía, tengo que agradecer que fuese mi chófer. Pero vamos al grano.

Llegamos alrededor de las 10:15 de la mañana, y tras unos problemas inciales relacionados con el proyector comenzó el "taller" impartido por Jesús Amieiro (@jesusamieiro).

Lo primero que llamó la atención fue la preparación del taller por parte de Jesús. Se nota mucho en este tipo de eventos, cuando el ponente prepara las charlas, ejercicios y ejemplos; y este caso no es una excepción. "Mola" mucho que el ponente distribuya ya los contenidos y los difunda nada más comenzar. La URL de referencia fue:

http://www.jesusamieiro.com/taller-de-introduccion-a-git/

Os recomiendo descargar el PDF de la presentación, nada más y nada menos que 76 hojas! #OMG

Para ser sincero he pasado algún tiempo de la jornada trabajando(y giteando :P ) en un módulo de Drupal que "me tiene loco", pero aún así, mi opinión del taller es muy buena. Breve resumen de "lo bueno" del taller:
  • Los conocimientos del ponente. Usa Git y eso se nota a leguas.
  • La documentación y las referencias.
  • 100% consola con ejemplos constantes "en vivo" proyectados.
  • Los asistentes: consultando continuamente e interactuando a buen ritmo.

[ Jesus Amieiro trabajando con GIT ]

Lo malo del taller:
  • No he encontrado nada malo, en serio. Lo único que podría citar es que al ser un tema tan denso, el espacio entre las sesiones(la próxima es en Marzo), podría ser menor.
 De GALPon y la organización poco más tengo que decir que lo que imagináis: la conexión wifi(teníamos 3 AP a nuestra disposición), a pesar de no ser una T1, funcionó realmente bien, el espacio confortable a pesar de no ser muy grande...

Comentar que en la comida en Xantares Enxebres lo pasamos(eso creo) de cine: risas y frikadas del tipo "eso se compila en una GPU con CUDA..." y....cerveza!!!!

 Así que Miguel, Isaac, Carlos, Guillermo,Jesús y demás GitTroopers : enhorabuena, en Marzo regreso sin duda.





jueves, 16 de enero de 2014

Profiling Drupal 7 con XHProf y Apache2


¿Problemas de rendimiento en Drupal?¿Qué sucede y dónde sucede? Para responder a la segunda pregunta existen las herramientas de "profiling", que nos ayudarán a identificar las funciones que más recursos están consumiendo, el número de llamadas a cada función e infinidad de información a mayores. Si desarrollas con Drupal no puedes prescindir de XHProf.

XHProf es una extensión PECL desarrollada por el equipo de ingeniería de Facebook como alternativa a XDebug que sirve para hacer profiling de aplicaciones PHP.

Su instalación en un entorno Linux + Drupal es muy sencilla.

Instalamos la extensión vía PECL

    pear channel-update pear.php.net
    sudo apt-get install php5-common graphviz
    sudo pecl config-set preferred_state beta
    sudo pecl install xhprof

Creamos el directorio temporal para almacenar los datos. En mi caso :


mkdir /var/tmp/xhprof
chmod 777 /var/tmp/xhprof

Habilitamos la extensión creando el fichero /etc/php5/apache2/conf.d/xhprof.ini con el contenido

[xhprof]
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof.conf"

Creamos un "alias" para construir la url de acceso al output de XHProf.

alias /xhprof_html "/usr/share/php/xhprof_html"

Reiniciamos Apache2

apache2ctl -t
service apache2 restart

La integración con Drupal es muy sencilla y se puede realizar directamente desde Drush seguiendo estos pasos:

drush dl devel
drush en devel
drush vset devel_xhprof_enabled 1
drush vset devel_xhprof_directory "/usr/share/php"
drush vset devel_xhprof_url "/xprof_html"

Si pedimos en nuestro navegador la url http://tu.sitio.local/xhprof_html obtendremos todos los datos del profiling.



Bonus: