Entradas en la categoría “Tips”

Plugin de Gimp Save for Web para Ubuntu

15 de noviembre, 2011 - por | | Open Source, Tips

Me gustaría explicar cómo instalar el plugin de Gimp 2.6, Save for Web, para Ubuntu 11.04. Creo que es una de las opciones más útiles de Gimp de cara a la optimización de las imágenes si trabajas para la web. Y es tan fácil como ésto.

Abres la consola y escribes la siguiente orden:

sudo aptitude install gimp-plugin-registry

Una vez que se ha instalado el paquete completo, haces un Exit para salir de la consola, abres el Gimp y voilà. Ya tienes la opción disponible en el menú de Archivo.

Espero que os sirva, :)

Tar: excluir ficheros cuando haces un tar

2 de septiembre, 2011 - por | | Linux, Tips

En bastantes ocasiones me he encontrado con la necesidad de empaquetar código pero excluyendo ciertos ficheros/directorios. Cuando se trata de una exclusión pequeña, con unos pocos ficheros, hago lo siguiente.


$ tar -zcf backup.tar.gz --exclude='fichero1' /home/imedina/code

Cuando se trata de un número mayor, es más cómodo crear un fichero con un listado de todos aquellos ficheros que quieres excluir.


# exclude.txt
fichero1
fichero2
*.jpg

Luego, haces el tar de la siguiente forma.


$ tar -zcf backup.tar.gz -X exclude.txt /home/imedina/code

Es importante recordar que lo que hemos hecho con ficheros, lo puedes hacer igualmente con directorios (puesto que no dejan de ser ficheros).

Git: ver el log, buscar en el log

23 de agosto, 2011 - por | | Desarrollo, Tips

Una buena búsqueda te puede ayudar mucho. También a sobrevivir.

Cuando llevas un tiempo trabajando en un repositorio con Git, empiezas a tener la necesidad de revisar el log de lo que ha ido pasando. Algunas de las acciones más típicas con las que te vas a encontrar, son las siguientes.

Ver lo que ha cambiado en cada commit


git log -p

Ver los ficheros que han cambiado en cada commit


git log --stat

Ver el listado de todos los commits con sus ramas


git log --pretty=oneline --abbrev-commit --graph --decorate

Ésto te devuelve un listado de los commits con sus títulos abreviados, en una sola línea y con una representación jerárquica de sus ramas. Puedes verlo en la siguiente captura de uno de nuestros proyectos:

Buscar palabras que aparecen en el título del commit


git log --grep="tu búsqueda"

Buscar cuándo algo fue añadido o eliminado


git log -S "tu búsqueda"

Página de mantenimiento con nginx

11 de agosto, 2011 - por | | Sistemas, Tips

En varios de nuestros proyectos utilizamos nginx como servidor HTTP. A veces solo, y otras como proxy de Apache sirviendo únicamente contenidos estáticos (mira este otro post para ver las ventajas de hacer ésto).

En cualquier sitio web te ves obligado en algún momento a poner el sitio offline: por tareas de mantenimiento de sistemas, por nuevas versiones del código, por cambios en la infraestructura, etc. Puesto que debes informar siempre al usuario de lo que pasa en tu sitio, debes tener preparada para todas esas ocasiones una página que indique que el servicio no está disponible.

En nginx eso se consigue colocando en el fichero de configuración lo siguiente:


server {
        error_page 503 @maintenance;
        location @maintenance {
                rewrite ^(.*)$ /503.html break;
        }
}

El nombre del fichero puede ser cualquiera que tú elijas. Lo que hace nginx es que siempre que existe ese fichero (en el $document_root), redirige cualquier petición que le llega a esa página. Y lo hace, además, devolviendo un código de estado 503. Puedes comprobar ésto en el Header de la página con cualquier herramienta popular tipo Firebug (documentación en inglés).

Actualizar WordPress por SSH

10 de agosto, 2011 - por | | Sistemas, Tips

Tenemos que ir más allá de nuestros límites corporales para conseguir muchas cosas.

WordPress incluye desde hace tiempo la posibilidad de actualizar directamente desde el admin tanto el core, como los plugins y los temas. Es decir, los 3 componentes principales. Para nosotros, que manejamos múltiples WordPress, es la forma más cómoda de mantenerlos actualizados.

La lástima es que la interfaz del admin sólo menciona la posibilidad de hacerlo por FTP, cuando en realidad también existe la alternativa de hacerlo por SSH. Lo único que hace falta es que tengas instalada y funcionando en tu servidor la extensión SSH2 para PHP; una vez la tienes corriendo, verás cómo WordPress te enseña en la misma pantalla de actualización la posibilidad de hacerlo por SSH.

Si te mueves en Linux, en la mayoría de las distribuciones recientes instalar la extensión SSH2 para PHP es muy fácil: no te exige compilar nada, como hace unos años. Por ejemplo, para Debian/Ubuntu este post de Kevin van Zonneveld te lo resuelve todo (en inglés).

Ahora bien, si te mueves en CentOS, y te has animado a probar PHP 5.3 sobre esa plataforma, la cosa desgraciadamente se complica un poco. Si estás interesado en ésto, te lo explicamos en este otro post.

Utilizar InnoDB en Django

8 de agosto, 2011 - por | | Desarrollo, Tips

Si estás empezando a trabajar con Django y vas a utilizar MySQL, te conviene pararte un momento a mirar si estás utilizando el tipo de almacenamiento que realmente quieres.

Al generar los esquemas, Django no especifica ningún tipo de almacenamiento; sencillamente los genera con el que está establecido en tu servidor de MySQL. Así que si aún no has generado ningún esquema, revisa tu configuración de MySQL. Todas las versiones previas a la 5.5 hacían de MyISAM el almacenamiento por defecto.

La configuración del tipo de almacenamiento la puedes hacer directamente en MySQL, o especificarla en los settings de tu conexión a la base de datos en Django utilizando la opción “init_command”. Por ejemplo, del siguiente modo para establecer InnoDB como el tipo almacenamiento por defecto.


'OPTIONS': {
   'init_command': 'SET storage_engine=INNODB',
}

Si ya cuentas con algunas tablas, y te encuentras con que están con un tipo de almacenamiento distinto al que tu pensabas, te va a tocar modificar las tablas en la forma habitual:


ALTER TABLE tablename ENGINE=INNODB;