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.

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.

Acércate al lenguaje que lo ha cambiado todo en el desarrollo de servidor.

¡No pierdas la oportunidad de aprender!

PDF ePUB 24,00 €  18,00 €

Preguntas de Uso Frecuente

Si tienes preguntaso te solo quieres decir hola, contáctanos. Quizás algunas de tus preguntas puedan ser respondidas en la sección de preguntas de uso frecuente.

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.

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.

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í:

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.

Manuel Rubio
Saber Más Sobre el Autor/a

Manuel Rubio

Desarrollador Políglota, Escritor, Gerente y Mentor

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.

Si deseas recibir actualizaciones para este libro, ofertas y más: