
En mi anterior post contaba cómo podíamos utilizar efectos CSS3 para conseguir una mejora sustancial en el aspecto de fotografías (sobre todo de personas), convirtiéndolas en círculos y utilizando efectos auxiliares como bordes y sombras para darles un toque estético adicional. En esta ocasión voy a seguir en la misma línea y mostraré algunos efectos CSS3 adicionales que nos permitirán obtener un aspecto muy diferente: Efecto "Polaroid". Las cámaras de foto instantáneas de tipo "Land" (en honor a su inventor) se empezaron a producir a partir de 1948, pero fue en los años '70 y hasta mediados de los '80 cuando su popularidad alcanzó el máximo apogeo. Históricamente se han producido cientos de modelos diferentes, pero sin duda la empresa que las popularizó fue Polaroid, hasta tal punto que el nombre de esta marca se ha convertido en un genérico para denominar a este tipo de fotografía (como Kleenex para los pañuelos de papel). En la actualidad Polaroid todavía sigue...
[Más]
Tags: CSS, Desarrollo Web, Fotografía
04681f48-949e-463f-88d0-a3342ec6cd3b|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Últimamente está muy de moda ofrecer imágenes mejoradas con algún efecto a la hora de presentarlas en las páginas Web. Por ejemplo, si visitas mi página de Google+ verás que mi foto aparece en forma de círculo, aunque en realidad es cuadrada: La verdad es que queda mucho mejor. Pero, si la foto que yo subí originalmente es cuadrada, esta con forma circular ¿se genera automáticamente a partir de la original? ¿Cómo se consigue ese efecto? La respuesta viene de la mano de CSS y el uso inteligente de los bordes. Bordes redondeados Vamos a partir de una fotografía cuadrada como la que muestra a continuación: Se trata de un paso elevado entre dos edificios en Bellevue (WA). Para conseguir que se visualice recortada en círculo, lo que tenemos que hacer es sacar partido a la propiedad border-radius de CSS 3. Esta propiedad nos permite definir la curvatura en pixeles u otras unidades que va a tener cada uno de los cuatro bordes de un elemento HTML. Así, por ejemplo, si queremos qu...
[Más]
Tags: CSS, Desarrollo Web, Fotografía
28ce3935-9b76-48ed-99d5-23f9f37c1507|1|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Esta es una tarea bastante común pero que es muy complicada de conseguir con SQL Server.
Imagínate que tienes la siguiente situación: Necesitas obtener un listado, en una cuadricula, con los datos básicos de cada cliente de tu base de datos, y con la fecha y el importe de cada pedido que ha realizado en el último año a continuación en la misma fila.
Obtener un listado de clientes es un simple SELECT y obtener un listado de clientes con sus pedidos es un simple INNER JOIN. Lo complicado es que obtengamos para cada cliente toda la información de los pedidos como si fuera un campo más de la consulta. Cada cliente puede tener (y tendrá generalmente) un número de pedidos distinto: unos harán 1 pedido, otros 3 y otros 10, así que no podemos simplemente trasponer los resultados con PIVOT o UNPIVOT para devolverlos en columnas en lugar de en filas.
Un listado de este tipo tendría un aspecto sim...
[Más]
Tags: Desarrollo Web, Consultas, Datos, SQL Server
00115c1c-6cd9-4fb3-9cab-cf0f5286963f|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

SQL Server Express es una excelente opción para trabajar con SQL Server en proyectos pequeños y medianos sin tener que pagar licencias. Es una versión gratuita pero totalmente funcional del gestor de base de datos relacionales de Microsoft. A cambio tiene ciertas limitaciones. Por ejemplo, no permite utilizar más de 1 GB de RAM por instancia para caché de datos en memoria y el tamaño de cada base de datos gestionada no puede superar los 10 GB (que es un tamaño considerable para aplicaciones normales). Carece de otras características de alta disponibilidad y replicación, pero ofrece toda la funcionalidad habitual (incluyendo integración de datos y reporting) y las herramientas de administración. Aquí podrás encontrar una comparativa de todas las ediciones de SQL Server. Una de las cosas que no están disponibles con SQL Server es el Agente SQL. El agente nos permite programar tareas que se ejecutarán sobre las bases de datos cuando nosotros queramos. Esta carencia dificulta un poco, por...
[Más]
Tags: SQL Server, backups
5202e689-72db-4b04-9367-bdcfbd624e8c|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Hoy he tenido que redimensionar el disco de sistema de un servidor virtual y me ha dado un poco más de trabajo del que preveía, por lo que os cuento aquí como lo he solucionado por si le sirve de ayuda a alguien. Resulta que en una máquina virtual necesitaba duplicar el tamaño del disco principal virtualizado (con VMWare), así que simplemente desde la herramienta de administración le aumenté el espacio. Lo que yo esperaba ingenuamente era obtener el disco con el doble d eespacio ya disponible en C:\ pero por lógica esto no podía ser así. Lo que obtienes en realidad es una partición del disco con el espacio nuevo sin asignar, así: Esto es lo que se ve desde el gestor de almacenamiento al que llegamos desde Inicio y luego pulsando en “Administrar” en el menú contextual del equipo: Como vemos en la primera imagen, a la derecha y justo a continuación de la unidad actual, tenemos el espacio sin utilizar, por lo que cabría esperar que pulsando sobre C:\ con el botón derecho y eligiend...
[Más]
Tags: Windows, Administración
d79f1f69-e632-4f31-bf2a-e131045917fd|1|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

