Redimensionar los campos de una tabla con jQuery UI

Gracias a jQuery UI podemos realizar acciones o efectos Javascript que normalmente nos costarían muchas líneas de código con un par de simples líneas. En este caso vamos a ver un sencillo ejemplo de cómo poder redimensionar los campos de una tabla.

Para este ejemplo he creado una página simple y he incluido jQuery y jQuery UI enlazándolos en el código desde su página principal (no olvidemos que lo deseable es descargarlos y linkarlos desde nuestra misma página):

<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

Lo siguiente es crear una tabla HTML, tan básica o llena de estilos como se desee, para posteriormente añadir en la cabecera de la página el siguiente código javascript:

$(document).ready(function(){
    $(".head_1").resizable();
    $(".head_2").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'});
    $(".head_3").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'});
    $(".head_4").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'});
});

Tras el salto seguiremos explicando qué hace cada cosa.

Seguir leyendo «Redimensionar los campos de una tabla con jQuery UI»

JavaScript: Fundamentos de JSON

JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos basado en un subconjunto de la especificación de JavaScript, y es ampliamente utilizado debido a su simplicidad y a su ligereza, ya que comparado con XML, genera archivos de intercambio de datos menos pesados, al no contener etiquetas. Este estándar es ampliamente utilizado en aplicaciones web para conexiones asíncronas con el servidor en busca de datos mediante AJAX. Entre muchos otros usos, claro.

Existen dos estructuras básicas que conforman las estructuras de datos que se pasan a través de JSON:

  • Las listas ordenadas de valores,
  • Las colecciones de pares nombre-valor, más conocidas como estructuras o objetos.

Combinando estos dos tipos básicos de estructuras podemos representar cualquier dato o colección de datos que se nos ocurra, independientemente de su complejidad. En este post veremos los fundamentos de JSON en JavaScript y cómo tratar con estructuras de datos de este tipo.

Seguir leyendo «JavaScript: Fundamentos de JSON»

Lorem Ipsum de imágenes para maquetar: generadores de mock-ups

Si en el anterior post veíamos una aplicación web ideal para crear esquemas de colores web, en éste veremos diversos sitios que podemos utilizar para hacer mock-ups (o maquetas, modelos…) de imágenes de cara al diseño y maquetación de sitios web.

Es posible que en el momento de preparar una página web no dispongamos de las imágenes que contendrá, o que, por otros motivos, queramos probar diversos tamaños. En cualquier caso, si conocemos las dimensiones que ha de tener una imagen, podemos utilizar cualquiera de los servicios que se muestran a continuación para generarlas al vuelo, así que veamos las posibles opciones:

Seguir leyendo «Lorem Ipsum de imágenes para maquetar: generadores de mock-ups»

Recursos web: Esquema de colores

Para los que no son diseñadores (como el que escribe), a veces resulta complicado encontrar una combinación de colores idónea para la paleta de colores de una web. Y ahí es donde aplicaciones web como Color Scheme Designer pueden echarnos una mano.

Simplemente escogiendo un color base en la parte izquierda, nos aparecerán diferentes tonos en la parte derecha, e incluso podremos visualizar una vista previa con esos tonos en una página luminosa u oscura.

También podremos modificar parámetros como la saturación, brillo, contraste, etcétera, y finalmente nos permite exportar los resultados obtenidos a HTML+CSS, Photoshop, Gimp, XML o texto.

Como curiosidad, nos muestra también cómo visualizaría los colores una persona con deficiencia visual a la hora de apreciar éstos.

En definitiva, una herramienta bastante útil y completa, pero si lo que deseamos es una cosa más sencilla, podemos encontrarla aquí o aquí.

Instala WordPress en tu propio servidor

Como dice la Wikipedia, WordPress es un sistema de gestión de contenido enfocado a la creación de blogs, que basa su éxito en su licencia, su facilidad de uso, sus características como gestor de contenidos o CMS, y a la extensa comunidad de desarrolladores y diseñadores que añaden temas o layouts y plugins.

Crear un blog con WordPress es sencillo, ya que ellos mismos nos permiten crear con un solo click un subdominio del tipo miblog.wordpress.com alojado en sus servidores y listo para rellenar de contenido. Pero toda ventaja tiene sus inconvenientes, y así cualquier blog creado de ésta manera y alojado en sus servidores pasa a ser propiedad de WordPress, aunque pensemos que es «nuestro blog».

Por este mismo motivo existe otra alternativa diferente de usar un espacio en los servidores de WordPress que pasa por instalarnos el propio sistema de gestión en nuestro propio servidor o en nuestro proveedor de alojamiento web, y de eso mismo habla esta entrada.

Seguir leyendo «Instala WordPress en tu propio servidor»

Backup remoto de bases de datos MySQL con mysqldump

Las bases de datos guardan información fundamental para nuestro negocio o actividad, y un aspecto a tener muy en cuenta es realizar copias de seguridad o backups regulares tanto de los datos que contienen como de su estructura.

Las webs, como aplicaciones que son, no están exentas de necesitarlas, pues ya sea por ataques o por desgracias físicas de los servidores en las que están alojadas, no podemos permitirnos dejar a nuestros usuarios o visitantes sin servicio, así que es necesario contar con una buena política de copias de seguridad.

