Sieciowe aplikacje w Elixir i Phoenix

LICZBA DNI: 5 (40h)

KOD KURSU: ELIXIR/APPS

POZIOM SZKOLENIA:

# elixir

# functional-programming

# phoenix

# rest

# websockets

# liveview

# otp

# erlang

Najbliższy termin:

15 listopada 2021

4300 PLN netto + 23% VAT

Jeszcze 8 miejsc w tej cenie.

  • stacjonarne
  • zdalne

STACJONARNE

W CENIE

  • 5 dni pracy z trenerem
  • Materiały szkoleniowe
  • Lunch
  • Certyfikat ukończenia szkolenia

ZDALNE

W CENIE

  • 5 dni pracy z trenerem na żywo online
  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia

Czy wiesz, że możesz uzyskać nawet do 100% DOFINANSOWANIA na szkolenie? Napisz do nas »

Oferta dla firm

Dostosuj zakres, czas i miejsce szkolenia do potrzeb Twojego zespołu. Uzyskaj indywidualną wycenę szkolenia dla grupy.

Weź udział w szkoleniu

Termin

Lokalizacja

Cena / os

15

listopada

Warszawa,

Zdalne,

4300 PLN netto
+ 23% VAT

Termin

15

listopada

Lokalizacja

Warszawa,

Zdalne,

Cena / os

4300 PLNnetto
+ 23% VAT

Powiadom
o kolejnych terminach

O szkoleniu

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

Kameralne grupy - szkolenia technologiczne prowadzimy w grupach liczących do 8 osób. Pozwala to na indywidualne podejście oraz aktywizację każdego uczestnika

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

  • Dlaczego Elixir?
  • Elixir LiveView, a JavaScript
  • Konfiguracja narzędzi
    • mix
    • elixir-formatter
    • PostgreSQL
  • Czyste funkcje
  • Niezmienność danych
  • Funkcje wyższego rzędu oraz funkcje jako first class citizens
  • Podstawowe typy danych
  • Moduły
    • Różne sposoby importowania oraz macros
    • Atrybuty
  • Funkcje
    • Anonimowe/Nazwane
    • Prywatne/Publiczne
    • Guards
    • Arity (ilość parametrów)
  • Mapy i kolekcje
    • Praca z mapami (tworzenie, czytanie, update)
    • Praca z kolekcjami (listy, krotki, listy słów kluczowych)
      • Operacje na kolekcjach z użyciem typowych funkcji: head, tail, map, filter, etc
  • Operator pipe
  • Kompozycja funkcji
  • Pattern matching
  • case, cond, if-else
  • Stosowanie podstawowych konceptów FP w Elixir
  • Pisanie prostego kodu w Elixir używając funkcji i modułów
  • Currying
  • Partial application
  • (Tail) Recursion
  • Procesy, Taski, Stan, trzymanie danych w pamięci
  • Structy, Protokoły
  • List comprehensions
  • Sigils
  • Try, catch, oraz rescue
  • Proste aplikacje w Elixir, np
    • Wybieranie i ustalanie danych trzymanych w pamięci z użyciem procesów
  • Czym jest Erlang'owy OTP (Open Telecom Platform)?
  • GenServer
  • Supervisor
  • ETS (Erlang Term Storage)
  • Proste aplikacje w Elixir z użyciem konceptów współbieżności, np
    • Cache z użyciem ETS
  • Foldery i pliki nowej aplikacji
  • Flow requests, czyli app lifecycle
  • Router
    • Scopes
    • HTML, JSON
  • Struktura MVC (Model-View-Controller)
    • Renderowanie templates, a API
    • Korelacje pomiędzy kontrolerami, szablonami, oraz widokami
    • Co z Websocketami, czyli trochę o channels
    • LiveView, jako backendowa alternatywa do JavaScript (interakcje użytkownika bez frontendu!)
  • Ecto (Phoenixowy ORM)
    • Podstawy schemas
    • Migracje
    • Seedowanie db
  • Trzy proste aplikacje Phoenix
    • Tradycyjne renderowanie HTML
      • Pliki .eex
      • Renderowanie szablonów w szablonach
      • Szablonowe layouty
      • Używanie funkcji i zmiennych wewnątrz szablonów
      • Formy i phoenix_html API
    • Phoenix jako czysty API serwer
      • JSON
      • Delegowanie (wzór)
    • Phoenix bez frontendowych frameworków, czyli użycie LiveView
      • Kontrolery
      • Szablony
      • Flow
      • phoenix_live_view API
  • Aplikacje mieszane (np. renderowanie html plus channels)
  • Refactoring
  • Testowanie jednostkowe
    • Funkcje
    • Szablony
    • JSON
    • LiveView
  • Dlaczego warto pisać czyste funkcje?
  • Elixir/Phoenix do sieci i do internetu rzeczy (IoT)

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.