Asociación de Webmasters de Cantabria

Después del (estupendo) workshop sobre HTML5 de Darío (@BalfeR) he conocido a parte de la Junta Directiva de la asociación de webmasters de Cantabria. Lo que más me llamaba – y me sigue llamando – la atención de la asociación es su nombre: webmasters. Pensé que el término había desaparecido. Pero este grupo de veinteañeros, mayoritariamente vinculados a la Universidad de Cantabria, consideran que el término sigue estando vigente y que el público general lo sigue entendiendo y aceptando: el que controla de páginas web, web master.

En una época dificil, en la que prima el individualismo y el egoísmo, estos altruistas han creado una asociación en la que compartir conocimientos y difundir los conocimientos. El objetivo de la asociación es crecer y que sus socios crezcan aprendiendo unos de otros. Y en muchos aspectos me recuerdan a cómo era yo a su edad.

Continuar leyendo “Asociación de Webmasters de Cantabria”

Trabajar en grandes sistemas

Las tecnologías en la vida real son una versión muy parecida a la que hemos utilizado durante nuestra formación pero la forma de trabajar es muy diferente dependiendo del entorno. Trabajar como desarrollador en una gran empresa es un privilegio. Claro, como todo, tiene inconvenientes. Pero en general es una experiencia muy gratificante y exclusiva.

Oficina
Oficina

Continuar leyendo “Trabajar en grandes sistemas”

jQuery XML no funciona bien en IE7 ni IE8

El framework  jQuery nos ha facilitado a los desarrolladores el acceso a los datos XML que provienen de AJAX; pero también permite leer XML contenido en la propia página con javascript. Eso sí, funciona mucho mejor en Chrome y Firefox que en Internet explorer.

Si en un input tenemos el siguiente texto:

<granja>
<animal id="0001">vaca</animal>
<animal id="0002">oveja</animal>
<animal id="0003">gallina</animal>
</granja>

Con jQuery podemos recorrerlo directamente con este código:

$(inputXML.value).find('animal').each(
function(){
$(this).text (); //devuelve el texto
$(this).attr ('id'); // devuelve un atributo
});

Como veréis, es mucho más intuitivo y rápido que utilizar directamente  los métodos de la clase XMLHttpRequest.

Eso sí, en Chrome y Firefox porque la función find no nos funcionará en IE7 e IE8 (esto es lo mismo que decir en todos los Windows XP que hay todavía activos, y que son muchos).

Esto es debido a que IE detectará que estamos en un documento HTML y no XML y lo podemos solventar así:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(inputXML.value);
$("granja", xmlDoc).find("animal").each( function() {
$(this).text (); //devuelve el texto
$(this).attr ('id'); // devuelve un atributo
});

En mi caso, se trata de un aplicativo que siempre se accederá con IE7 (se ejecuta en un entorno controlado) pero si deseamos publicar algo así, deberíamos utilizar el objeto XMLDOM correcto para cada navegador – lo sé, qué rollo.

if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(inputXML.value,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(inputXML.value);
}

Ultima hora:

Si las claves de XML vienen del serializado de un objeto, IE8 nos va a exigir que las marcas XML no contengan información sobre paquete: <es.josedetorre.MiClase>dato</es.josedetorre.MiClase> es inválido.

El error que da es “sólo se admite un elemento de nivel superior en un documento XML” aunque el fichero esté bien formado.

La solución es serializar sin información de paquete: <MiClase>datos</MiClase>


Un punto de vista sobre la Ingeniería Informática

De todas las definiciones que he encontrado, la que más se aproxima a mi punto de vista es esta:

La ingeniería informática es la aplicación de un enfoque sistemático, disciplinado y cuantificable a la construcción, el desarrollo, operación y mantenimiento de los sistemas de información. Es decir, es la aplicación de la ingeniería, a la informática. [1]

La profesión

Hay mucha controversia acerca de lo que significa la Ingeniería en Informática. De una parte, los Ingenieros desean que su capacitación esté amparada por Colegios Profesionales con atribuciones, como los de Arquitectura y el resto de Ingenierías, para poder visar proyectos, realizar peritajes, etc. De la otra, el estado, con su lenta maquinaria administrativa, que trabaja para restringir las atribuciones actuales de los Colegios Profesionales, califica a la informática de materia transversal. Como las matemáticas o el inglés, una disciplina que se utiliza como herramienta y no una ciencia.

Tengo argumentos en contra de las dos posturas: por un lado, es comprensible que los Colegios Profesionales no tengan atribuciones para visar proyectos. La tendencia actual es restringir este tipo de privilegios, como en la ley Ómnibus. Por otro, considerar la Informática como una herramienta es como decir que la Arquitectura es una rama del dibujo técnico. La informática es un medio para otras disciplinas, pero también es la solución a problemas actuales y un fin en si mismo, como los motores de vapor lo fueron en la revolución industrial.

Ingeniería Informática
Ingeniería Informática
Se requieren muchos conocimientos de muy variadas disciplinas para poder enfocar sistemática, disciplinada y cuantificablemente los sistemas informáticos, cuando están en proyecto, durante su construcción y en su vida útil.

Muchos conocimientos, técnicas y herramientas se pueden aprender durante el ejercicio de la profesión en tecnologías de la información. Algunas sólo se pueden aprender con la experiencia (la vida real no es como en los manuales).

Pero muchas veces la profesión nos obliga a centrarnos en áreas concretas, como la programación o la administración de usuarios, y no nos permite ver el conjunto del sistema. Las escuelas de informática nos permiten tener conocimientos sobre las distintas patas de los sistemas de información para aprovechar al máximo la cooperación entre ellas: la implantación de sistemas, la gestión de usuarios, la administración de servidores, el control de los datos, la seguridad informática, la programación, las comunicaciones, etc.

La Ingeniería aplicada a la empresa

Rara vez se tiene el privilegio de crear un gran sistema de información partiendo de cero. Más bien al contrario los sistemas crecen al ritmo que lo hace la empresa y cuanto más grande es, más lo son sus necesidades. Los diferentes servicios se van incorporando al conjunto de herramientas existentes para formar un gran sistema de información.

El éxito en la ejecución de un sistema informático depende de la existencia de una dirección formada tecnológicamente y capaz de gestionar los cambios que se producirán. También de profesionales con grandes capacidades específicas pero también muchos conocimientos generales sobre los componentes que operan con su área: es mucho más valioso un programador web con conocimientos de gestión de redes, que uno sin ellos.

Referencias

[1] He adaptado la descripción de la Ingeniería del Software que utiliza la IEEE, porque me gustó mucho.

Por fin un tema que me gusta

Hola amigos!

Bienvenidos a la profesional de José Manuel Díaz Pérez, @josedetorre.

Poco a poquito la iré dando contenido, lo prometo. De momento me ha llevado más de lo que pensaba encontrar un tema a mi gusto y al final me he decantado por twenty-eleven, que es el que viene por defecto. Qué cosas.

Si queréis ver a qué me dedico os sugiero que visitéis mi perfil de LinkedIn. Esta página pretende ser profesional. En el lateral izquierdo puedes encontrar enlaces a twitter o Google+ donde conocerme personalmente.

¡Ya estoy llegando!

Ehm! sí, estoy montando este sitio pero tendrás que tener un poco de paciencia. No tengo mucho tiempo para dedicarle.
Mientras tanto, si quieres conocerme, te sugiero que te pases por google+ ó twitter. Uso facebook, cada vez menos, y sólo de forma personal. Y si quieres ver qué hago en internet, puedes visitar quetenteres o mi web de frases de niños.

¡Nos vemos!