book cover
Language
ES ES
Pages 202
ISBN 978-84-945523-5-9
Elixir

Elixir/OTP

Alquimia con OTP

Available formats Instant delivery for digital

Also available in bookstores:

Description Content Information Authors Private posts Related books

Description

El poder de OTP en Elixir

Aprender OTP sobre Elixir te proporciona lo mejor de ambos mundos. Por un lado la potencia de OTP para el desarrollo de soluciones basadas en alta capacidad, concurrencia y tolerancia a fallos. Por otro lado Elixir para ayudar a implementar cada aspecto con un entorno entre funcional y de meta-programación ideal para reducir el código repetitivo (boilerplate).

Por lo tanto, en este libro veremos a través de un par de videojuegos (Zero y Leprechaun) las bases para desarrollar empleando aplicaciones, supervisores, servidores, máquinas de estados y gestores de eventos.

"El poder de OTP viene del hecho de que propiedades tales como tolerancia a fallos, escalabilidad, recarga de código dinámica y más, son provistas por el comportamiento en sí mismo. Joe Armstrong

Content

13 sections

Introduction

  • Introducción

    Sobre el autor, el libro, nomenclatura y agradecimientos.

Chapters

  • Programación Orientada a la Concurrencia

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

  • Especificación de Tipos

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

  • Aplicaciones

    Cómo la aplicación inicia estructuras de procesos, control de dependencias, versiones y configuración.

  • Supervisores

    Damos un repaso completo al supervisor, al supervisor dinámico y el supervisor particionado y cómo emplearlo en los proyectos de ejemplo.

  • Servidores sample

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

  • Agentes

    Aprender cuándo podemos emplear Agent, sus casos de uso, potencias y debilidades nos puede ayudar a diseñar mejor nuestras aplicaciones.

  • Tareas

    Aprendemos a lanzar procesos para llevar a cabo una tarea y obtener un resultado o mantener un flujo de tareas constantes de trasfondo.

  • Registro

    Además del registro de BEAM con átomos disponemos de otro sistema que no solo nos permite almacenar una clave para rescatar un proceso ligado a esa clave sino también metadatos. Veremos ejemplos de cómo sacarle el mayor partido al registro.

  • Máquinas de Estados

    La máquina de estados de estados de Mealy. Repasamos cómo adaptar este nuevo enfoque partiendo del servidor genérico y aprovechar sus características.

  • GenStage: Publicación/Suscripción

    Veremos cómo trabajar con GenStage que es la base de Flow y Broadway y un elemento indispensable para construir elementos de publicación/subscripción.

  • 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 a través de distillery, cómo lo hace mix y las opciones de que disponemos con los proyectos umbrella.

Appendixes

  • Línea de Comandos: Dialyxir

    Una guía de uso de dialyxir 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.

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?
Mientras escribía el capítulo sobre Máquinas de Estados en el libro de [Elixir/OTP: Alquimia con OTP](/book/elixir-otp) me encontré que solo emplee máquinas de estados en el juego Zero y en las comprobaciones de Hemdal. Sin embargo, cuando como ejercicio pensé cómo sería trasladar [Mine](https://mine.altenwald.com) para usar una máquina de estados, lo vi tan claro que finalmente lo hice, ¿sabes cómo realizar estos cambios?

Information

ISBN 978-84-945523-5-9
Legal deposit CO 2122-2022
Number of pages 202
Edition (1st) First edition
Language es
Published date February of 2023
Author Manuel Ángel Rubio Jiménez