De todos los personajes de Barrio Sésamo, cuando era pequeño los que más me gustaban eran el Conde Draco (que contaba todo lo que se le ponía por delante) y sin duda Triki, el monstruo de las galletas. Triki se pasaba el día comiendo galletas de forma desmesurada, rompiéndolas en mil pedazos mientras lo hacía. Creo que se le salían de la boca más que las que era capaz de procesar. Era un personaje muy divertido.
Me he acordado de él hoy al pensar en escribir este post, ya que a algunos programadores web les pasa lo mismo que a Triki: procesan las cookies pero le sirven de bien poco o le hacen un flaco favor.
Más o menos todos los programadores web tienen una idea aproximada de qué son las cookies en un navegador web y para qué se utilizan. Pero hay algún concepto básico que todavía no es bien conocido y que me parece interesante aclarar, así que me he decidido a escr...
[Más]
Tags: Cookies, Desarrollo Web, Fundamentos, Google, Navegadores, Rendimiento
0788a886-1a7d-4921-bdb8-7816ba39ae1e|3|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Hace dos días se liberó la versión 2.0 de jQuery, el plugin más conocido y el más utilizado por todos los desarrolladores web del mundo.
Por regla general una nueva versión de cualquier cosa siempre es bien recibida, ya que aporta soluciones a bugs y nuevas características, y generalmente siendo compatible hacia atrás. Así que todos corremos a descargarla y probarla en nuestros sistemas. En este caso va a ser mejor que te lo pienses dos veces…
La versión 2.0 de jQuery NO ofrece características nuevas, y soluciona un mínimo número de bugs. Sus desarrolladores se han centrado en una cosa fundamentalmente: eliminar código de compatibilidad con Internet Explorer 6, 7 y 8 que les complicaba mucho la vida y hacía que perdiera un poco de rendimiento. Así que la única novedad real de jQuery 2.0 es que no ofrece soporte para IE 6, 7 y 8.
Al mismo tiempo han liberado l...
[Más]
Tags: JavaScript, jQuery, Navegadores
fcb2ff80-9367-4ece-8256-92f016bb8c09|3|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Los selectores CSS nos permiten definir con mucha precisión el aspecto (¡y comportamiento!) que van a tener los elementos HTML en nuestras páginas. Así, utilizamos: estilos embebidos, identificadores, clases, pseudo-clases, etiquetas y atributos para definir exactamente cómo ha de funcionar cada elemento.
Las hojas de estilo .css suelen tener decenas o cientos de estilos que el navegador debe aplicar a cada elemento. Muchos de estos estilos entran en conflicto, por lo que ¿cómo decide el navegador qué estilo o estilos concretos debe aplicar a un determinado elemento de la página?
Pongamos un ejemplo sencillo y consideremos el siguiente fragmento de HTML:
1: <ul id="menu">
2: <li>Menu 001</li>
3: <li class="destacado">Menu 002</li>
4: <li>Menu 003</li>
5: </ul>
Al cual se le aplican los siguientes dos estilos:
1: ul#menu li {
2:...
[Más]
Tags: CSS
ff1d9ef6-969c-4332-80ce-c58564f6b949|1|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Escribir HTML para dar forma a un documento Web es un absoluto aburrimiento. Al menos a mi me lo parece. Por ello trato de reducir el tiempo que paso haciéndolo al máximo posible. Gracias a entornos avanzados de edición como WebStorm, Expression Web, Sublime o el propio Visual Studio, la velocidad puede aumentar mucho ya que estos entornos se encargan automáticamente de cerrar etiquetas, indentar el código, etc... Sin embargo yo quiero más. Quiero reducir a la mínima expresión el código que debo escribir. Y es ahí precisamente en donde entra en juego Zen-Coding, una gran idea que cada vez se utiliza más. Zen-Coding es un tipo de sintaxis especial para generar HTML y otros lenguajes estructurados (XML y similares) que es muy similar a los selectores que usamos para CSS, pero que nos permite generar de manera rápida y concisa código HTML. Gracias a Zen-Coding podrás crear complejas estructuras HTML con una sola línea de código y sin tener que preocuparte de generar correctamente el có...
[Más]
Tags: HTML, ZenCoding, Productividad
1ddf7021-f545-4901-a8d2-bc90417d05a6|3|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04

Los que tenemos ya unos cuantos años a nuestras espaldas y somos además bilingües digitales, recordamos lo que fue la tremenda guerra de los navegadores de finales de los años ‘90 y principios de los ‘00. Todavía sentimos punzadas de dolor al recordar lo que ello supuso para los desarrolladores web de entonces. Si crees que ahora es complicado programar una aplicación web y que funcione para todos los dispositivos y navegadores, tendrías que haber visto lo que era eso en el año 2.000 :-S Cuando Internet apareció en nuestras vidas a principios de los años ‘90 muchas empresas subestimaron su importancia. Y quizá la que más se confundió entonces fue Microsoft, por aquella época ya líder del mercado de sistemas operativos para el escritorio. No supo ver el potencial que suponía la Red de redes, y se dejó llevar. para cuando quiso darse cuenta una pequeña empresa llamada Netscape se había hecho con el 80% del mercado de navegadores de Internet, dejando a Microsoft sin posibilidades (aparen...
[Más]
Tags: Google, Microsoft, Navegadores, Chrome, Internet Explorer
cecdec58-2d00-460f-b46a-28c7d30b6fb1|1|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04