Erlang/OTP

Un mundo concurrente

1ª Edición

Las bases de OTP...

Tras el primer volumen y saber lo que podemos hacer con Erlang viene el turno de OTP. El framework OTP se distribuye dentro de Erlang y contiene la base necesaria para el desarrollo de aplicaciones completas y profesionales en Erlang.

En este volumen se hace un repaso completo a todos los comporamientos de OTP, los tipos y dialyzer y a lo largo de todo el libro se avanza en la construcción de varios proyectos.

"La construcción exitosa de toda máquina depende de la perfección de las herramientas empleadas. Quien sea un maestro en el arte de la fabricación de herramientas poseerá la clave para la construcción de todas las máquinas. Charles Babbage

El libro Erlang/OTP Volumen II: Las Bases de OTP ofrece un avance claro en el framework OTP necesario para construir aplicaciones profesionales en Erlang/OTP.

Comprar*

*Disponible desde junio de 2018.

Contenido

  1. Introducción

    Sobre los autores, el libro, los volúmenes, nomenclatura y agradecimientos.

  1. Especificación de Tipos muestra

    Una forma de obtener comprobación de tipos y una comprobación a través de Dialyzer de la calidad del código, posibles problemas y mejoras.

  2. Programación Orientada a la Concurrencia

    Un recorrido desde la Orientación a Objetos hasta el Modelo Actor, cómo trata Erlang la concurrencia y las características aplicadas a OTP.

  3. Comportamientos

    Definir comportamientos para implementar en Erlang. Una visión desde cero para entender cómo está creado OTP y cómo funciona.

  4. Creando Servidores

    Definimos la unidad mínima de programación en OTP: el servidor. Exploramos todas las posibilidades de gen_server a través de 3 ejemplos.

  5. Máquinas de Estados Finitos muestra

    Avanzamos y ampliamos con las Máquinas de Estados Finitos (FSM) ya en desuso (a partir de OTP 20), pero muy empleadas en muchos códigos actuales. Repasamos 3 ejemplos para entender bien cómo funciona.

  6. Máquinas de Estados

    Una nueva y mejorada versión de FSM orientada a la máquina de estados de Mealy. Repasamos cómo adaptar FSM a este nuevo enfoque y aprovechar sus nuevas y mejoradas características. Rehacemos los 3 ejemplos de FSM en gen_statem.

  7. Manejadores de Eventos

    La gestión de eventos se realiza en Erlang/OTP para el sistema de logs y alarmas. Vemos como construir nuestro propio generador de eventos a través de 3 ejemplos y estudiamos como emplear error_logger y alarm_handler.

  8. Supervisando Procesos

    Damos un repaso completo al supervisor. Repasamos a través de 3 ejemplos sus características, propiedades y funcionamiento.

  9. Creando una Aplicación

    Creamos 3 aplicaciones de ejemplo. Avanzamos más hilando todos los conceptos vistos desde el servidor y supervisor y cómo la aplicación los emplea para iniciar estructuras de procesos, actualizaciones de esas estructuras al completo, control de dependencias, versiones y configuración.

  10. Distribución

    A través de la aplicación kernel conoceremos cómo construir sistemas de alta disponibilidad, grupos de procesos y contenedores (pools) para diseñar y poner en funcionamiento sistemas distribuidos.

  11. Lanzamientos

    Ampliando nuestro conocimiento sobre las aplicaciones en este caso llegamos a los lanzamientos (releases en inglés). Conjuntos de aplicaciones empaquetadas para ser puestas en funcionamiento. Aprenderemos cómo realizar este proceso desde dentro y cómo lo realiza relx y rebar3 por nosotros.

  1. Documentación de Erlang: EDoc

    Un resumen y receta de cómo documentar un código para generar documentación a partir de estos comentarios.

  2. Línea de comandos: Dialyzer

    Una guía de uso de dialyzer un poco más completa que el extracto visto en el capítulo de tipos. Muestra los parámetros, la generación de los ficheros PLT y errores comunes.

  3. Parámetros de erl

    Ayuda de uso de línea de comandos sobre las configuraciones posibles para el comando erl. Es un resumen escueto pero da varios trucos sobre optimizaciones y definiciones de parámetros.