Blog: etiqueta Programación

Ardilla Quio Ardilla Quio

17 de Enero de 2012

LESS: Usando CSS dinámico

Cuando CSS nació solo era una herramienta para modificar algunos estilos básicos en una página web. Con el tiempo los desarrolladores encontraron una potente herramienta en este lenguaje, optimizando su uso no solo para cambiar estilos sino para ser capaz de controlar toda la parte visual de una página web en cualquier dispositivo que nos encontremos. Ahora han ido un paso más allá, creando herramientas de pre-procesado de CSS, que consiste en extenderlo para usar variables, reglas anidadas, mixins o funciones. Entre estas herramientas se encuentran LESS o SASS.

30 de Diciembre de 2011

jQuery: asociar eventos a elementos HTML creados dinámicamente

Para asociar eventos a elementos HTML con jQuery basta con usar bind() (o cualquiera de sus variantes) en el elemento y, cuando se cargue el código javascript, el evento quedará asociado. El problema viene dado cuando el elemento al que queremos asociar un evento no existe en el momento de cargar el javascript, sino que será creado dinámicamente en algún momento. Hasta que el elemento exista, no se le pueden asociar eventos. En este artículo veremos cómo podemos solucionar este problema con la función on() de jQuery.

01 de Diciembre de 2011

Directivas PHP: date.timezone

Trabajar con fechas en programación puede ser un apartado tedioso, y aunque los lenguajes poseen múltiples funciones para facilitar el trabajo con ellas, no siempre son suficientes, puesto que cada lenguaje de programación puede manejarlas de forma diferente y tendremos que buscar siempre un punto de encuentro entre todos si trabajamos conjuntamente con más de uno. También suelen provocar problemas las zonas horarias y sus configuraciones, sobre todo si trabajamos con servidores localizados en franjas horarias distintas.

02 de Noviembre de 2011

Estructuras jerárquicas en bases de datos relacionales (parte 3)

En este último artículo de la serie veremos cómo podemos hacer para convertir una tabla que trabaja con el adjacency list model en otra adaptada para el modified preorder tree transversal method, ya que son dos de los métodos más utilizados para estructuras jerárquicas. También nombraremos otros métodos válidos para poder trabajar con estas estructuras y comprobar que las opciones disponibles son amplias, siempre que tengamos la curiosidad para buscarlas.

03 de Octubre de 2011

Estructuras jerárquicas en bases de datos relacionales (parte 2)

En el artículo anterior sobre estructuras jerárquicas vimos como trabajar con el "The adjacency list model" puede complicarse algo cuando queremos evitar la recursividad. En este artículo veremos otro método que intentará solucionar el mismo problema de recursividad pero modificando la base de datos para crear una nueva estructura, llamado "the modified preorder tree traversal algorithm", donde podremos observar que recoger los datos de la estructura jerárquica se hace con una única consulta.

16 de Septiembre de 2011

Procedimientos almacenados en SQL Server desde PHP

Los procedimientos almacenados (stored procedures) son pequeños programas que se almacenan y ejecutan en la base de datos. En el caso de Microsoft SQL Server son grupos de órdenes en Transact-SQL (T-SQL) que se ejecutan siguiendo un plan. A estos procedimientos almacenados, como si fuesen funciones, se les pueden pasar parámetros para su ejecución (por valor o por referencia) y pueden devolver un valor numérico o el resultado de una consulta. En este artículo veremos cómo se pueden llamar estos procedimientos almacenados desde PHP y cómo manejar los parámetros y valores devueltos.

31 de Agosto de 2011

Estructuras jerárquicas en bases de datos relacionales

En ocasiones nos hemos encontrado la necesidad de trabajar con alguna jerarquía de datos, como pueden ser los temas en foros, categorías de productos en tiendas virtuales, listas de correo, ... y cuando los datos empiezan a crecer nos vamos dando cuenta que las bases de datos relacionales pueden no ser las más adecuadas para este fin, puesto que casi siempre nos obligan a trabajar con recursividad.

17 de Agosto de 2011

mssql_bind convierte las cadena vacías en nulos

mssql_bind es una función de PHP que sirve para enviar parámetros a procedimientos almacenados (stored procedures) en Microsoft SQL Server. Con ella podemos enviar al procedimiento almacenado todo tipo de variables: enteros, reales, cadenas, ... y, si es necesario, nulos. Pero esta función tiene un problema y, cuando intentas pasarle una cadena vacía como parámetro al procedimiento almacenado, mssql_bind lo convierte en nulo, lo cual puede provocar errores si ese parámetro no acepta nulos.

02 de Agosto de 2011

Los formatos Big Endian y Little Endian

Al igual que existen lenguajes donde la lectura y escritura puede ser izquierda-derecha o derecha-izquierda también en el mundo de los ordenadores puede suceder algo parecido. En este artículo hablaremos de las distintas maneras en las que las máquinas pueden almacenar los datos en ficheros, que cobran especial relevancia cuando se trata de trabajar con datos de más de un byte (Endianness), como por ejemplo números enteros, números reales, ...

17 de Junio de 2011

Java Reflection (parte 3)

En las anteriores entradas Java Reflection parte 1 y Java Reflection parte 2) hemos comentado conceptos básicos sobre cómo obtener en tiempo de ejecución los tipos, atributos y métodos de un objeto, y las manipulaciones básicas sobre los mismos (acceder y cambiar sus valores). También hemos explicado algunas manipulaciones más complejas (obtención de instancias a partir de constructores específicos, acceder y modificar elementos privados, ...).

En esta tercera parte nos dedicaremos a explicar cómo trabajar con reflexión con dos elementos un poco más avanzados de Java: arrays y tipos genéricos (Java Generics). Aunque quizás puedan ser considerados elementos básicos del lenguaje de programación (los arrays deben ser el primer tipo complejo que se enseña en las clases de programación), la manipulación vía Java Reflection de los mismos es un poco más compleja que los elementos vistos hasta el momento, aunque descubriremos que una vez aprendidos los conceptos básicos tal complejidad es sólo aparente.