Il Meetup
Go è un linguaggio di programmazione in forte espansione negli ultimi anni ideato da 3 sviluppatori di Google nel 2007 (prima release ufficiale: novembre 2009). Quest’ultimi decisero di creare un linguaggio che avesse i pregi dei linguaggi di programmazione usati in precedenza ma non i loro difetti. È fortemente ispirato a C, C++ e Assembly e, tra le sue caratteristiche, spicca che sia strongly-typed e compilato.
Se anche tu vuoi “sporcarti” le mani con Go e realizzare insieme un’app di esempio che ti consenta di apprendere i suoi concetti fondamentali, ti consigliamo di non mancare a questo minicorso! 🚀
Attraverso un talk pratico, andremo a realizzare una web api che si occuperà di gestire i nostri TODO. Questa web api sarà una semplice CRUD che esporrà le rotte per: aggiungere, leggere, modificare e cancellare i nostri TODO. Il layout della solution sarà quello tipico di una struttura multi-layered (presentation, business logic e DAL).
1ª puntata
In questa prima puntata approfondiremo i seguenti argomenti: fondamentali di Go, controllers, models e routing.
Intro
- Go: introduzione generica e breve sul linguaggio dal punto di vista teorico e/o storico;
- Caratteristiche di Go: in cosa è simile agli altri linguaggi e in cosa differisce;
- Utilizzo di Go: principali progetti nei quali Go è stato scelto;
- CLI: spiegazione dei comandi “go mod init” e “go mod tidy” fruibili attraverso il terminale;
- Go tools: breve panoramica dei tools che useremo nella sezione pratica, tra cui “go fmt” e “staticcheck”.
Practice
Ingredienti
- Go;
- go fmt;
- staticcheck;
- VSCode (o qualsiasi altro IDE);
- Postman (o qualsiasi altro tool per testare REST-api);
Step
- Creazione di un progetto Go e inizializzazione delle sue dipendenze;
- Hello, World! Eseguiamo l’applicazione “tipica” di noi devs 😉. In questo modo siamo certi di avere una base funzionante per le modifiche successive;
- Routing: creazione e setup del router che ci servirà per mappare le richieste HTTP alle relative action dei nostri controller. Per testare la correttezza del router esporremo una semplice rotta “/ping” al quale verrà risposto un “pong” 🏓;
- Models: definizione del modello sul quale si baserà la nostra intera applicazione;
- Controller: definizione dell’endpoint “todos” e delle relative actions previste dalla nostra applicazione. In questa prima fase andremo a validare il nostro modello di input (ove previsto), settare un messaggio di risposta (qualora fosse necessario) ed impostare il corretto HTTP status code;
- Test finali con Postman.
Ivan Pesenti
Software Developer
Ciao 👋! Sono Ivan Pesenti. Ho 26 anni e lavoro come software developer dal 2014.
Attualmente faccio parte di Sorint Lab una software house che opera a livello internazionale in svariati ambiti. Ricopro il ruolo di sviluppatore con particolare focus sulla parte server-side. La mia peculiarità lavorativa è la particolare attenzione nello scrivere codice pulito, sicuro e testabile. In questi ambiti investo gran parte del mio tempo lavorativo e non.
Sono una persona molto attiva nella community in quanto, oltre a fare meetup occasionalmente, scrivo articoli sulla piattaforma “dev.to” e do lezioni private di informatica in svariati ambiti (dallo sviluppo, all’uso di software, ecc.).
Credo fortemente nella condivisione e nella formazione e penso che sia un punto imprescindibile nella crescita professionale e umana di ogni persona.
Nel mio tempo libero cerco di tenermi allenato praticando vari sport anche se il mio amore incondizionato rimane per il calcio. Adoro gli anime, i tatuaggi, il mare e trascorrere tempo con le altre persone.
Agenda
- Benvenuto
- Talk
- Domande e risposte
- Quiz & Lottery finale
Credits
Evento organizzato da:
In collaborazione con:
Powered by: