myisamchk: comprobar y reparar tablas MYISAM en MySQL

Generalmente las tablas se vuelven corruptas cuando el servidor tiene un problema crítico y finaliza el servicio o cuando las tablas no se cierran correctamente. Siendo los ficheros de índices (.MYI) y los de datos (.MYD) los que están corruptos y los que hacen que no se sincronicen correctamente.

Normalmente se puede comprobar el estado y reparar una tabla mediante dos simples instrucciones MySQL:

CHECK TABLE tabla;
REPAIR TABLE tabla;

Pero esto no es siempre efectivo, conociéndose casos en el que no lo repara del todo o que dice que la reparación ha sido un éxito pero realmente no ha sido así. Por ello el mejor método para reparar una tabla corrupta es usar el comando de MySQL myisamchk, recomendando siempre parar el servidor corrupto para realizar la reparación.

myisamchk [opciones] ./data//.MYI

Aunque la manera más rápida de comprobar las tablas es con las opciones –silent y –fast, la mejor opción para una recuperación completa es –safe-recover, aunque lógicamente toma mucho tiempo.

Vía / Whatever….

links for 2007-09-11

10 razones para seguir estrategia Open Source

Actualmente algunas empresas son poco partidarias de utilizar herramientas open source a la hora de realizar sus proyectos. Aquí os paso algunas razones que nos pueden animar a hacerlo, aunque claro, esto es según gustos y habrá otras razones que invaliden las que se indican.

  • Disminuir la dependencia a vendedores de código propietario: esto suele ser debido a la necesidad de actualizar la versión del producto, esperando mejoras o nuevas funcionalidades, ocasionando en algunos casos un gasto de dinero y tiempo importante.
  • No hay necesidad de presupuestar el coste de mantenimiento de software y de personal encargado: el gasto que suponen las licencias de software y el salario de personal conocedor de esas herramientas suele ser bastante elevado, incrementando así los costes del proyecto y repercutiendo en los beneficios.
  • Acceso a más herramientas: se puede acceder a un casi ilimitado número de herramientas (desarrollo, testing, CMS, seguridad, …), sin necesidad de solicitar permiso para obtenerlo debido a su coste.
  • Pruébalo antes de comprarlo: aunque muchas de las herramientas propietarias si ofrecen versiones Trial o gratuitas para desarrollo, sí que es imposible a veces ver cómo funciona un producto sin tener que comprarlo antes.
  • Soporte por parte de una comunidad de usuarios: esto es algo que a las empresas les suele echar para atrás, el no tener un soporte oficial. Como desarrollador puedo asegurar que normalmente el soporte lo da Google y no el soporte oficial, del cual el 90% de las veces no se utiliza.
  • Acceso al código y la posibilidad de modificarlo según tus necesidades: algo bastante típico es tener que esperar a una nueva versión o tener que comprar una versión actualizada de un producto para conseguir una funcionalidad necesitada. Si dispones del código es posible que puedas modificarlo a tu gusto. Algo parecido hizo Google con MySQL.
  • Poder de negociación con vendedores de software propietario: con esta no estoy muy conforme, pero bueno, quizás nunca se me haya el caso, como dice, de poder obtener mejores condiciones de Microsoft si tienes Ubuntu instalado en 20 ordenadores como experiencia piloto.
  • No hay exceso de características inútiles: en los proyectos open source, las nuevas funcionalidades suelen venir dadas por las necesidades de los usuarios, no por las ideas de un departamento de desarrollo o marketing.
  • Más seguridad: algo que crea mucha controversia, pero estudios como el de Trend Micro muestra que el open source es más seguro.
  • Solución de errores y nuevas implementaciones con más rapidez: en algunos casos los errores se solucionan mucho antes incluso de que lo detecten los usuarios.

10 Reasons why you need an Open Source Strategy

Vía / OpenSourceCommunity.org

Crear ventanas tipo Netvibes con Prototype

