A common mistake

Respaldar / Recuperar la información de una base de datos MySQL desde linea de comando es muy facil. Aquí algunos ejemplos:
1) Respaldar (Backup) todas las bases de datos de nuestro servidor a un unico archivo dump:
mysqldump –user=MI_NOMBRE_DE_USUARIO –password=MI_PASSWORD -A > NOMBRE_ARCHIVO_DUMP.SQL
2) Respaldar solo algunas bases de datos:
mysqldump –user=MI_NOMBRE_DE_USUARIO –password=MI_PASSWORD NOMBRE_DB_1 NOMBRE_DB_2 > NOMBRE_ARCHIVO_DUMP.SQL
3) Respaldar solo algunas tablas de una base datos:
mysqldump –user=MI_NOMBRE_DE_USUARIO –password=MI_PASSWORD NOMBRE_DB –tables NOMBRE_TABLA > NOMBRE_ARCHIVO_DUMP.SQL
Algunos comentarios importantes:
NOMBRE_ARCHIVO_DUMP.SQL debe especificar la ruta completa y el nombre del archivo que se generará.
Es posible especificar que nuestro backup sea compatible con versiones anteriores de MySQL agregando el parámetro: –compatible. Por ejemplo: –compatible=mysql323 hará que nuestro archivo dump de backup pueda ser importado desde una versión MySQL 3.23.
Para recuperar un backup previamente generado desde linea de comando:
mysql –verbose –user=MI_NOMBRE_DE_USUARIO –password=MI_PASSWORD DB_NAME < NOMBRE_ARCHIVO_DUMP.SQL
Posted: January 10th, 2005 | Author: lichi | Filed under: mysql | Tags: mysql restore backup | No Comments »La propiedad cursor en CSS nos permite seleccionar el tipo de cursor (puntero) que tendrá un determinado elemento en nuestra aplicación.
Por ejemplo:
<div style='cursor: pointer;'> Contenido aquí... </div>
Este ejemplo mostrará un cursor de tipo “pointer” (la tradicional manito que aparece sobre los links estándar).
Los tipos de cursores predeterminados disponibles son:
![]()
default
![]()
pointer
![]()
e-resize ó w-resize
![]()
n-resize ó s-resize
![]()
ne-resize ó sw-resize
![]()
nw-resize ó se-resize
![]()
crosshair
![]()
move
![]()
help
![]()
text
![]()
wait
También es posible definir cursores personalizados. Para ello debemos utilizar el parámetro “url” de la propiedad cursor:
<div style='cursor: url(images/mi-cursor.cur);'> Este bloque tendrá un cursor personalizado </div>
Los cursores personalizados no son mas que bitmaps (imágenes BMP) con la extensión “.cur”.
Es recomendable en caso de usar cursores personalizados definir también un cursor estandar, el cual se mostrará en caso de no poder mostrarse el cursor definido:
<div style='cursor: url(images/mi-cursor.cur), pointer;'> Este bloque tendrá un cursor personalizado. Si no se puede cargar se mostrará el segundo definido: pointer. </div>Posted: November 12th, 2004 | Author: lichi | Filed under: css, development, xhtml | No Comments »
Me encontré que en algunos casos cuando quiero sumar un valor numérico a una variable en lugar de realizar dicha operación matemática concatena ambos valores como si fueran un string.
Esto no ocurre si ambos valores son enteros puros. El problema se da por ejemplo si alguno de los valores de la suma están almacenados en un array.
Por ejemplo:
var values = "2 4 6 8";
var splitValues = values.split(" ");
var y = 10;
y += splitValues[2];
alert(y);
Este ejemplo devolverá el valor “106″ en lugar del esperado: 16.
Para solucionar este comportamiento no deseado tenemos que indicarle a JavaScript que interprete dicho valor como número y no como cadena. Para eso podemos utilizar la función parseInt :
var values = "2 4 6 8";
var splitValues = values.split(" ");
var y = 10;
y += parseInt(splitValues[2]);
alert(y);
De esta forma le decimos a JavaScript que interprete splitValues[2] como un entero y obtenemos el resultado esperado: 16.
También podemos utilizar parseFloat si queremos que JS interprete un string como decimal en lugar de entero.
Para mas info: http://www.w3schools.com/jsref/jsref_parseInt.asp
Posted: November 2nd, 2004 | Author: lichi | Filed under: development, javascript | Tags: javascript | No Comments »Split, una de las funciones de manipulación de cadenas que mas usaba en VB6 afortunadamente tiene una implementación muy similar en JavaScript.
Esta función es particularmente útil a la hora de “parsear” valores concatenados en un string.
La forma de utilizar split en Javascript es: miCadena.split( Separador, [Limite])
Veamos un ejemplo del mundo real:
var vResult= "value1|value2|value3";
var vSplitResult = vResult.split("|");
alert("El primer valor es " + vSplitResult[0]);
alert("El segundo valor es " + vSplitResult[1]);
Como vemos, la función “split” genera un array con cada uno de los elementos contenidos
en el string vResult concatenados por “|”.
Veamos otro ejemplo: Esta vez recorriendo el array generado mediante un bucle:
var vResult= "value1 value2 value2 value4 value5 value6";
var vSplitResult = vResult.split(" ");
for(i = 0; i < vSplitResult.length; i++){
document.write("* Item " + i + " = " +
vSplitResult[i] + "<br />");
}
Para mas info pueden consultar la referencia de la función en W3 School.
Posted: September 9th, 2004 | Author: lichi | Filed under: development, javascript | Tags: javascript | 1 Comment »