Minicorso Let's Golang – 2ª puntata
Data e ora
Località
Evento online
2ª puntata del minicorso sul linguaggio di programmazione Go. Affronteremo: layer logico, DAL e Dependency Injection in Go.
Informazioni sull'evento
▷▷▷ Evento Online ◁◁◁
Registrati gratuitamente per attestato di partecipazione, quiz/lottery, promemoria e link d’accesso.
❰❰❰ Minicorso Let's Golang ❱❱❱
con Ivan Pesenti per la Community “Dev WorkSpace” powered by Ad Hoc Minds
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.
Registrati gratuitamente a tutte le puntate del minicorso
- Minicorso Let's Golang – 1ª puntata (fai click qui per registrarti al meetup di giovedì 9 giugno)
- Minicorso Let's Golang – 2ª puntata (fai click qui per registrarti al meetup di giovedì 16 giugno)
Attestato di partecipazione
Tutti coloro che parteciperanno alla diretta – e "firmeranno" il registro di presenza :-) – riceveranno il giorno successivo l'attestato di partecipazione!
Attestato di completamento del “Minicorso Let's Golang”
Inoltre, chi parteciperà alle 2 puntate previste riceverà l'attestato di completamento del “Minicorso Let's Golang”!
Agenda
- Benvenuto con Innocenzo Sansone & Ad Hoc Minds
- Talk/Live coding
- Domande e risposte
- Quiz/Lottery finale!
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.
Nuovo appuntamento!
Partecipa a Dev WorkSpace!
Meetup online #32
Dev WorkSpace sono gli appuntamenti mensili dedicati al mondo del lavoro dei Dev!
Partecipa ai nostri tech meetup online ed entra nella Dev Community per:
- rimanere aggiornato sui linguaggi di programmazione, i framework e i tool che ogni sviluppatore utilizza;
- ricevere formazione gratuita dai migliori speaker;
- sviluppare insieme nuove competenze utili alla tua crescita professionale;
- conoscere le aziende tech più innovative del mercato;
- condividere la tua esperienza con tantissimi altri dev italiani;
- ricevere suggerimenti per arrivare al tuo prossimo traguardo lavorativo;
- raggiungere la carriera che hai sempre voluto.
Anche tu dei nostri?!
Trovi Dev WorkSpace qui!
Entra nella nostra Dev Community su:
e partecipa ai nostri incontri che trovi su:
Evento organizzato da
- Dev WorkSpace Community [Gruppo LinkedIn, Gruppo FB, Pagina Eventbrite]
In collaborazione con
- The Communities Bay – Siamo il Network delle Tech & Dev Community in Italia [Sito web]