Crear ventanas flotantes en HTML es una de las cosas más difíciles de realizar en una página web. En alguna ocasión hemos hablado de cómo realizar ventanas con HTML y Javascript.

En este caso se trata de una extensión para Prototype que con unas simples líneas de código seremos capaces de crear nuestras ventanas de forma rápida.

ventanas_prototype.png

Para usarlo primero nos deberemos crear la estructura HTML:

<div id="page">
<div id="widget_col_0"></div>
<div id="widget_col_1"></div>
<div id="widget_col_2"></div>
</div>

Con sus CSS:

#page {
margin: 10px auto;
}
#widget_col_0 {
float:left;
width: 30%;
}
#widget_col_1 {
width: 50%;
float:left;
}
#widget_col_2 {
float:left;
width: 20%;
}

Instanciar la clase:

var  portal = new Xilinus.Portal("#page div")

Y por último añadir el contenido:

portal.add(new Xilinus.Widget(), 0)
// O con título y contenido
portal.add(new Xilinus.Widget().setTitle("Widget Title").setContent("El texto que sea"), 1);

Prototype Portal Class

Vía / WebAppers

links for 2007-09-08

Nube de etiquetas mediante PHP

Buen tutorial sobre cómo hacer una nueve de etiquetas (tag cloud) mediante PHP. Explican paso a paso todo lo que hay que hacer para mostrar una lista de palabras como una nube de etiquetas.
El procedimiento es sencillo: primero será necesario un constructor, que será válido para PHP4 y PHP5. Luego habrá un método para añadir palabras y por último un método para mostrar la tag cloud.
Internamente las palabras se almacenan en un array asociativo, en el que la clave es la etiqueta y el valor el número de veces que se repite. Esto es un buen método pero debería existir la posibilidad de indicar la lista de palabras y el número de veces que se repite, porque de la forma actual, en el constructor, hay que enviar toda la lista de palabras, pudiendo ser esto no muy efectivo cuando se trate por ejemplo de un blog con gran número de posts y cada post con varias etiquetas.
Tag Cloud
Vía / PHPDeveloper.org

6 razones para utilizar librerías o frameworks Javascript

Últimamente los frameworks de Javascript que aparecen son cada vez más numerosos, y aunque ya en alguna ocasión hemos hablado de esto, no está mal recordar y añadir otros puntos por los que deberíamos usar estas librerías o frameworks.

  • No reinventes la rueda: no pierdas en tiempo en hacer algo que ya han hecho otros y que además dan buen resultado.
  • Haz más con menos código: estas librerías suelen permitir encadenar código, por lo que con menos código se consigue menos espacio, mejor mantenimiento y menos tiempo de desarrollo.
  • Ahorra tiempo: por mucho que te guste programar en Javascript, ahorrarás tiempo al realizarlo mediante estas librerías.
  • No eres el mejor programador: por mucho que tu ego te diga que eres bueno, los hay mejores. Además, estas librerías suelen estar apoyadas por una comunidad que hace mejorar el trabajo.
  • Velocidad: estas librerías suelen ser muy rápidas a la hora de realizar las acciones. Visita esta página para comprobarlo.
  • El código se entiende mejor: el código base de Javascript puede ser más complicado de leer y entender.

6 Reasons To Use Javascript Libraries & Frameworks

coScripter: plugin de Firefox para hacer how-to

coscripter.pngAunque ya hablamos en su momento de este plugin de Firefox, es ahora cuando IBM lo ha finalizado y podemos disponer de él. Se trata de un plugin que nos permite grabar en scripts la actividad que realizamos mientras visitamos páginas webs y así poder repetirlo en otro momento o compartirlo con otros usuarios.
La gran utilidad que le veo a este script es la de poder generar how-to, sobre todo en proyectos para poder generar casos para los tests de prueba.
A parte, existe un repositorio de scripts que comparten con los usuarios .
coScripter
Vía / SitePoint

links for 2007-09-06