Elixir es un lenguaje de programación funcional diseñado para construir aplicaciones escalables y mantenibles que aprovecha y potencializa el poder de la máquina virtual de Erlang, famosa porque habilita el desarrollo de sistemas altamente concurrentes y tolerantes a fallas.

Dado que la plataforma plantea maneras bastante diferentes de cómo construir aplicaciones, los desarrolladores que comienzan a usarla, frecuentemente cometen inadvertidamente errores en su uso, en parte debido a que muchas veces tratan de replicar las soluciones que ya han usado en otras plataformas. Por otro lado, la sofisticación de las herramientas que están disponibles y la escasez de materiales educativos sobre temas avanzados de la plataforma, comúnmente se traducen en curvas de aprendizaje muy largas para los nuevos desarrolladores. Este curso pretende ayudar con esta situación. 

· A quien va dirigido:

  • Personas que ya conocen un conocimiento básico de la plataforma (lenguaje, máquina virtual, bibliotecas y herramientas estándar) y quieren ahondar en temas avanzados de la misma guiados por un instructor con experiencia. 
  • Personas o empresas que están por comenzar proyectos de tamaño considerable sobre la plataforma y quieren sentirse seguros de utilizarla correctamente.
  • Personas o empresas que quieren ahondar sobre los cambios en la arquitectura de software que implica moverse hacia esta plataforma.
  • Personas o empresas que ya han utilizado la plataforma en proyectos reales, pero consideran que su conocimiento de la misma aún no es del nivel que desean.

Diseñar aplicaciones altamente concurrentes entendiendo las ventajas de la BEAM

· Temario del entrenamiento:

Día 1
  • ETS Tables
  • Mnesia
  • Ecto in Depth
Día 2
  • Architecting Erlang Applications, part 1
    • Structuring Applications
    • From requirements to Supervision Trees
    • Multi-Projects
    • OTP Patterns
Día 3
  • Application deployment strategies
  • Integrating other languages.
Día 4
  • Architecting Erlang Applications, part 2
    • Task management
    • Using 3rd party services
    • Failure recovery
Día 5
  • BEAM in Depth
  • Erlang Clusters
  • Monitoring

· Pre-requisitos:

Necesarios:
  • Conocimientos del lenguaje Elixir.
  • Conocer sobre el manejo de procesos con Elixir/Erlang

Recomendables:
  • Haber creado alguna aplicación en Elixir y/o Phoenixframework