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).
2ª puntata
In questa seconda puntata del minicorso su Go riprenderemo il progetto avviato la scorsa volta e lo porteremo a termine andando ad implementare il layer logico e il DAL (ossia il componente che ha il compito di “parlare” con il database). Il database che useremo sarà PostgreSQL, il quale verrà eseguito tramite Docker. Nello sviluppare metteremo in pratica i principi SOLID che stanno alla base della programmazione. BONUS: vedremo come utilizzare la Dependency Injection in Go 💉.
Intro
- Interfaces: introduzione sulle interfacce. Cosa sono e utilizzo. Analogie e differenze con altri linguaggi;
- ORM: introduzione generica sugli ORM. L’ORM di Go si chiama “GORM”;
- Error: errori in Go, cosa sono, come si gestiscono e come andrebbero gestiti (IMO).
Practice
Ingredienti
- Go;
- go fmt;
- staticcheck;
- Docker;
- DBeaver (o qualsiasi altro client che supporti Postgres);
- VSCode (o qualsiasi altro IDE);
- Postman (o qualsiai altro tool per testare REST-api).
Step
- Setup PostgreSQL. Avvio di un server PostgreSQL in localhost tramite Docker. Creazione del DB, dello schema e della tabella (tutti chiamati “todos” per coerenza);
- Definizione di un errore custom in Go;
- Setup di GORM. Inizializzazione del client Postgres che useremo per interagire con il DB;
- Definizione dell’interfaccia del DB e sua implementazione;
- Definizione dell’interfaccia del business logic layer e sua implementazione;
- Injection della dipendenza fornita dal business logic layer nel controller per fruire delle sue funzionalità;
- 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: