MySQL y las IPv6

A raíz de la entrada MySQL: mejor tipo de campo para guardar IP publicada hace unos días, un usuario me pregunta qué hacer cuando trabajamos con IPv6 en lugar de las IPv4.

La pregunta resulta interesante tras la aparición en Internet de algunos debates (aquí, aquí o aquí) sobre el agotamiento próximo de las direcciones IP disponibles y la necesidad de actualizarse a un nuevo protocolo.

Así que como el tema lo requiere, vayamos por partes.

Seguir Leyendo…

Dentro de MySQL | Etiquetas: , , , | Deja un comentario.

Cadenas de escape: cómo poner tildes en Javascript

Generalmente, cuando trabajamos con Javascript nos encontramos con que tenemos problemas a la hora de representar tildes o caracteres especiales en nuestras aplicaciones.

Por ejemplo, es frecuente que tengamos que mostrar un alert manteniendo el formato original del texto, esto puede ser, con tildes, eñes o saltos de línea:

alert( ' Contraseña errónea ' );

Dependiendo de la codificación de caracteres, el texto puede aparecer mal formateado:

Texto mal formateado

Seguir Leyendo…

Dentro de Javascript | Etiquetas: | 7 Comentarios

Hoisting en Javascript

Recientemente un viejo colega (@f5inet) me pedía una breve introducción al uso de las variables en Javascript. Explicándole por encima las normas básicas, llegué a uno de los puntos que más confusión despiertan y que son una fuente frecuente de errores para los programadores noveles: el hoisting.

El hoisting (“elevación”) en Javascript es una de esas particularidades del lenguaje sobre la que la comunidad de desarrolladores no llega a ponerse de acuerdo en si se trata de un bug o una feature.

Para John Resig, manejado correctamente, es un poderoso aliado a la hora de gestionar los ámbitos que alcanzan nuestras variables; para otros como Douglas Crackford, su descuido se convierte inmediatamente en inconsistencias en nuestros códigos y errores potenciales difíciles después de identificar y depurar.
Seguir Leyendo…

Dentro de Javascript | Etiquetas: , , , | 6 Comentarios

El mercado del software como monopolio

El siguiente artículo fue escrito originalmente para la Universitat Oberta de Catalunya (UOC) dentro de su programa para el Máster Oficial de Software Libre.

Cuando hablamos del mercado del software como una cuestión monopolística, no estamos refiriendo a la presión que ofrecen en muchas ocasiones las empresas desarrolladoras para hacer de sus productos un estándar de facto para la gran masa de usuarios. En el desarrollo de software es muy común que se alcance una situacíon de este tipo debido cuestiones inherentes a lo dinámico del sector y a las  características propias del desarrollo. Los fenómenos más destacados que promueven este clima de mercado pueden enumerarse como sigue: Seguir Leyendo…

Dentro de Software / Software Libre | Etiquetas: , , , , | Deja un comentario.

Comprobar si una propiedad existe en un objeto JS

Comprobar si una propiedad existe en un objeto JS

Una de las acciones más habituales cuando programamos Javascript orientado a objetos, es comprobar si en una propiedad existe en un objeto determinado.

Para ello, podemos utilizar alguna de las siguientes formas:

// Creamos un objeto
var person = {};
person.name = 'Etnas'; 
 
// Asignamos propiedades
person.company = 'EtnasSoft';
 
// Mostramos las propiedades:
alert( person.name ); // 'Etnas';
alert( person.lastName ); // undefined

Como person.lastName no ha sido definido podemos obtener un comportamiento no deseado en nuestro script. Para comprobar si existe la propiedad o no, podemos recurrir a un condicional:

if( person.lastName ) {
 // La propiedad existe
}

Sin embargo, este método no funciona correctamente cuando la propiedad existe, pero tiene un valor falsy ( false, “”, null, undefined, 0, NaN ). Por lo que:

person.lastName = '';
if( person.lastName ) {
 // La propiedad existe, tiene un valor, pero no pasa el test.
}

Para solucionar este problema, tenemos que recurrir a uno de los métodos de Object: hasOwnProperty. Al crear un objeto, además de disponer de aquellos métodos que definamos, siempre hereda los propios de Object, por lo que podemos utilizarlo sin más:

if( person.hasOwnProperty('lastName') ) {
 // La propiedad existe, sea cual sea su valor
}

Mediante una comprobación de declaración implícita, podemos asignar un valor por defecto a nuestro método:

if ( person.hasOwnProperty( lastName ) || ( person.lastName = 'Soft' ) ) {
 alert(person.lastName);
};

Con esto, conseguiremos que nuestras aplicaciones sean más robustas chequeando las propiedades de nuestros objetos antes de utilizarlas.

Dentro de Javascript | Etiquetas: , | 2 Comentarios
Página 29 de 32Primera...1020...2728293031...Última
Licencia Creative Commons 3.0

®Copyright 2016. Cotenido web bajo licencia Creative Commons 3.0

Códigos bajo licencias MIT y GPL. Ver página de licencias para más información