El camino

kaizen

Hoy hace un mes que cambié de vida. O mejor dicho, que emprendí un nuevo camino. Bueno, realmente todo empezó algunas semanas antes, pero quizá el paso más evidente en este camino ha sido la vuelta a casa.

Durante los últimos dos años escuché mil veces “vuelve a casa, estarás mejor”, pero me resistía. Siempre pensé que yo solo sería capaz de hacer que todo mejorase, que en el fondo no me iba tan mal, y que yo solo podía con todo.

Pero en los últimos dos meses, una serie de cambios a mi alrededor unidos al cambio de mentalidad que experimenté, me hicieron verlo todo claro. Supongo que quien encendió la chispa del cambio fue Jero, el gran Jerónimo Palacios, a quien le agradeceré eternamente que me guiase y me acompañara en los primeros pasos del camino hacia el cambio. Gracias amigo.
También mi querido “Peter Pan” decidió cambiar de rumbo y volar hacia el puente de Triana, en busca de nuevos retos profesionales. Casi tres años compartiendo piso con un tipo increíble han sido una experiencia inolvidable. Nos quedábamos la gatita y yo pensando si buscar a alguien para el piso, o mudarnos con alguien para ver qué tal.
En el plano laboral el asunto lejos de mejorar, empeoraba. Cada dia me desilusionaba más. Tras unos cuantos contactos prometedores y mucha verborrea, al final me di cuenta de que cada uno tira para donde más le interesa. Siempre he sido un poco iluso, la verdad.

Necesitaba cambiar, ponerme a hacer cosas de verdad, empezar proyectos nuevos y recuperar la ilusión, y ví claro que volver a Almería y retomar la universidad era lo que necesitaba. Me costó tomar la decisión, y a pesar de haberme dejado cosas por el camino, de echar de menos Granada y a un montón de gente increíble, no me voy a arrepentir de haberlo hecho. Incluso creo que me arrepentiré de no haberlo hecho antes.

Ahora vuelvo a ser universitario, hago deporte todos los días, soy una persona más tranquila y disfruto más de mis amigos, de mi familia y de los pequeños placeres de la vida. Todo se resume en lo que los japoneses llaman “kaizen“, se traduce como “mejora continua” y básicamente consiste en recordar que siempre es posible hacer mejor las cosas.

Pronto volveré a la carga con los posts técnicos, que ya tengo ganas. Sólo necesitaba sacar fuera todo esto.

Y para terminar, una cita de Gandhi:

“Cuida tus pensamientos porque se volverán palabras.
Cuida tus palabras porque se transformarán en actos.
Cuida tus actos porque se harán costumbre.
Cuida tus costumbres porque forjarán tu carácter.
Cuida tu carácter porque formará tu destino.
y tu destino, será tu vida.”

 

 

De nuevo, sed felices.

Personal
5 comentarios

#nolesvotes

#nolesvotes

No merecen tu voto aquellos se mueven por sus propios intereses. Infórmate bien antes de depositar tu papeleta.

Personal
0 comentarios

Sigo por aquí…

…aunque parezca que no estoy, es sólo un breve silencio. Programo menos, leo más, busco respuestas y maduro a golpes.

 

Sed felices.

Personal
0 comentarios

Copias de seguridad de MySQL sin phpMyAdmin

Como humildes desarrolladores web sabemos que la mayoría de los proyectos web que usan php corren en entornos LAMP utilizando MySQL como base de datos, aunque sabemos también que hay muchos otros sistemas como PostgreSQL, Oracle o incluso soluciones noSQL. Igualmente en muchos servidores de alojamiento y paquetes para desarrollo local (WAMP, XAMPP en Windows) se instala phpMyAdmin para gestionar de manera gráfica nuestras bases de datos MySQL, algo que ha provocado que muchos nos olvidemos de gestionar la base de datos mediante la línea de comandos, otros incluso jamás lo habrán intentado.

