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

Tarjeta de presentación online: about.me

about.me ejemploEn pleno auge (para algunos ya en declive) de las redes sociales, es cada vez más importante el contar con una presencia online. Algunos expertos hablan incluso de registrar el nombre de los hijos nada más nacer en los servicios más populares para evitar así que se nos adelanten, igual que aparcar un dominio y una dirección de correo electrónico para cuando puedan serles de utilidad.

En este escenario casi enfermizo donde nuestros datos viajan de un lado a otro por la red, tener una tarjeta de visita online que recoja todo lo anterior parece una necesidad obvia además de sencilla.

About.me es un servicio relativamente nuevo que nos brinda la posibilidad de crear, de una manera fácil y rápida, una tarjeta de visita que podremos enlazar directamente con nuestros perfiles en redes como Twitter, Facebook o Tumblr. Seguir Leyendo…

Dentro de Aplicación Web | Etiquetas: , , | Deja un comentario.

Cacheando objetos en jQuery

Cuando utilizamos jQuery para la selección y manipulación de elementos del DOM, una práctica que a menudo olvidan los programadores es cachear los objetos.

Tomemos el siguiente código de ejemplo:

$('#myObjId').click(function() {
  if ( $('#myObjId').hasClass('clicked') ) {
    $('#myObjId').removeClass('clicked');
    $('#myObjId').css('background-color', 'red');
  } else {
    $('#myObjId').addClass('clicked');
    $('#myObjId').css('background-color', 'blue');
  }
);
$('#myObjId').val('Click Me!');

Seguir Leyendo…

Dentro de Javascript, jQuery | Etiquetas: , , | 9 Comentarios

Selección automática de protocolo

Paul Irish nos recuerda en una entrada de su blog, cómo  trabajar con las URLs en nuestras aplicaciones web dependiendo del protocolo que estemos usando:

<img src="//domain.com/img/logo.png">

Como se puede observar, delante del dominio colocamos dos barras en lugar de una: es lo que llamamos una referencia relativa. De este modo, si el navegador detecta que estamos en zona segura (HTTPS), la imagen la cargará utilizando ese mismo protocolo. En caso contrario, la carga se hará de forma normal.

Con esto, prevenimos la aparición de los molestos mensaje de advertencia que nos informan de que “la página que está abriendo contiene tanto elementos seguros como no seguros“.

Ventana con advertencia de elementos no seguros

Seguir Leyendo…

Dentro de Programación, Snippets, Tips (trucos) | Etiquetas: , , , , | 2 Comentarios
Página 29 de 32Primera...1020...2728293031...Última
Licencia Creative Commons 3.0

®Copyright 2011. 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