Marzo 4th, 2013

Operaciones matemáticas con css

Es es sueño de un programador cuando trabaja haciendo maquetación css. Poder hacer calculos en nuestro archivo css como si de php se tratara.
Y lo mejor, es que se puede hacer y nos permite trabajar en distintas medidas (px, em, %) y funciona incluso con IE 9.

Se usa de forma sencilla, con cualquier propiedad css que admita medida, del tipo que sean (tamaño, tiempo..) y aunque actualmente es mejor usarla con el prefijo del navegador -webkit, -moz, etc está bastante bien adoptado por los navegadores de escritorio, aunque siempre hay navegadors moviles que dificultan.

Se utiliza de la siguiente forma:

/* De forma estándar */
width: calc(#valores#);
/* con prefijo para navegadores */
width: -webkit-calc(#valores#);
width: -moz-calc(#valores#);

Podremos aplicar cálculos como el siguiente:

width: calc(100% - 30px);

Y realizar las cuatro operaciones matemáticas básicas:

width: calc(50px * 2);
width: calc(50px / 2);
width: calc(50px + 2px);
width: calc(50px - 2px);

Con esta nueva función, evitamos utilizar javascript en muchos casos donde sólo tratamos de maquetar nuestra web.

Más información | W3C Calc

Marzo 4th, 2013

13 puntos para optimizar nuestro código javascript

Estas pautas son para optimizar javascript en el motor de V8 de chrome, actualmente el más rápido de los interpretes javascript.

  • Inicializar todos los miembros de un objeto en la función constructor
  • Inicializar siempre los miembros de un objeto en el mismo orden
  • Utilizar preferiblemente valores numéricos que puedan ser representados por enteros con signo
  • En los arrays utilizar keys contiguas y empezando por 0
  • No reservar todo el espacio de golpe para los arrays muy grandes (+ de 64.000 elementos)
  • No eliminar elementos de un array, especialmente si se trata de un array numérico
  • No cargar elementos no inicializados o eliminados
  • Inicializar los arrays pequeños de tamaño prefijado con literales
  • Prereservar arrays pequeños para corregir su tamaño antes de usarlos
  • No almacenar valores no numéricos en arrays numéricos
  • Monomorfismo antes que polimorfismo siempre que se pueda
  • No usar try y catch
  • Evitar cambios en funciones después de que estén optimizadas

Visto | Jonefox.com

Marzo 4th, 2013

Django 1.5


No, no hablo de la nueva versión de la oscarizada pelicula de Quentin Tarantino. Django 1.5 es el último lanzamiento del mejor framework para Python que podemos encontrar en la Red.

Viene con muchas novedades, entra las que destacaría las siguientes:

  • Modelo de usuario configurable
  • Soporte para salvar un subconjunto de los campos de un modelo (una gozada!)
  • Cacheo de instancias relacionadas de un modelo
  • Soporte para streaming
  • Una nueva etiqueta de bloque llamada verbatim
  • Soporte para Python 3 (El soporte para Python 3 todavía se considera experimental, pero hay disponible una guía para portar nuestro código a Python 3 circulando)

Además corrección de errores y bugs conocidos, y un puñado de mejoras más.

Enlaces | Django 1.5