Condividi

Minicorso Let's Golang – 2ª puntata

con Ivan Pesenti

  • gio 16 giugno 2022
  • 18:45
  • Online

L'evento è terminato ma puoi sempre rivedere la registrazione video 😉

▷▷▷ 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

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

In collaborazione con

  • The Communities BaySiamo il Network delle Tech & Dev Community in Italia [Sito web]

Powered By

  • Ad Hoc Minds [Sito web]
  • Sansone Community – Innocenzo Sansone Tech & Dev Community Engagement [Sito web]