Hacer una copia de seguridad de las bases de datos es algo vital para evitar desastres, y necesario cuando tenemos que migrar desarrollos de un servidor a otro, ya sea desde nuestro entorno local hacia internet o cuando un proyecto cambia de hosting.

¿Y qué pasa cuando no disponemos de phpMyAdmin o queremos automatizar el proceso? Es entonces cuando esta micro-guía resulta útil.

Motores de MySQL

En primer lugar es recomendable saber que MySQL dispone de varios motores de almacenamiento, los más conocidos son MyISAM, InnoDB y HEAP. Lo más común es dejar MyISAM, tal y como viene configurado por defecto.

Conviene saber que cuando queramos aplicar restricciones de claves foráneas a nivel de base de datos y no de aplicación, debemos usar InnoDB en lugar de MyISAM porque éste no las soporta, al igual que las transacciones.

MySQL en nuestro disco

Es importante también conocer cómo almacena físicamente MySQL nuestros datos. En entornos unix MySQL se instala normalmente en

/var/lib/mysql/

aunque podemos preguntarle por el directorio de datos directamente al intérprete con

SHOW VARIABLES LIKE 'datadir';

En esta ruta encontraremos una carpeta para cada base de datos que hayamos creado,  y para cada tabla hay tres archivos:  nombre_tabla.frm (formato), nombre_tabla.myd (datos) y nombre_tabla.myi (índices).

Dicho esto, toca hacer las copias de seguridad. Hay muchas formas, aquí vamos a comentar solo dos. Copiando los archivos directamente o mediante la herramienta mysqldump.

Copias de seguridad directas (a-pelo-method)

Si queremos usar el método de copia directa, primero debemos parar MySQL para desbloquear los archivos, usando (en Ubuntu)

sudo /etc/init.d/mysql stop

o desde dentro del intérprete

mysqladmin -u usuario -p shutdown;

Hecho esto, podemos copiar los ficheros de muchas formas, mostramos tres:

1) Mandándolo todo en un zip al escritorio

sudo zip -r /home/usuario/Desktop/mysql-backup.zip /var/lib/mysql/

2) Usando rsync (útil para lanzar desde un script):

sudo rsync -r /var/lib/mysql/ /tmp/mysql-backup

3) Copiando simplemente los archivos a otro directorio:

sudo cp -r /var/lib/mysql /tmp/mysql-backup

Una vez completada la copia, hay que asegurarse de que el propietario de los archivos sigue siendo el usuario mysql

sudo chown -R mysql.mysql /var/lib/mysql/

y ya podemos reiniciar el servidor MySQL

sudo chown -R mysql.mysql /var/lib/mysql/

Exportando e importando con mysqldump

Esta herramienta, a diferencia del método anterior, genera archivos que no contienen los datos directamente sino las instrucciones SQL que replican la estructura y contenido de nuestras bases de datos.

1) Si queremos hacer una copia de seguridad completa, usaremos

mysqldump -u urusario -p --all-databases > backup.sql

Esto nos generará un archivo backup.sql en la carpeta de mysqldump.

2) Exportar sólo una base de datos

mysqldump -u usuario -p base_de_datos > base_de_datos.sql

3) Exportar sólo algunas tablas

mysqldump -u usuario -p base_de_datos tabla1 tabla2 > tabla1_y_tabla2.sql

4)Restaurando la copia

mysqldump -u usuario -p base_de_datos tabla1 tabla2 > tabla1_y_tabla2.sql

Más información

Podemos encontrar esta información y mucha más en la guía de administración de MySQL escrita por Alejandro Castán.

Bases de datos
,
2 comentarios

Artesanía de software: “Estamos hartos de escribir mierda”

Hace un par de días nuestro admirado Robert Martin (aka. UncleBob) publicó un post en su blog, sobre desarrollo ágil y de qué va eso de la “artesanía del software” o software craftsmanship, y @magmax9 y @jmbeas han tenido el detalle de traducirlo. No os lo perdáis:

http://magmax.org/drupal/craftmanship

Programación
,
0 comentarios