Evolución del desarrollo web del lado del cliente

En los últimos años ha habido una gran demanda de desarrolladores de software debido a la inclusión de los sistemas informáticos en prácticamente todo los aspectos del día a día de las personas. A las clásicas demandas de tecnologías tales como C, C++, JAVA, .NET, SQL han surgido un nuevo elenco de nuevas tecnologías tales como JavaScript, ECMAScript, nodeJS, AngularJS, React, Angular 2.0+, VueJS, ember, gulp, webpack, TDD, BDD, CI, CD, etc. El nuevo conjunto de tecnologías que se solicitan como puestos de trabajo pertenecen al desarrollo de aplicaciones web. Una de las mayores críticas de los profesionales del sector (Ingenieros y desarrolladores en general) es el rápido cambio de tecnologías que sufre el desarrollo Web en el lado del cliente (o front-end). Historia del lenguaje de programación JavaScript Antes de poder afrontar los últimos avances en el desarrollo de aplicaciones Web hay que comprender por qué y cómo se ha llegado a esta situación, y para ello se va a presentar la evolución que ha sufrido el desarrollo del lado del cliente hasta llegar a nuestros días (Julio 2017). Hay que retomarse a los orígenes de la Web cuando existían principalmente dos navegadores Web populares para los usuarios: Internet Explorer y Netscape. Internet Explorer hasta hace poco ha sido el navegador por excelencia de la compañía Microsoft y es sobradamente conocido por la mayoría de los lectores, hoy en día ha sido sustituido por Microsoft Edge. Menos conocido es el navegador Netscape, el cual fue el primero que plantó cara al dominio de Internet Explorer y del cual deriva hoy en día Mozilla Firefox. Para el desarrollo de scripts...

Una nueva contribución encaminada a facilitar la gestión de nodos multiprotocolo de Guifi.net

(Trobareu versió en català més avall) Durante el primer semestre de 2017, Eloi Carbó, uno de los estudiantes de TFM del Máster Universitario en Software Libre de la UOC, ha desarrollado un proyecto de investigación y desarrollo de software en el contexto de las redes abiertas en general y de Guifi.net en particular. Esta red implementa diferentes protocolos y paradigmas técnicos para interconectar usuarios situados en tramos de red diferentes. Uno de los problemas que tienen que afrontar los administradores es la correcta integración entre estos tramos de red con diferentes tecnologías de comunicación. El proyecto “LEDE Firmware optimization for wired deployments using BGP and BMX6 for routing by enhancing and extending Bird Daemon’s configuration and UI integration” pretende abordar dos problemas fundamentales: En primer lugar, depurar y completar con nuevas funcionalidades las herramientas disponibles para configurar de forma gráfica, mediante una interfaz web, determinados nodos de red que emplean BGP, uno de los protocolos que hacen posible las comunicaciones entre proveedores de acceso a Internet. Esto permitiría a los administradores gestionar la configuración de los diferentes protocolos sin necesidad de acceder a línea de comandos, cosa que generalmente puede ser un impedimento para administradores menos experimentados. Además, con esta interfaz se consigue esconder la complejidad de configuración bajo una interfaz amigable, eliminando la necesidad de aprender la sintaxis específica de la herramienta utilizada (Bird Daemon). En segundo lugar, investigar cuál sería la mejor manera de modificar el código fuente de uno de los programas empleados a tal efecto (Bird Daemon), para añadir integración con nuevas herramientas de supervisión y control de las comunicaciones y así obtener información de...

Descentralizando el mundo con blockchain (III)

