Szkolenie: Sieciowe aplikacje w Elixir i Phoenix
Jasne i przyjazne wprowadzenie do dynamicznego, funkcyjnego języka Elixir i frameworku Phoenix oraz pracy z Ecto (ORM), templates (Eex), websockets (channels), i LiveView (które pozwala na interaktywność bez użycia JavaScriptu). Dodatkowo, warsztat wprowadza w temat współbieżności (OTP), które Elixir czerpie z Erlanga
Czas trwania szkolenia:5 dni (40h)
Kod kursu:ELIXIR/APPS
Sieciowe aplikacje w Elixir i Phoenix
Cele szkolenia
Poznanie języka Elixir wraz z frameworkiem Phoenix, w kontekście zarówno teoretycznym, jak i praktycznym (budowa prostych i nisko-zaawansowanych aplikacji sieciowych)
Poznanie podstaw współbieżności w Elixir (OTP, GenServers)
Dla kogo?
Programiści chcący poszerzyć swoje kompetencje o:
zrozumienie funkcyjnego programowania (które dalej można wdrożyć w wielu innych językach backendowych, które wspierają paradygmat funkcyjny)
zapoznanie się z dynamicznie funkcyjnym językiem, który korzysta z wielu lat doświadczenia Erlanga, ale jest równie przyjazny programiście, co Ruby
umiejętność budowy aplikacji sieciowych w języku Elixir, które używają typowych, podstawowych scenariuszy backendowych
Zalety
Warsztatowy charakter zajęć
Teoretyczna i praktyczna wiedza dotycząca funkcyjnego programowania, którą dalej można aplikować do języków funkcyjnych (np. Erlang, Haskell), jak i języków z wbudowanymi elementami paradygmatu funkcyjnego (np. JavaScript, Python, Java)
Budowa kilku projektów/aplikacji
Ćwiczenia pomagające utrwalić omawiane koncepty
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
Umiejętność programowania w jakimkolwiek języku. Podstawowe koncepty t.j. pętle, if-else, funkcje, zmienne, itp. nie powinny być Ci obce :)
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
Wprowadzenie do Elixir
Dlaczego Elixir?
Elixir LiveView, a JavaScript
Konfiguracja narzędzi
Wprowadzenie do funkcyjnego programowania
Czyste funkcje
Niezmienność danych
Funkcje wyższego rzędu oraz funkcje jako first class citizens
Podstawy języka Elixir
Podstawowe typy danych
Moduły
Funkcje
Mapy i kolekcje
Operator pipe
Kompozycja funkcji
Pattern matching
case, cond, if-else
Ćwiczenia
Stosowanie podstawowych konceptów FP w Elixir
Pisanie prostego kodu w Elixir używając funkcji i modułów
Bardziej zaawansowane koncepty funkcyjnego programowania
Currying
Partial application
(Tail) Recursion
Średnio-zaawansowany Elixir
Procesy, Taski, Stan, trzymanie danych w pamięci
Structy, Protokoły
List comprehensions
Sigils
Try, catch, oraz rescue
Ćwiczenia
Proste aplikacje w Elixir, np
Współbieżność
Czym jest Erlang'owy OTP (Open Telecom Platform)?
GenServer
Supervisor
ETS (Erlang Term Storage)
Ćwiczenia
Proste aplikacje w Elixir z użyciem konceptów współbieżności, np
Framework Phoenix
Foldery i pliki nowej aplikacji
Flow requests, czyli app lifecycle
Router
Struktura MVC (Model-View-Controller)
Ecto (Phoenixowy ORM)
Ćwiczenia
Trzy proste aplikacje Phoenix
Co dalej?
Aplikacje mieszane (np. renderowanie html plus channels)
Refactoring
Testowanie jednostkowe
Dlaczego warto pisać czyste funkcje?
Elixir/Phoenix do sieci i do internetu rzeczy (IoT)