Capítulos: 11 Español Manuel Rubio

Acerca del Libro

Para quienes quieren pasar de escribir funciones en Elixir a diseñar aplicaciones con procesos que colaboran. Este libro presenta las herramientas de OTP y cómo utilizarlas desde Elixir.

Entiende cómo encajan las piezas

Relaciona el modelo actor con las aplicaciones, los supervisores y los servidores. Aprende a distribuir responsabilidades entre procesos y a organizar su supervisión.

Elige las herramientas para cada problema

Explora agentes, tareas y registros, y continúa con máquinas de estados y publicación/suscripción mediante GenStage. Comprende qué aporta cada herramienta a tu aplicación.

Prepara el código para dar el siguiente paso

Trabaja con especificaciones de tipos y recorre la creación de lanzamientos. Un recorrido desde los fundamentos de la concurrencia hasta la preparación de tus aplicaciones para producción.

extracto

Qué hay dentro del libro

Explorar el índice y las muestras

Capítulos · 11

01Programació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.

02Especificació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.

03Aplicaciones

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

04Supervisores

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

05Servidores

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

extracto ↗
06Agentes

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

07Tareas

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

08Registro

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.

09Má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.

10GenStage: 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.

11Lanzamientos

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.

Manuel Rubio

Autor

Manuel Rubio

Desarrollador Políglota, Escritor, Gerente y Mentor

Saber Más Sobre el Autor/a

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.

Convierte tus conocimientos de Elixir en aplicaciones con OTP.

Elixir/OTP: Alquimia con OTP

Suscríbete

Suscríbete para mantenerte informado de las novedades.