Corso – Go Avanzato

28-29
Ottobre

Corso – “Go Avanzato”

Ora inizio: 9:00 CEST


Durata: 16h


Format: corso

Dove: online


Lingua: Inglese


Docente: Fabio Falzoi

Biglietti

Super early bird
esauriti

199,00 €


Early bird
(offerta valida fino al 30/09)

299,00 €


Standard

649,00 €

2

giorni full
immersion

16

ore di lezioni
online dal vivo

1

attestato di
partecipazione

Docente

Fabio Falzoi

Sviluppatore Software
Develer

Appassionato di programmazione fin dalla tenera età, è sempre stato affascinato da argomenti di basso livello come l’architettura del kernel, la gestione della memoria e la programmazione parallela.

Esperto di: C, C++, Python e Go

Abstract

Go permette la scrittura di software in modo semplice, affidabile ed efficiente.

Tuttavia, quando si deve mantenere un’applicazione critica in produzione e si vuole ottenere il massimo delle performance, è necessario conoscere il funzionamento interno del runtime e le sue interazioni con il kernel. Con questo corso affronteremo nel dettaglio questi temi, sia con lezioni frontali, sia con sessioni di live coding. Inoltre, essendo rivolto a chi ha già una buona padronanza del linguaggio, scriveremo ed estenderemo applicazioni complete e funzionanti.

Le lezioni si terranno nei seguenti orari CEST: 9:00-13:00 14:00 -18:00


Argomenti


Concorrenza

  • goroutine, canali e primitiva select
  • sync.Context e sync.WaitGroup
  • Ripensare i pattern di concorrenza classici
  • Pattern di concorrenza avanzati (pipeline, fan-in e fan-out)
  • Funzionamento interno dello scheduler

Debugging

  • Come utilizzare Delve per fare debugging di un’applicazione Go
  • Debugging a partire da un core dump
  • Debugging in ambiente containerizzato

Gestione delle Memoria

  • La gestione della memoria e il garbage collector
  • Come ottimizzare i pattern di allocazione della memoria
  • Tuning del garbage collector

Profiling & Tracing

  • Il tool pprof
  • L’execution tracer
  • bpftrace

A chi è rivolto

A sviluppatori che hanno già padronanza del linguaggio Go e che vogliono conoscere gli strumenti più adatti per mantenere in produzione servizi critici, sia dal punto di vista delle performance che da quello dell’affidabilità.


Prerequisiti

  • Conoscenza del linguaggio Go
  • Conoscenza base dell’uso del terminale

Materiale necessario

Per gli esercizi più avanzati:


Attestato di partecipazione

Un attestato di partecipazione verrà rilasciato alla fine del corso.


Note importanti

Il corso sarà in lingua inglese.

Seguici