jueves 11 de junio de 2009

Ahorra tiempo usando abreviaturas con Texter

Texter es una herramienta muy útil que permite definir una serie de abreviaturas y expandirlas fácilmente mientras estás trabajando.

Ver unos ejemplos sencillos:



Ver otros ejemplos más avanzados, muy útil para programar:

miércoles 13 de mayo de 2009

El código Konami en Facebook

Accede a la página principal de Facebook y pulsa la siguiente scuencia de teclas:

Arriba, Arriba, Abajo, Abajo, Izquierda, Derecha, Izquierda, Derecha, b, a, Intro...

y después haz clic en varios sitios por la pantalla.

Es lo que se llama Código de Konami.

Ver:

martes 5 de mayo de 2009

Generación de código con Skyway Perspectives

Skyway Builder es un plugin de eclipse capaz de realizar generación de código para aplicaciones Java basadas en Spring, Hibernate/JPA y Spring MVC/Webflow.

Su funcionamiento se basa en un proyecto en paralelo al que estamos generando, que contiene objetos de mayor nivel de abstracción y que se definen mediante asistentes y diagramas en eclipse.
Entre estos objetos están las entidades del modelo de dominio de nuestra aplicación, el propio reporitorio de acceso a datos (DAOs), queries con nombre, servicios, controladores, acciones, etc.

Tiene dos opciones de generación (scaffolding):

  • De la capa de acceso a datos (DAOs y entidades, junto a las pruebas unitarias correspondientes).
  • De un CRUD completo muy básico (servicios, controladores y vistas JSP).

Merece la pena echarle un vistazo:

Descargar Skyway Builder.
Ver video con un ejemplo de generación de CRUD.
Consultar documentación.


Para facilitar el desarrollo y mejorar la productividad: ¿prefieres herramientas de este tipo de generación de código o mejor utilizar frameworks, como Grails, que presentan una simplificación del lenguaje, convención sobre la configuración y herramientas más sencillas de generación?

martes 28 de abril de 2009

Posicionamiento con CSS

Este es un breve tutorial sobre posicionamiento con CSS mediante ejemplos.

Concretamente, explica el uso de los siguientes casos:

  • position:static - Posicionamiento estático, el valor por defecto para los elementos en una página.
  • position:relative - Posicionamiento relativo al contenedor del elemento, usando top, bottom, left y/o right. No afecta al elemento contenedor.
  • position:absolute - Posiciona el elemento de forma absoluta respecto al documento, o respecto del contenedor si este tiene position:relative. Usado conjuntamente también con top, bottom, left y/o right.
  • float:left - El elemento "flota" entre el texto y otros elementos adyacentes, situándose lo más a la izquierda/derecha posible, según se indique.
  • clear:both - "Limpia" los "floats" anteriores, haciendo que el elemento deje de bordear a los que se han marcado como "float".
Ver más en el W3C.

¿Te parece un lío?

Siempre puedes usar sistemas que facilitan la definición de grids CSS...

Tutorial de jQuery

Una presentación bastante buena de Marc Grabanski sobre jQuery:

jueves 16 de abril de 2009

Diseño gráfico con calidad

Artículo muy interesante sobre la calidad del diseño gráfico para web.



Algunas notas:
  • Uso inteligente y elegante de los espacios. Elementos alineados.
  • Detalle perfecto de los pixels en las líneas, bordes, etc.
  • Tipografía bien elegida, bien pensada.
  • Organización de los distintos elementos.
  • Efectos sutiles en los gradientes, iconos, texturas, marcas de agua, etc.
  • Uso del color.
  • Y, sobre todo, hacer algo que nadie haya hecho.
Quality within web design.

lunes 13 de abril de 2009

Por fin Google App Engine en Java

¿Has solicitado ya tu cuenta? (Sólo para los 10.000 primeros).

Ver noticia en el blog de Google App Engine.

El acceso a datos está disponible con JDO o JPA (Datanucleous) y la máquina virtual Java tiene algunas restricciones en cuanto a creación de hilos, tiempo de duración de una petición, etc.
Cuenta con un plugin para eclipse que simplifica bastante el desarrollo y el despliegue.
Ya se está preparando el soporte para Groovy y otros lenguajes dinámicos.

Muchas cosas van a cambiar...

Ver documentación.

(Vía JavaHispano).