Sieciowe aplikacje w Elixir i Phoenix

Czas trwania szkolenia:5 dni (40h)

Kod kursu:ELIXIR/APPS

Poziom zaawansowania:
functional-programmingelixirphoenixrest

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

O szkoleniu Sieciowe aplikacje w Elixir i Phoenix

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

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

Wymagania

  • Umiejętność programowania w jakimkolwiek języku. Podstawowe koncepty t.j. pętle, if-else, funkcje, zmienne, itp. nie powinny być Ci obce :)

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

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)

Program

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)

Podobne szkolenia