Vai al contenuto

Videocorso Elixir CGFA

Da zero a programmare applicazioni solide e concorrenti, con un assaggio di Phoenix

  • Partenza: Da zero
  • 14 ore con gli esercizi
  • 10 lezioni in 3 livelli
  • 2 lezioni gratis

A chi serve

Principianti e sviluppatori curiosi che vogliono costruire servizi web, chat e sistemi che restano in piedi anche quando qualcosa si rompe

Cosa serve per iniziare

  • Un computer Windows, Mac o Linux
  • Nessuna esperienza di programmazione richiesta
  • Saper aprire il terminale e creare un file di testo

Cosa installare

Elixir recente (1.18 o successivo) con Erlang/OTP recenteSi scarica gratis da elixir-lang.org/install.html: su Windows c'è un installatore che porta con sé anche Erlang; su Mac e Linux si usa il gestore di pacchetti o lo strumento mise
Visual Studio CodeEditor gratuito da code.visualstudio.com; installa l'estensione ElixirLS per colori, suggerimenti ed errori in tempo reale
IEx e MixArrivano con Elixir: iex è la console interattiva dove provare il codice riga per riga, mix crea progetti, esegue i test e scarica le librerie

A cosa ti serve

  • Servizi web in tempo reale con Phoenix e LiveView
  • Sistemi di messaggistica, chat e notifiche con migliaia di utenti insieme
  • Back-end di app e piattaforme che devono restare sempre accese
  • Internet delle cose e sistemi embedded con Nerves
  • Aziende e startup che cercano pochi sviluppatori Elixir e li pagano bene

Programma del corso

10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.

Progetto finale: Cassa del negozio con riavvio automatico

Costruisci un piccolo servizio che tiene il saldo di una cassa, accetta incassi e restituisce il totale, controllato da un supervisore. Lo testi con ExUnit.

I passi

  1. Crea il progetto con mix new cassa --sup, che prepara anche l'albero di supervisione.
  2. Scrivi il modulo Cassa come GenServer con stato iniziale 0.
  3. Aggiungi incassa/1 (cast) e totale/0 (call).
  4. Rifiuta gli importi negativi restituendo {:error, :importo_non_valido} con una call.
  5. Inserisci Cassa tra i figli del supervisore in lib/cassa/application.ex.
  6. Scrivi i test: totale iniziale zero, due incassi sommati, importo negativo rifiutato.
  7. Prova a far cadere il processo e verifica in iex che il supervisore lo riavvii.

Esame e attestato

Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.

Vai all'esame

Glossario di Elixir

BEAM
La macchina virtuale di Erlang su cui gira Elixir, famosa per solidità e concorrenza.
OTP
La libreria standard di Erlang per costruire sistemi robusti: GenServer, supervisori, applicazioni.
Atomo
Un nome che vale solo sé stesso, scritto con i due punti davanti, come :ok.
Pattern matching
Il confronto di forma fatto dal segno uguale e dalle clausole delle funzioni.
Tupla
Un gruppo di elementi di numero fisso tra graffe, come {:ok, 5}.
Mappa
Una raccolta di coppie chiave e valore, scritta con %{}.
Immutabilità
Principio per cui un dato non cambia mai: si crea un dato nuovo.
Pipe
L'operatore |> che passa il risultato di una funzione come primo argomento della successiva.
Processo
Una piccola unità di esecuzione della BEAM, isolata e capace di ricevere messaggi.
GenServer
Un modello OTP per un processo che tiene uno stato e risponde a richieste call e cast.
Supervisor
Un processo che controlla altri processi e li riavvia in caso di guasto.
Phoenix
Il framework web di Elixir, con LiveView per le pagine interattive e Ecto per i database.

Le prime 2 lezioni sono gratis

Per il corso completo, scuole e aziende: chiedi le condizioni.