Szkolenie: Programowanie w języku Erlang
Podczas szkolenia uczestnicy poznają język Erlang – funkcyjny język programowania zaprojektowany do budowania rozproszonych, odpornych na błędy systemów o wysokiej dostępności. Kurs koncentruje się na praktycznym wykorzystaniu Erlang w tworzeniu skalowalnych aplikacji współbieżnych, systemów telekomunikacyjnych oraz aplikacji czasu rzeczywistego. Uczestnicy zdobędą fundamenty do dalszego rozwoju w obszarze programowania systemów rozproszonych, przetwarzania współbieżnego oraz budowania niezawodnych aplikacji działających 24/7.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:ERLANG/PROG
Programowanie w języku Erlang
Cele szkolenia
Gruntowne wprowadzenie do składni i paradygmatu funkcyjnego języka Erlang
Poznanie i zrozumienie modelu aktorów oraz przetwarzania współbieżnego
Zapoznanie z platformą OTP (Open Telecom Platform) i jej wzorcami projektowymi
Przedstawienie filozofii "Let it crash" oraz mechanizmów odporności na błędy
Nabycie praktycznych umiejętności budowania rozproszonych systemów w Erlang
Dla kogo?
Programistów chcących kompleksowo poznać język Erlang i platformę OTP, poszerzyć posiadane umiejętności w zakresie programowania funkcyjnego oraz budowania systemów rozproszonych o wysokiej dostępności
Zalety
Szkolenie ma charakter warsztatowy - duża ilość przykładów i ćwiczeń ułatwiających przyswojenie zdobywanej wiedzy
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Podstawowa umiejętność programowania w dowolnym języku będzie dużym ułatwieniem
Mile widziana znajomość podstaw programowania funkcyjnego
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Podstawy języka
Charakterystyka Erlang: programowanie funkcyjne, współbieżność, odporność na błędy, hot code swapping
Konfiguracja środowiska deweloperskiego (Erlang/OTP, rebar3, IDE)
Erlang Shell (REPL) - interaktywna praca z kodem
Podstawy składni i konwencje kodowania
Typy danych: atomy, liczby, krotki, listy, mapy, binaria
Pattern matching - dopasowanie wzorców
Zmienne niemutowalne i single assignment
Funkcje, klauzule funkcyjne, guards
Rekurencja i rekurencja ogonowa
Moduły i eksportowanie funkcji
List comprehensions i wyrażenia binarne
Model współbieżności
Procesy Erlanga - lekkie procesy w maszynie wirtualnej BEAM
Tworzenie procesów (spawn, spawn_link, spawn_monitor)
Komunikacja między procesami - wysyłanie i odbieranie wiadomości
Mailbox i selective receive
Linki i monitory procesów
Rejestrowanie procesów
Timeout w odbiorze wiadomości
Wzorce projektowe: client-server, finite state machine
Obsługa błędów i niezawodność
Filozofia "Let it crash"
Exit signals i propagacja błędów
Trap exit - przechwytywanie sygnałów
Supervisors - nadzorowanie procesów
Strategie restartowania: one_for_one, one_for_all, rest_for_one
Error kernel - izolacja błędów
Try-catch-after do obsługi wyjątków
Platforma OTP
Wprowadzenie do OTP behaviors
GenServer - generyczny serwer
GenStateMachine - maszyna stanów
Supervisor i supervision trees
Application - struktura aplikacji OTP
GenEvent - obsługa zdarzeń
ETS i DETS - tablice i trwałe przechowywanie danych
Mnesia - rozproszona baza danych
Budowanie systemów rozproszonych
Nodes - węzły Erlanga
Łączenie węzłów i klastrowanie
RPC - zdalne wywołania procedur
Global registry - globalna rejestracja procesów
Distributed OTP applications
Net splits i partycje sieciowe
Hot code swapping - aktualizacja kodu bez przerywania działania
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi