Visão Geral
O Curso Erlang Fundamentals, oferece uma introdução completa à linguagem de programação Erlang, conhecida por sua alta concorrência, distribuição e tolerância a falhas. O Curso Erlang Fundamentals, será focado em capacitar os alunos a desenvolver sistemas escaláveis e altamente disponíveis, com base nos princípios fundamentais da linguagem Erlang e suas principais características, como o modelo de atores, processos leves e hot code swapping. Além disso, o curso aborda os principais conceitos de programação funcional e como aplicar essas técnicas para criar sistemas distribuídos.
Este Curso Erlang Fundamentals, é ideal para aqueles que desejam dominar a linguagem Erlang e aplicá-la em contextos onde a concorrência, escalabilidade e tolerância a falhas são essenciais.
Objetivo
Após realizar este Curso Erlang Fundamentals, você será capaz de:
- Compreender os conceitos fundamentais da linguagem Erlang e sua máquina virtual BEAM.
- Criar sistemas concorrentes utilizando o modelo de atores.
- Projetar e desenvolver sistemas distribuídos, tolerantes a falhas, e escaláveis com Erlang.
- Implementar aplicações que aproveitam a troca de código em tempo real (hot code swapping).
- Entender e aplicar os princípios de programação funcional no desenvolvimento de software.
- Desenvolver sistemas que utilizam processos leves e comunicação entre eles.
Publico Alvo
- Desenvolvedores de software interessados em construir sistemas escaláveis e tolerantes a falhas.
- Profissionais de TI que trabalham com telecomunicações, plataformas de mensageria ou sistemas distribuídos.
- Arquitetos de sistemas que precisam projetar soluções com alta disponibilidade.
Pre-Requisitos
- Conhecimentos básicos em programação (qualquer linguagem).
- Noções de sistemas distribuídos e concorrentes são recomendadas, mas não obrigatórias.
Informações Gerais
- Certificado de conclusão.
- Material de apoio e acesso ao ambiente virtual de aprendizado.
- Suporte ao aluno durante o curso para garantir a absorção do conteúdo.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Introduction to Erlang and BEAM
- Overview of Erlang's history and its key applications.
- Introduction to the BEAM virtual machine.
- Understanding Erlang's architecture for concurrent, distributed, and fault-tolerant systems.
Getting Started with Erlang
- Installing Erlang and setting up the development environment.
- Writing your first Erlang program.
- Understanding Erlang's syntax and data types.
Functional Programming in Erlang
- Core principles of functional programming.
- Immutability and its benefits in concurrent systems.
- Working with lists, tuples, and higher-order functions.
Concurrency with Erlang Processes
- Understanding Erlang's lightweight processes.
- The actor model and message-passing concurrency.
- Creating and managing processes.
- Process communication and synchronization.
Fault Tolerance and Supervision Trees
- Error handling in Erlang.
- Design principles for fault-tolerant systems.
- Using supervision trees to monitor and restart failed processes.
Distributed Programming with Erlang
- Setting up distributed Erlang nodes.
- Communication between nodes in a distributed system.
- Designing scalable, distributed applications.
Hot Code Swapping
- Implementing hot code swapping in Erlang.
- Updating running systems without downtime.
- Use cases and best practices for live code upgrades.
Building and Running Erlang Applications
- Structuring Erlang applications.
- Introduction to OTP (Open Telecom Platform) and its importance.
- Creating robust applications using OTP principles.
Testing and Debugging in Erlang
- Common tools for testing Erlang applications.
- Debugging techniques and tools.
- Writing unit tests and functional tests.
Advanced Erlang Features
- Working with ETS (Erlang Term Storage) and Mnesia for data storage.
- Advanced process monitoring and error handling strategies.
- Performance tuning and optimization.
Case Studies and Real-World Applications
- Exploring real-world systems built with Erlang.
- WhatsApp: Scalability with Erlang.
- RabbitMQ: Erlang in distributed messaging systems.
Hands-on Project
- Developing a real-time chat server or distributed system using Erlang.
- Integrating fault tolerance and concurrency in a practical scenario.
- Final project presentation and review.
TENHO INTERESSE