Si tenemos una web, blog, servicio online, etc y utilizamos una base de datos MySQL podemos emplear diferentes mecanismos para realizar la copia de seguridad, por ejemplo entrar enphpMyAdmin, si disponemos de él, y hacerla manualmente. Pero si queremos ahorrarnos entrar en este administrador de bases de datos y nuestra máquina ya tiene MySQL instalado, podemos emplear el siguiente comando para crear un archivo en nuestra máquina con la copia de seguridad de una base de datos MySQL de un servidor remoto:

mysqldump -h [nuestro.servidor.com_o_IP] -u [usuario] -p[password] [base_de_datos] > archivo_backup.sql

Este comando nos creará el archivo archivo_backup.sql con el contenido de la base de datos que le hayamos indicado. Cuidado, entre -p y [password] no hay ningún espacio.

Seguro que os preguntaréis para qué puede servir ésto; pues bien, la respuesta es sencilla: paraautomatizar el proceso y poder programar una o varias copias de seguridad diariamente,ejecutando mediante Cron un script programado en Python como el que se muestra a continuación:

Seguir leyendo «Backup remoto de bases de datos MySQL con mysqldump»

Tamaño ideal de la partición Swap

La memoria virtual es un mecanismo de los sistemas operativos que permite hacer creer a los programas que disponen de más memoria de la que realmente dispone el equipo físicamente, y consiste en un espacio de intercambio, que puede ser un archivo de paginación (pagefile.sys), en el caso de Windows, o una partición de disco, lladama SWAP o de intercambio, que es el caso de los sistemas Unix.

Mediante la memoria virtual podemos, por ejemplo, disponer de 4 Gb de RAM en equipos de 32 bits, que están limitados a 3 Gb por no poder «trabajar» con números tan altos; cada ciclo del procesador éste trabaja con una «palabra» de 32 ceros y unos, que representan la instrucción que tiene que ejecutar y la/s dirección/es de memoria necesarias (dicho muy por encima), y claro, no le cabe.

Así pues, los procesos poco activos o menos prioritarios se pueden almacenar en el disco duro, dejando memoria disponible para cargar otros procesos. Pero claro, el tiempo de acceso al disco es muchísimo más elevado que el de acceso a la memoria, y si el sistema abusa de la memoria virtual puede hundirse, debido a la hiperpaginación o rubbish.

Una vez sabemos para qué sirve la memoria virtual, o espacio de intercambio, o SWAP, que en Linux se crea al instalar el sistema operativo, ¿qué tamaño debemos asignarle a dicha partición? Pues según Russell Coker, que sabe bastante del tema, el tamaño ideal de la SWAP es:

  • Igual a la RAM para ordenadores con menos de 1Gb
  • La mitad de la RAM para equipos entre 2 y 4 Gb
  • 2 Gigas para equipos con más de 4 Gb de RAM

Vale la pena recordarlo.

Manual de cómo usar Cron

En el mundo de los servidores hay mil y una tareas que se realizan a diario, como copias de seguridad nocturnas, chequeo de sistemas, envío de alertas por email… cualquier cosa que se nos pase por la cabeza. Pero claro, un programa no puede ejecutarse solo. Para que todos esos procesos se lancen en el momento esperado, es necesario que, o bien se encuentren todo el tiempo activos, en estado wait (a la espera) hasta que llegue el momento de «despertarse» (solución poco óptima), o que los lance otro proceso.

Una de las cosas que hace extremadamente bien Linux es automatizar tareas, y para ello cuenta con cron, que es un demonio (programa que se ejecuta continuamente en backgroundo segundo plano, normalmente al arrancar el sistema) que se ejecuta cada minuto y mira si tiene que lanzar algún otro proceso. En esta entrada hablaremos de cómo configurar cron.
Seguir leyendo «Manual de cómo usar Cron»

Tutorial de Java EE6 de Oracle

Ya está disponible la revisión del tutorial de Java EE 6 tanto para consultar online como para descargar en PDF. Este libro se convierte en una completa y detallada referencia para cualquiera que quiera aprender y utilizar Java EE 6.

Este libro se compone de dos partes, y lo que está disponible ahora mismo es la primera parte del tutorial, con la segunda prevista para Septiempre (antes de la JavaOne. Un reciente episodio del Oracle Author Podcast explica qué esperar de él y cómo se estructura el tutorial.

Sindicación de contenidos: crear RSS en nuestra página

Hoy he añadido sindicación RSS a la página. La sindicación RSS se encarga de difundir información actualizada del contenido de la página a todas aquellas personas que se hayan suscrito a ella. Y no es necesario tener abierto el navegador, simplemente con un software adecuado, llamado agregador, se podrán ver las novedades de las webs a las que estemos subscritos.

La sindicación RSS se basa en un archivo XML en el que incluiremos el contenido, y en su enlazado desde la página web. En este post mostraré los pasos necesarios para generar el XML e incluírlo en la página.

Seguir leyendo «Sindicación de contenidos: crear RSS en nuestra página»