Front & Back

Blog sobre el Desarrollo de aplicaciones web

Back end

  1. Un vistazo a OCPP (Open Charge Point Protocol)

    Un vistazo a OCPP (Open Charge Point Protocol)

    OCPP es el acrónimo de "Open Charge Point Protocol"; un protocolo abierto pensado como un estándar de comunicación entre puntos de recarga de vehículos eléctricos y sistemas de gestión de los mismos. Esta interfaz, pretende con su popularización, reducir el esfuerzo que podría suponer la adaptación de cualquier software a las características específicas de un punto de recarga. Si todas las estaciones "hablan" OCPP, el proveedor del software sólo debe preocuparse de que su plataforma también lo h...

  2. Cómo y por qué hacer tests funcionales en Symfony2

    Cómo y por qué hacer tests funcionales en Symfony2

    Como Robert C. Martin menciona en su famoso libro “Clean Code”, normalmente tendemos a tratar a los tests como “ciudadanos de segunda”; claro está que el elemento estrella es la funcionalidad, pero a veces las prisas por sacar nuestro software a producción nos hace obviar la importancia del testing. Deberíamos sin embargo tenerlo en cuenta como parte del código a entregar, y en la medida de lo posible considerar que hasta que no está bien realizado y distribuido, nuestro trabajo no ha finalizado...

  3. El patrón Abstract Factory

    El patrón Abstract Factory

    Desde hace algunos días estoy leyendo bastante sobre distintos patrones de diseño. Los patrones no son más que soluciones comunes aplicadas a problemas recurrentes que surgen de forma habitual durante el desarrollo de software. La identificación y catalogación de estos paradigmas, ayuda a la comunidad de desarrolladores a no reinventar la rueda, pues ofrecen soluciones elegantes a problemas complejos. En el libro “Design Patterns” de Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides (que...

  4. Usando Vim como IDE

    Usando Vim como IDE

    Desde hace algún tiempo utilizo ZendStudio como IDE. La verdad es que es una herramienta muy potente aunque es, creo yo, demasiado pesada teniendo en cuenta que la uso para programar en PHP o Javascript en la mayoría de los casos. Últimamente he estado mirando alternativas, y he acabado probando Vim. Es verdad que todos la usamos para editar scripts en línea de comandos (un amigo me dijo que cada vez que usaba “Nano” Dios mataba un programador), aunque yo nunca la había explorado muy a fondo; ab...

  5. LogMonitor: Programando un sistema de alertas para logs con Node.js

    LogMonitor: Programando un sistema de alertas para logs con Node.js

    A través del módulo “child_process” Node.js nos permite lanzar un proceso hijo, y mantener un “stream” de datos por cada entrada o salida estándar del mismo (stdin, stdout y stderror), de forma no bloqueante. Por su parte el método “spawn” de este módulo, nos permite la creación de un proceso hijo mediante argumentos en línea de comandos. Aprovechando esta particularidad he programado un pequeño sistema para el control de logs; LogMonitor, que prácticamente acabo de subir a GitHub. La idea es ac...

  6. Primeros pasos en Silex framework

    Primeros pasos en Silex framework

    Cuando nos acostumbramos a una tecnología, muchos solemos tender a intentar resolver todos los proyectos con la misma. A veces nos encontramos programando scripts en PHP (por ejemplo) que podrían resolverse en algún otro lenguaje que se ajusta mejor a las funciones que necesitamos. El asunto es, que esto mismo me ha ocurrido con Symfony en alguna ocasión, y aún sabiendo de la existencia de Silex, hasta hace poco no me había puesto con ello. Silex es un microframework basado en Symfony; una h...

  7. Cómo crear extensiones para Twig

    Cómo crear extensiones para Twig

    El sistema de plantillas de Symfony (Twig), ofrece por defecto una gran cantidad de funciones. No obstante, es posible que en alguna ocasión, necesitemos extender esa funcionalidad. Las extensiones de Twig, sirven precisamente para eso; a través de ellas podemos utilizar funciones dentro de plantillas. Imaginemos que queremos crear una función "base64_encode” que codifique una cadena en base 64, y que podamos usar dentro de una plantilla de la siguiente manera: {{ "cadena"|base64_encode }} ...

  8. Implementando sesiones en web sockets con Node.js y Socket.io

    Implementando sesiones en web sockets con Node.js y Socket.io

    Sin un inicio de sesión previo, un socket establecido mediante Socket.IO con un servidor Node.js, se encuentra abierto y disponible para cualquiera que escuche. En este documento se implementa una validación previa que "securiza" la conexión con el socket. Proceso de validación 1. El cliente envía login y password a una url concreta. 2. El servidor valida las credenciales y almacena un token de sesión. 3. El servidor genera una cookie con el token de sesión y la envía al cliente. 4. Durante la...

  9. Cómo instalar Symfony2 y controlar las versiones de tu proyecto con Git

    Cómo instalar Symfony2 y controlar las versiones de tu proyecto con Git

    Symfony es un framework de desarrollo en PHP basado en el patrón MVC (Modelo Vista Controlador). Symfony provee al desarrollador de herramientas comúnmente utilizadas en la mayoría de proyectos web, para agilizar el proceso de desarrollo. Por su parte Git, es un sistema de control de versiones que cada vez cuenta con un mayor número de usuarios. Una de sus principales ventajas frente a otros sistemas, como por ejemplo SVN, es una gestión distribuída del proyecto (cada usuario cuenta con su pro...