Videocorso Erlang e OTP CGFA
Da zero a costruire sistemi concorrenti che non si fermano mai
- Partenza: Da zero
- 14 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Principianti curiosi e sviluppatori che vogliono capire come funzionano i sistemi di messaggistica, le telecomunicazioni e i servizi sempre accesi
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Nessuna esperienza di programmazione richiesta
- Pazienza per una sintassi un po' diversa dal solito: dopo qualche ora diventa naturale
Cosa installare
A cosa ti serve
- Messaggistica e telecomunicazioni: è il linguaggio nato in Ericsson per le centrali telefoniche
- Sistemi che devono restare sempre accesi: chat, code di messaggi, database distribuiti
- Manutenzione e studio di software famosi scritti in Erlang come RabbitMQ e CouchDB
- Base solida per passare a Elixir e Gleam, che usano la stessa macchina virtuale
- Ruoli di nicchia, richiesti e ben pagati, in fintech, gaming e telco
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Shell, termini, pattern matching, liste, funzioni e ricorsione
Intermedio
Funzioni di ordine superiore, errori, progetti con rebar3 e test
Avanzato
Processi, gen_server, supervisori, ETS e release
Progetto finale: Cassa del negozio che si riavvia da sola
Costruisci un servizio che tiene il saldo di una cassa, accetta incassi e restituisce il totale, controllato da un supervisore, con i test EUnit.
I passi
- Crea il progetto con
rebar3 new app cassa, che prepara anche il supervisore. - Scrivi il modulo
cassacome gen_server con stato iniziale 0. - Aggiungi
incassa/1(call) etotale/0(call). - Rifiuta gli importi non positivi restituendo
{error, importo_non_valido}. - Inserisci
cassatra i figli del supervisore principale. - Scrivi i test EUnit: totale iniziale zero, due incassi sommati, importo negativo rifiutato.
- Con
rebar3 shellprova a uccidere il processo conexit(whereis(cassa), kill)e verifica 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.
Glossario di Erlang/OTP
- BEAM
- La macchina virtuale di Erlang, usata anche da Elixir e Gleam.
- OTP
- Insieme di librerie e regole di Erlang per costruire sistemi robusti.
- Atomo
- Un nome in minuscolo che vale solo sé stesso, come ok o errore.
- 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 #{}.
- Clausola
- Una delle alternative di una funzione, scelta dal pattern matching.
- Guardia
- Condizione aggiuntiva dopo when per scegliere una clausola.
- Processo
- Una piccola unità di esecuzione della BEAM, isolata e capace di ricevere messaggi.
- gen_server
- Il modello OTP per un processo con stato che risponde a richieste call e cast.
- Supervisor
- Un processo che controlla altri processi e li riavvia in caso di guasto.
- ETS
- Erlang Term Storage: tabelle veloci in memoria condivisibili tra processi.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.