Blog

Ardilla Quio Ardilla Quio

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, ...

18 de Julio de 2011

Imágenes con puntos blancos en Internet Explorer

Este es uno de esos errores que nos encontramos a veces en Internet Explorer y que pueden hacernos perder horas enteras sólo para encontrar el motivo.

El problema se presenta habitualmente cuando tenemos imágenes que hacemos aparecer o desaparecer con un efecto de fundido (por ejemplo, con los efectos fadeIn() y fadeOut() de jQuery). Cuando lo vemos en cualquier otro navegador, funciona correctamente, pero en Internet Explorer alguna de las imágenes se ve con puntos del color del fondo.

04 de Julio de 2011

Directivas PHP: safe_mode

Dice la documentación oficial de PHP que la directiva safe_mode es un intento de resolver un problema de seguridad en servidores compartidos. Y aunque sí mejora la seguridad no resulta una práctica infalible, ya que lleva a muchos proveedores de Internet (ISP) y programadores a pensar que están a salvo de amenazas de seguridad. Esto no debe ser del todo cierto cuando la comunidad PHP la ha declarado obsoleta en la versión 5, y no estará presente en la versión 6.

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.

31 de Mayo de 2011

Introducción a jQuery (parte 2)

En la entrada introducción a jQuery ya vimos cómo empezar a utilizar esta librería. Hoy veremos algunos aspectos más avanzados de esta potente herramienta.

Empezaremos repasando cómo se puede cargar el código en la página web, luego veremos cómo se puede extender la funcionalidad de la librería con plugins, lo fácil que resulta AJAX con jQuery y, por último, cómo evitar conflictos con otras librerías.

05 de Mayo de 2011

Introducción a jQuery

Javascript es un lenguaje de programación muy controvertido desde su creación, principalmente por su incompatibilidad con los distintos navegadores y sus versiones. En sus comienzos javascript sólo se usaba para la modificación de sencillos efectos desde el lado del cliente o validación de formularios, pero con la aparición del AJAX este lenguaje empezó a adquirir una gran importancia en el uso de aplicaciones web. La dificultad que tiene javascript para crear códigos complejos frenaba la total expansión del lenguaje, hasta la aparición de los frameworks de javascript.

26 de Abril de 2011

Java Reflection (parte 1)

Una de las funcionalidades más potentes y poco conocidas de Java es su soporte para reflexión. Mediante la Java Reflection API el programador puede inspeccionar y manipular clases e interfaces (así como sus métodos y campos) en tiempo de ejecución, sin conocer a priori (en tiempo de compilación) los tipos y/o nombres de las clases específicas con las que está trabajando.

Quizás pueda parecernos en una primera impresión una funcionalidad con usos limitados. Pero debemos saber que, por ejemplo, muchos frameworks de alto nivel como Hibernate, Spring o Tapestry hacen un uso extensivo de esta API para facilitarle la vida al programador al permitirle que use simples clases POJO para trabajar con ellas. Otros frameworks menos potentes (o versiones antiguas de estos mismos frameworks), obligaban al programador a que sus clases implementaran ciertos interfaces o pertenecieran a complicadas jerarquías de clases, lo cual limitaba la flexibilidad del programador y complicaba la comprensión del código.

04 de Abril de 2011

Accesibilidad en formularios

Los formularios son la principal herramienta de comunicación e interacción entre los usuarios y las aplicaciones web; pueden usarse para distintos fines como solicitud de datos personales, comentarios, búsqueda de productos, ... Como elemento imprescindible de comunicación los formularios deben ser accesibles, sencillos y fáciles de utilizar para todos los usuarios.