Guias y manuales
Monta tu servidor ssh rápidamente
por Maxpowel el jun.21, 2010
Buenas!
No es un espejismo no, estoy escribiendo algo en el blog! Bromas a parte, en post donde comento cómo usar clonezilla una persona pidió un manual de cómo montar un servidor ssh. Es tan sumamente sencillo que me daría rabia si esa persona no es capaz de automatizar todo el sistema de clonado de imágenes por algo tan nimio como es el preparar el servidor ssh.
Comienzo explicando los conceptos básicos sobre ssh en Linux.
(continuar leyendo…)
Oh no! bad geometry: block count exceeds size of device
por Maxpowel el nov.29, 2009
A quien no le ha salido este error?? Nadie?? Bueno, a alguien seguro que sí. La verdad es que es un error muy chungo que te puede hacer perder toda una partición a pesar de saber que los datos están intactos.
Primero, ¿Qué quiere decir este fallo? Pues básicamente que la partición dice que tiene un tamaño superior del que realmente tiene y en cuando intentamos montar esa partición linux detecta un problema y dice “soo, que aquí algo no cuadra”.
Bueno, más concretamente dice
mount: wrong fs type, bad option, bad superblock on /dev/sda5,
missing codepage or helper program, or other error
In some cases useful info is found in syslog – try
dmesg | tail or so
Conoce SQL – Lenguaje procedimental 4 – Triggers
por Maxpowel el may.12, 2009
También llamados disparadores, lo que hace un trigger es estar alerta hasta que sucede algo y saltan. Por ejemplo un foreign key se podría interpretar como un trigger que comprueba que existe un valor en otra tabla cada vez que insertarmos o actualizamos un dato de una tabla. O un UNIQUE podría ser un trigger que antes de insertar comprueba que no está ya insertado uno igual.
Básicamente un trigger está a la escucha de una tabla esperando que se haga un insert, update o delete sobre ella y actuar de una determinada manera. Usos que se le puede dar por ejemplo es para crear logs. Cada vez que un usuario inserte un comentario se añade a otra tabla “El usuario tal a insertado la foto cual” o cada vez que se modifique un perfil por ejemplo. También para validación avanzada de datos. Cuando se ejecuta un insert podemos tirarlo si no nos gusta (al igual que un update o un delete). En el capítulo de los checks mencióne esto no sé si te acuerdas. También podemos hacer una tabla de solo inserción (cancelando todos los deletes)… infinidad de cosas.
También podemos elegir si el trigger actua antes o despues de realizarse la consulta. Depende de la finalidad nos interesa una cosa u otra. Por ejemplo si lo que queremos es validar datos el trigger se tiene que ejecutar antes para así evitar que se lleguen a insertar los datos. Pero si lo que queremos es por ejemplo crear un contador de usuarios, el trigger tiene que saltar después de realizarse la consulta para que solo se ejecute cuando la consulta se ha realizado correctamente y no cuando se ha intentado insertar un usuario y no se ha podido por el motivo que sea, con lo que el contador mostraría información incorrecta.
Como en el capítulo anterior, usaré ejemplos de Cutrenti (qué bueno que sea software libre!)
(continuar leyendo…)
Conoce SQL – Lenguaje procedimental 3 – Procedimientos
por Maxpowel el may.11, 2009
La definición sencilla de procedimiento es que es una función pero que no devuelve nada. Bueno, realmente si se pueden obtener datos usando parámetros OUT pero vuelvo a recomendar no usarlos. El motivo no es que funcione mal sino que la idea de un procedimiento no es obtener datos, para eso usa una función o una vista.
El caso típico de un procedimiento es por ejemplo insertar un usuario. A la hora de insertar un usuario quizá necesitemos hacer alguna comprobación (algo más complejo que lo que nos pueda dar una restricción UNIQUE) o insertar filas en otras tablas , etc. Vamos a ponernos en situación y con un ejemplo real. En Cutrenti la inserción de usuarios la hace un procedimiento al que se le pasa el email, el nombre, los apellidos y la constraseña. Entonces cuando se inserta un usuario genera actividad de ese usuario (insertando una fila en ultimos cambios) y además se añanden los emoticonos predeterminados a la lista de emoticonos del usuario.
Como ves, estamos trasladando toda la lógica del registro del usuario a mysql en vez de hacerlo con php.
Conoce SQL – Lenguaje procedimental 2 – Funciones
por Maxpowel el may.08, 2009
El concepto de función de el lenguaje procedimental de mysql es el mismo que en cualquier otro lenguaje, se le dan unos datos y devuelve otros.
En este lenguaje existen varibles IN, variables OUT y variables INOUT. Las variables IN son aquellas que se pasan como parametros y no se pueden editar y las OUT pues que sí se pueden editar. En el caso de las funciones, los parámetros son de tipo IN de manera predeterminada. Recomiendo encarecidamente no usar variables OUT o INOUT, en mi opinión está “feo” editar las variables que te pasan a la función.
Lo que devuelve una función tiene que ser compatible con SQL. Me refiero a que por ejemplo no puedes devolver un valor booleano porque en SQL no existe ese tipo de datos.
Nuestras funciones las podemos usar de la misma manera que las funciones de mysql, veamos algún ejemplo.




