book cover
(2nd) Second edition
Language
ES ES
Pages 281
ISBN 978-84-124520-2-0
Erlang

Erlang/OTP Volumen II

Las Bases de OTP

Available formats Instant delivery for digital

Also available in bookstores:

Description Content Information Authors Private posts Related books

Description

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

Content

15 sections

Introduction

  • Introducción

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

Chapters

  • Especificación de Tipos sample

    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 sample

    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.

Appendixes

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

Authors

Manuel Ángel Rubio Jiménez

Polyglot Developer, Writer, Manager and Trainer

He started programming at the age of 12 with languages such as GW-BASIC, QBasic, MODULA-2, Pascal and C. When he started working he already mastered Java, JavaScript, PHP, Perl, Ruby, Python among others and later he would start with Rust , Golang, Erlang, Elixir and Gleam. But what attracts him most is being able to teach programming in those languages to others. He began his training as a teacher attending a course in London and later as a mentor for Erlang, Elixir, OTP, Ecto and other technologies within Erlang Solutions Ltd. Writing books is for Manuel another way not only to teach but also to learn, as and as Feynman said.

Private posts

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?

Information

ISBN 978-84-124520-2-0
Legal deposit CO 2121-2022
Number of pages 281
Edition (2nd) Second edition
Language es
Published date November of 2022
Author Manuel Ángel Rubio Jiménez
Reviewer Jose Luis Gordo Romero, Juan Sebastián Pérez Herrero