Szkolenie dostępne na zamówienie

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

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:5 dni (40h)

Poziom zaawansowania:

Kod kursu:ELIXIR/APPS

functional-programmingelixirphoenixrest

Szkolenie na zamówienie

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

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

Pobierz program w PDF

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)