Saltar al contenido
Logotipo de Trainontech Trainontech

Lenguajes y Fundamentos de Programación · LNG-280

Elixir y el modelo de actores

Procesos ligeros, supervisión y tolerancia a fallos sobre la máquina virtual de Erlang.

Próximamente Avanzado 7 módulos · 34 clases

Formato asíncrono Desarrollo Elixir

Lo que aprenderás

  • Modelar concurrencia con procesos ligeros, paso de mensajes y receive selectivo
  • Aplicar coincidencia de patrones y el operador pipe para estructurar transformaciones de datos
  • Construir servidores con GenServer gestionando estado, llamadas síncronas y asíncronas
  • Diseñar árboles de supervisión y elegir la estrategia de reinicio adecuada
  • Organizar una aplicación OTP con Mix, dependencias de Hex y configuración por entorno
  • Diagnosticar un sistema en marcha con Observer, procesos vivos y trazas
  • Probar código concurrente con ExUnit, incluyendo pruebas asíncronas y doctests

Contenido del curso

7 módulos · 34 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y entorno 4 clases
  • Qué problema resuelve la plataforma de Erlang
  • Instalación de Elixir, IEx y primer proyecto con Mix
  • Estructura de un proyecto y gestión de dependencias con Hex
  • Herramientas de formato y análisis del código
Módulo 2 · El lenguaje 5 clases
  • Tipos, átomos, tuplas, listas y mapas
  • Coincidencia de patrones y el operador de enlace
  • Funciones, cláusulas múltiples y guardas
  • El operador pipe y las transformaciones encadenadas
  • Módulos, structs y protocolos
Módulo 3 · Procesos y mensajes 5 clases
  • spawn, send y receive desde cero
  • Estado mantenido con recursión de cola
  • Enlaces, monitores y propagación de fallos
  • Registro de procesos por nombre
  • Ejercicio: un contador concurrente sin OTP
Módulo 4 · Comportamientos de OTP 5 clases
  • GenServer: init, handle_call y handle_cast
  • Tiempos de espera y llamadas que no responden
  • Agent y Task para casos sencillos
  • Registry y procesos dinámicos
  • Reescribir el contador anterior como GenServer
Módulo 5 · Supervisión y tolerancia a fallos 5 clases
  • Árboles de supervisión y jerarquía de la aplicación
  • Estrategias one_for_one, one_for_all y rest_for_one
  • DynamicSupervisor para procesos creados en marcha
  • Dejar que falle: filosofía y sus límites
  • Provocar caídas y observar la recuperación
Módulo 6 · Observación y pruebas 5 clases
  • Observer y el estado del sistema en marcha
  • Trazas y depuración de procesos vivos
  • Pruebas con ExUnit y aserciones sobre mensajes
  • Doctests y documentación ejecutable
  • Concurrencia en pruebas y aislamiento de casos
Módulo 7 · Proyecto de cierre 5 clases
  • Servicio con estado por sesión y expiración
  • Árbol de supervisión completo de la aplicación
  • Configuración por entorno y variables de despliegue
  • Nodos conectados y llamadas entre máquinas
  • Repaso y camino hacia Phoenix

Requisitos

  • Experiencia sólida programando y haber trabajado antes con concurrencia o asincronía
  • Manejo de la línea de órdenes, Git y gestión de dependencias
  • Elixir y Erlang/OTP instalados en local

Descripción

Los sistemas que atienden miles de conexiones simultáneas, mantienen estado por usuario o deben seguir en pie cuando una parte falla se vuelven muy difíciles de escribir con hilos y bloqueos. La plataforma de Erlang lleva décadas resolviendo ese problema con procesos aislados y supervisión, y Elixir la hace accesible con una sintaxis moderna y buenas herramientas.

El curso construye un sistema completo de forma incremental: primero los procesos y el paso de mensajes a mano, después los comportamientos de OTP que los formalizan, y por último la aplicación supervisada con su árbol de reinicio. Se implementa un servicio con estado por sesión, se provoca su caída deliberadamente y se comprueba cómo el supervisor lo restablece sin afectar al resto.

Al terminar se puede leer y extender una base de código Elixir de producción, razonar sobre aislamiento de fallos y decidir la granularidad de supervisión de un sistema. Es la puerta de entrada a Phoenix, a LiveView y a la construcción de servicios distribuidos sobre nodos conectados de la máquina virtual de Erlang.

¿Para quién es este curso?

  • Desarrolladores backend que mantienen servicios con muchas conexiones concurrentes y estado en memoria
  • Perfiles que vienen de hilos y bloqueos y buscan un modelo de concurrencia con aislamiento real
  • Equipos que evalúan Elixir y Phoenix para sistemas donde la disponibilidad es un requisito
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
LNG-280
Nivel
Avanzado
Público
Desarrollo
Entorno
Elixir

Este curso incluye

  • 34 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

PY-106Lenguajes y Fundamentos de Programación

Concurrencia: multihilo y multiproceso

Paralelizar adquisición de datos y tareas de E/S sin introducir errores difíciles de reproducir.

Python

Avanzado 33 clases

PY-107Lenguajes y Fundamentos de Programación

Testing y TDD en Python

Pruebas unitarias, fixtures y desarrollo dirigido por pruebas en proyectos técnicos reales.

Python

Avanzado 34 clases

PY-131Lenguajes y Fundamentos de Programación

Webscraping con agentes de IA en local

Agentes que navegan y extraen datos sin depender de servicios en la nube.

PythonOllama

Avanzado 34 clases