portada del libro
(2ª) Segunda edición

ES 281 páginas

Erlang

Erlang/OTP Volumen II

Las Bases de OTP

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.
Formatos disponibles Descarga digital inmediata

También en librerías:

Descripció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

Contenido

15 secciones

Introducción

  • Introducción

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

Capítulos

  • Especificación de Tipos extracto

    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.

  • 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.

  • Comportamientos

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

  • 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.

  • Máquinas de Estados extracto

    Avanzamos y ampliamos con las Máquinas de Estados de Mealy. Repasamos 3 ejemplos para entender bien cómo funciona gen_statem.

  • Manejadores de Eventos

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

  • Supervisando Procesos

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

  • 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.

  • 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.

  • Anotaciones con logger

    Saber qué sucede dentro del servidor es crucial para detectar fallos o simplemente ver si funciona de forma apropiada. Aprenderemos cómo logger nos puede ayudar.

  • 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.

Apéndices

  • 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.

  • 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.

  • 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.

Autores

Manuel Ángel Rubio Jiménez

Desarrollador Políglota, Escritor, Gerente y Mentor

Comenzó a programar a los 12 años con lenguajes como GW-BASIC, QBasic, MODULA-2, Pascal y C. Cuando comenzó el mundo laboral ya dominaba Java, JavaScript, PHP, Perl, Ruby, Python entre otros y más tarde comenzaría con Rust, Golang, Erlang, Elixir y Gleam. Pero lo que más le atrae es poder enseñar a programar en esos lenguajes a otros. Comenzó su formación como profesor asistiendo a un cruso en Londres y más tarde como mentor de Erlang, Elixir, OTP, Ecto y otras tecnologías dentro de Erlang Solutions Ltd. Escribir libros es para Manuel otra forma no solo de enseñar sino también de aprender, tal y como decía Feynman.

Artículos privados

Podemos emplear servidores, agentes o tablas ETS para almacenar información en la memoria del sistema, los servidores y los agentes son estados y las tablas permiten más versatilidad, pero ¿cuándo debemos usar cada cual?

Información

ISBN 978-84-124520-2-0
Depósito legal CO 2121-2022
Número de páginas 281
Edición (2ª) Segunda edición
Idioma es
Fecha de publicación noviembre de 2022
Autor Manuel Ángel Rubio Jiménez
Revisor Jose Luis Gordo Romero, Juan Sebastián Pérez Herrero