Libros incluidos: 2 Español Manuel Rubio

Qué hay dentro de los libros

Erlang/OTP Volumen I: Un Mundo Concurrente

01

Erlang/OTP Volumen I: Un Mundo Concurrente

El libro Erlang/OTP Volumen I: Un Mundo Concurrente ofrece una introducción clara y cuidada al lenguaje, sus características y el trabajo básico con el entorno de la máquina virtual de Erlang.
Erlang/OTP Volumen II: Las Bases de OTP

02

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.
Acerca de los Libros

Estos dos volúmenes te permiten aprender a programar un lenguaje funcional y orientado a la concurrencia como es Erlang completamente desde cero, sin necesidad de tener conocimientos previos en otros lenguajes de programación respondiendo a estas preguntas:

¿Qué es Erlang?

Nos adentramos en qué es programar y sobre todo qué es programar en un lenguaje funcional y orientado a la concurrencia como Erlang.

¿Cómo podemos programar de forma funcional?

Resolvemos esta pregunta para saber cómo desarrollar código funcional y declarativo.

¿Cómo implementamos un servidor?

Comentamos cómo funcionan las interfaces de red tanto IP, TCP y UDP y creamos clientes y servidores en los diferentes protocolos.

¿Cómo trabajamos con procesos?

Los procesos son parte del lenguaje en Erlang, aprendemos qué son, cómo funcionan y cómo podemos crear servidores concurrentes fácilmente.

¿Qué es OTP?

Nos adentramos en el framework que nos proporciona las mecánicas necesarias para crear servidores, máquinas de estados, gestores de eventos, supervisores y aplicaciones, así como la forma de trazar y trabajar con estos.

¿Cómo creamos un proyecto listo para producción?

En ambos libros tratamos este apartado, trabajar con el ecosistema de Erlang. Es muy importante saber cómo lanzar aplicaciones y crear proyectos que podamos desplegar en producción. En estos libros cubrimos estos aspectos.

No pases la oportunidad de aprender Erlang, aunque no uses el lenguaje, aprender un lenguaje como Erlang puede enseñarte a pensar los problemas de otra forma.

Recuerda que Erlang ha influenciado a lenguajes como Go o Scala y su framework OTP a otros como Akka.

Lo Que Debes Saber Sobre Erlang
Definición de Erlang como lenguaje y plataforma, características, historia, desarrollos realizados con Erlang y la concurrencia.
extracto
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.
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.
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.
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.
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).
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.
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.
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.
Especificación de Tipos
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.
extracto
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
Avanzamos y ampliamos con las Máquinas de Estados de Mealy. Repasamos 3 ejemplos para entender bien cómo funciona gen_statem.
extracto
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.
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.
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.

Preguntas de Uso Frecuente

¿Por qué está el libro separado en dos volúmenes?

La extensión de los libros se ha medido para no resultar muy pesada a las personas que quieran adentrarse y se han separado los libros por conceptos cubriendo en el volumen I las bases de lenguaje y en el volumen II el framework OTP.

¿Puedo adquirir los libros físicos en papel?

En la página web ya no suelo vender los libros en papel, pero en la página de cada libro puedes encontrar enlaces para comprar el libro físico en diferentes librerías. Puedes verlos aquí:

¿Necesito saber programar?

No. El material mostrado en el libro asume que no tienes conocimientos específicos de programación y en lugar de mostrarte diferencias con otros lenguajes tratamos la programación desde cero y abarcando cada elemento al estilo que lo emplea Erlang.

Este enfoque lo hemos encontrado muy práctico y mejor para quien no sabe nada o sabe únicamente otros paradigmas de programación completamente diferentes.

¿Por qué este libro y no otro?

Hay grandes libros sobre Erlang, pero la mayoría de ellos están basados en que ya sabes programar. De hecho, la mayoría se enfocan en las diferencias y las potencias de Erlang como los procesos y no en Erlang como lenguaje de propósito general.

Además, este fue el primer material que emplee para enseñar a mis compañeros y a todo el que entraba en la empresa (2009) y que he ido evolucionando poco a poco y año tras año.

Otra razón de peso puede ser que es el único libro en español disponible hasta la fecha y el más completo.

De tu primer proceso a tu próxima aplicación con OTP.

Erlang

Suscríbete

Suscríbete para mantenerte informado de las novedades.