Qué hay dentro de los libros
Aquí puedes echar un vistazo a lo que puedes encontrar dentro de los libros, algunos capítulos y algunos extractos si quieres lanzarte directamente a la lectura ahora mismo.
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.
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.
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.
Supervisando Procesos
Damos un repaso completo al supervisor. Repasamos a través de 3 ejemplos sus características, propiedades y funcionamiento.
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.
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.
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.
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.
Ecosistema
Por último damos un repaso al ecosistema de Erlang. Aprendemos cómo desarrollar un proyecto usando rebar3 como herramienta de desarrollo para crear un proyecto y realizar lanzamientos y actualizaciones en caliente del código.
Seguridad Y Encriptación
Muestra cómo emplear el módulo crypto y otras facilidades para proveer de TLS tus conexiones y encriptar/desencriptar mensajes.
Comunicaciones
Conceptualizamos la comunicación en red de computadoras y realizamos clientes y servidores para TCP y UDP explicando cómo realizar accesos concurrentes con TCP.
DETS, Ficheros Y Directorios
Muestra el uso de las tablas DETS, creación, eliminación y búsqueda de información. Manejo de ficheros tanto a nivel individual (creación, lectura, escritura y eliminación) como a nivel de directorio (directorio de trabajo, crear, listar y eliminar directorios).
Memoria Y ETS
Muestra el uso de las tablas ETS y el uso de elementos para almacenar términos persistentes en memoria, atómicos y/o contadores.
Procesos
Analiza la anatomía de un proceso, ventajas e inconvenientes del sistema de procesos de Erlang, lanzamiento, nombre y comunicación de los procesos, procesos enlazados, monitorización de procesos, recarga de código en caliente, nodos y ejecución en remoto.
Tiempo Real
Fechas y horas, definición de tiempo monótono, cómo funciona la hora y la medición del tiempo en Erlang y los cambios importantes introducidos a partir de OTP 18.
El Lenguaje
Sintaxis del lenguaje, tipos de datos (átomos, números enteros y reales, variables, listas, tuplas, registros y mapas), conversión de datos e impresión por pantalla.
Lo Que Debes Saber Sobre Erlang extracto
Definición de Erlang como lenguaje y plataforma, características, historia, desarrollos realizados con Erlang y la concurrencia.