(Trobareu la versió en català més avall) En esta serie de artículos, primero hemos visto el funcionamiento técnico de forma simplificada de una cadena de bloques como la de Bitcoin. Después hemos mostrado algunas de las aplicaciones más destacadas basadas en blockchain. Para terminar, en este artículo vamos a repasar posibles problemas de seguridad e inconvenientes que puede tener el uso de esta tecnología. Como veremos, la mayoría de los asuntos que trataremos tiene más que ver con los servicios implementados por encima de blockchain que no con la seguridad informática propiamente de la cadena de bloques. Para empezar, una primera duda moral que se nos plantea con la implantación de estas tecnologías está relacionada con los malos usos que se puedan hacer con ellas, al no existir organismos centralizados que regulen y controlen. Por ejemplo, es polémico el uso generalizado de Bitcoin para pagar actividades delictivas. El hecho de usar claves criptográficas como identidad de los usuarios que hacen y reciben los pagos en Bitcoin, añade una pseudo anonimidad a los pagos y hace que esta criptomoneda sea la forma más habitual de pago para la compra de drogas y armas en auténticos supermercados virtuales de este tipo de productos, como la archiconocida difunta web Silk Road. Sin embargo, esta aparente anonimidad puede llegar a suponer una trampa que revele el histórico de transacciones financieras de un usuario. De hecho, la policía danesa ya ha utilizado estrategias para analizar el histórico de transacciones que está publicado de forma abierta en el blockchain de Bitcoin para detener a traficantes de droga. Aunque la detención de criminales pueda parecer algo...

Descentralizando el mundo con blockchain (II)

(Trobareu la versió en català més avall) En el artículo anterior de esta serie hemos visto de manera simplificada en que consiste blockchain. En este artículo vamos a ver algunos de los servicios y aplicaciones más destacados que usan esta tecnología como base. La aplicación más conocida basada en blockchain es sin duda Bitcoin. Esta aplicación, y también el resto de criptomonedas, usa blockchain para registrar las transacciones monetarias entre los usuarios. Así, de manera simplificada, un usuario A puede registrar un pago a un usuario B enviando una transacción con un valor en Bitcoins que tenga como destinatario a una clave pública vinculada al usuario B y firmando dicha transacción con su clave privada utilizando un sistema de firma digital. El usuario B podrá posteriormente realizar un pago a otra clave pública vinculada a otro usuario utilizando como moneda para el pago la transacción que ha recibido previamente del usuario A. Cuando los usuarios desean realizar los pagos, envían las transacciones a los mineros de la red P2P. Los mineros validan las transacciones recibidas (que sean correctas y que el pagador no haya gastado previamente el dinero vinculado a la transacción de entrada) y las agrupan en bloques que intentarán añadir al blockchain de Bitcoin invirtiendo grandes recursos de computación tal y como explicamos en el artículo anterior. Para incentivar que estos nodos dediquen recursos de procesado a validar y crear nuevos bloques, éstos reciben una recompensa en forma de Bitcoin por cada nuevo bloque que logren añadir a la cadena y también pueden recibir pequeños honorarios por las transacciones incluidas en los bloques. Por este motivo hay...

Descentralizando el mundo con blockchain (I)

(Trobareu la versió en català més avall) El próximo 17 de mayo, coincidiendo con el Día de Internet y el Día Mundial de las Telecomunicaciones y la Sociedad de la Información, se celebra el Congreso de Ciberseguridad UOC-Con. El congreso se enmarca dentro de las actividades de la Cátedra UOC-IBM de Ciberseguridad y del Máster interuniversitario en Seguridad de las TIC de la UOC, UAB y URV. El propósito del UOC-Con es promover el intercambio de conocimiento entre los miembros de la comunidad de seguridad, dando así a conocer sus trabajos e investigación en un entorno de intercambio de ideas. En esta edición, la temática de la UOC-Con es la Blockchain y la Seguridad cognitiva (podéis encontrar toda la información y el formulario de inscripción en el siguiente enlace: http://uoc-con.uoc.edu/) Ya hablamos de la seguridad cognitiva en un post anterior. Hoy os queremos introducir la tecnología del blockchain. El blockchain ha ido ganando popularidad entre los profesionales de las nuevas tecnologías desde su aparición en 2008 como parte de los procesos de gestión de la moneda criptogràfica Bitcoin. Como se aprecia en la figura de abajo, el término “blockchain” ya ha superado en popularidad en las búsquedas en Google a otro concepto tan popular como “Machine Learning” y está cerca de “IoT”. Además, según Techradar, blockchain es una de las 10 tecnologías a tener en cuenta durante 2017. Cuando se habla de blockchain, siempre aparecen las mismas tres preguntas: ¿Qué es blockchain?, ¿Tiene alguna aplicación más allá de Bitcoin?, ¿Es realmente tan seguro como nos lo venden? En esta serie de artículos sobre blockchain vamos a abordar estas tres...