Curso Erlang Fundamentals

  • DevOps | CI | CD | Kubernetes | Web3

Curso Erlang Fundamentals

24 horas
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

  1. Overview of Erlang's history and its key applications.
  2. Introduction to the BEAM virtual machine.
  3. Understanding Erlang's architecture for concurrent, distributed, and fault-tolerant systems.

Getting Started with Erlang

  1. Installing Erlang and setting up the development environment.
  2. Writing your first Erlang program.
  3. Understanding Erlang's syntax and data types.

Functional Programming in Erlang

  1. Core principles of functional programming.
  2. Immutability and its benefits in concurrent systems.
  3. Working with lists, tuples, and higher-order functions.

Concurrency with Erlang Processes

  1. Understanding Erlang's lightweight processes.
  2. The actor model and message-passing concurrency.
  3. Creating and managing processes.
  4. Process communication and synchronization.

Fault Tolerance and Supervision Trees

  1. Error handling in Erlang.
  2. Design principles for fault-tolerant systems.
  3. Using supervision trees to monitor and restart failed processes.

Distributed Programming with Erlang

  1. Setting up distributed Erlang nodes.
  2. Communication between nodes in a distributed system.
  3. Designing scalable, distributed applications.

Hot Code Swapping

  1. Implementing hot code swapping in Erlang.
  2. Updating running systems without downtime.
  3. Use cases and best practices for live code upgrades.

Building and Running Erlang Applications

  1. Structuring Erlang applications.
  2. Introduction to OTP (Open Telecom Platform) and its importance.
  3. Creating robust applications using OTP principles.

Testing and Debugging in Erlang

  1. Common tools for testing Erlang applications.
  2. Debugging techniques and tools.
  3. Writing unit tests and functional tests.

Advanced Erlang Features

  1. Working with ETS (Erlang Term Storage) and Mnesia for data storage.
  2. Advanced process monitoring and error handling strategies.
  3. Performance tuning and optimization.

Case Studies and Real-World Applications

  1. Exploring real-world systems built with Erlang.
  2. WhatsApp: Scalability with Erlang.
  3. RabbitMQ: Erlang in distributed messaging systems.

Hands-on Project

  1. Developing a real-time chat server or distributed system using Erlang.
  2. Integrating fault tolerance and concurrency in a practical scenario.
  3. Final project presentation and review.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h