Contattataci

Struttura del corso

Introduzione

Concetti fondamentali della programmazione di sistemi Unix

Nozioni sul linguaggio Go e sulla sua architettura

Installazione e configurazione dell’ambiente di sviluppo Go

Apprendimento dei principi base della sintassi di Go

Lavorare con i pacchetti in Go

Algoritmi e strutture dati

Come Go gestisce il garbage collection

Operazioni su file e directory in Go

Sviluppo di operazioni di input/output con Go

Gestione degli errori nel codice Go

Identificazione e utilizzo dei file di sistema in Go: log, dati di configurazione e credenziali

Lavorare con i processi e i segnali Unix tramite Go

  • Nozioni sui processi e i segnali Unix
  • Gestione dei processi
  • Intercettazione dei segnali Unix in Go
  • Utilizzo del comando ‘kill’
  • Lavorare con pipe e socket Unix mediante Go
  • Sviluppo di chiamate a procedure remote (RPC) in Go
  • Sviluppo di una shell Unix interamente in Go

Comprensione e utilizzo dei Goroutine

  • Nozioni sui Goroutine
  • Utilizzo dei pacchetti Sync in Go
  • Gestione delle pipeline di elaborazione dati
  • Funzionamento dello scheduler di Go
  • Impiego della parola chiave ‘select’
  • Lavorare con canali di segnali e canali bufferizzati
  • Gestione dei timeout nelle operazioni in parallelo
  • Operare con sequenze annidate di canali
  • Utilizzo dei canali a valore nullo (‘nil’)
  • Controllo e uso della memoria condivisa in Go
  • Esercitazione pratica con lo strumento dWC.go

Programmazione di rete in Go

  • Nozioni sulla programmazione di rete
  • Lavorare con il pacchetto standard Net in Go
  • Riesame dei concetti legati ai socket Unix
  • Eseguire ricerche DNS tramite Go
  • Sviluppo di un semplice server TCP e di un client corrispondente
  • Realizzazione di un semplice server UDP e di un client relativo
  • Programmazione di un server TCP in ambiente concorrente

Risoluzione dei problemi tipici durante lo sviluppo

Riepilogo e conclusioni finali

Requisiti

  • Conoscenze di base nella programmazione in qualsiasi linguaggio
  • Familiarità con i sistemi Linux e Unix
 35 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative