Conocerás los elementos necesarios para crear aplicaciones altamente escalables y tolerantesa a fallos
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. Phoenix es un framework que permite construir aplicaciones y APIs para la web moderna soportando grandes volúmenes de operaciones con excelente desempeño y uso muy bajo de recursos.
Hoy en día compañías famosas como WhatsApp (adquirida por Facebook) utilizan Erlang como base principal de su operación, soportando a miles o millones de usuarios simultáneamente y ofreciendo servicios que ofrecen el 99.99% de disponibilidad. ¿Cómo lo hacen? Ven y descúbrelo en este entrenamiento…
· A quien va dirigido:
Este entrenamiento es recomendado para:
- Personas o empresas que desarrollan servicios o aplicaciones web.
- Personas o empresas que requieren de alta disponibilidad en sus sistema de backend.
- Personas o empresas que buscan aprovechar de forma mas eficiente su infraestructura.
Los beneficios al asistir a este curso son:
- Como persona aprender una tecnología que será cada vez mas relevante para servicios consumidos por móviles.
- Como empresa contar con una plataforma estable, madura, que ha sido probada por casi 30 años en sistemas productivos grandes y complejos.
· Pre-requisitos:
Necesarios:
- Conocimientos básicos y sólidos de programación (C, Java, Javascript, C#, Ruby, Python, Objective-C).
- Familiaridad trabajando en la linea de comandos (Unix o Windows).
- Editor de texto (Textmate,Sublime,Vim,Emacs, NotePad++).
- Conocimientos básicos de HTML y CSS.
Recomendables:
- Conocimientos esenciales de Arquitectura de computadoras
- Conocimientos de programación funcional
- Conocimientos de redes
· Contenido del entrenamiento:
- Introducción al lenguaje Elixir
- Piensa diferente…
- Transformación de datos
- Acerca de Erlang
- BEAM
- OTP
- Acerca de Elixir
- Tipos de datos y operadores
- Palabras reservadas
- Tipos de valor
- Tipos de colección
- Módulos y Funciones
- Fechas y tiempos
- Strings y binarios
- Herramientas de construcción
- Ejecutando código de elixir
- Uso de mix
- mix tasks
- Archivos .ex y .exs
- Pattern Matching
- El operador =
- Funciones y flujo de control
- Anónimas
- Operador de captura &
- Módulos
- Directivas para módulos
- Pattern matching en funciones
- Argumentos por default
- Guardas
- Pipe Operator |>
- Recursion
- Tail Call Optimization
- Higher Order Functions
- Flujo de control
- Principios de programación funcional
- Principio Funcional
- Principio de Macro
- Principio de Reinicio
- Principio de Establecimiento de valor
- Principio de DSL
- Principio de Meta-objeto
- Principio de Continuación
- Principio de Brevedad
- Principio de Multi-núcleo
- Principio Lazy
- Procesamiento de colecciones
- Módulo Enum
- Streams
- Comprehensiones
- Manejo de procesos
- Creación de Procesos
- Envío y recepción de mensajes
- Vínculación
- Manejo de errores
- Monitor de procesos
- ¿Cómo usar los procesos?