- Référence : DLGO
- Durée : 5 jours (35h)
- Lieu : Au choix. À distance ou en présentiel, à Paris ou en Régions
2600€ HT
Choisir une date et RéserverVous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...
Cette formation Langage Go s’adresse à tous types de développeurs ayant pour but la prise en main de ce langage.
Dans un premier temps, les participants découvriront les avantages et les cas d'usage de Go. Puis ils entreront dans le vif du sujet avec la création d’un premier programme permettant d'expérimenter le mode de conception particulier à Go. Cet atelier leur permettra aussi de comprendre la conception par contract.
Enfin, les participants aborderont des sujets qu'ils rencontrent au quotidien tels que la connexion à une base de données et l'écriture d'API. Cette section d'exercices leur permettra de voir comment se documenter et où aller chercher des informations en cas de problème. Ils verront également comment sélectionner, utiliser et vendoriser un package (librairie).
À la fin de ce stage les participants seront en mesure de créer leurs propres programmes Go pour un environnement en production.
Objectif opérationnel :
Savoir maîtriser le langage Go.
Objectifs pédagogiques :
Concrètement à l'issue de cette formation Langage Go, les participants auront acquis les connaissances et compétences nécessaires pour :
Public :
Tout développeur (système, web, jeux, robotique…) est concerné par cette formation sur le langage Go.
Prérequis :
Avoir l’expérience d’au moins un langage de programmation est essentiel pour suivre ce stage dans de bonnes conditions.
Introduction
Historique sur les origines de Go
Présentation des 25 mots clés de Go
Travaux Pratiques :
Utilisation des mots clés : installation de Go, écriture d'un petit programme, compilation
Les types de collections
Les tableaux
Les slices
Les maps
Travaux Pratiques :
Utilisation des tableaux
Les types et les structures
Création d’alias de type
Création de structure de type
Travailler avec des constantes
Travaux Pratiques :
Création de structure
Les fonctions et les méthodes
Les paramètres de fonction
Création de méthodes sur une structure
Les choix entre valeur par pointeur ou par copie
Travaux Pratiques :
Création de méthodes sur les structures
Les interfaces
Implémenter une interface existante
Créer sa propre interface
Composition d’interface
Travaux Pratiques :
Création d'interfaces
“APIser” un package
Exposition de structures et d’interfaces
Documentation du code source
Travaux Pratiques :
APIser son package
Les tests unitaires
Création d’un jeu de tests unitaires
Couverture du code et génération de documents
Création de benchmarks
Travaux Pratiques :
Création et génération de tests
Génération de documents
La concurrence
À quoi sert la concurrence
Parallélisme vs Concurrence
Travaux Pratiques :
Utilisation du paquet avec de la concurrence
Utilisation de WaitGroupes et mutexes
Les fonctions atomiques
Création de canaux
Travaux Pratiques :
Mise en place de la concurrence sur le projet
Design patterns de la concurrence
Les sémaphores
Les workers
Pub/Sub
Travaux Pratiques :
Réalisation d'un worker
Création d’un serveur
Installation de Gin
Création de routes
Génération d’un webservice
Travaux Pratiques :
Créer un server et le lancer
Templates HTML
La composabilité
Les variables
Les logiques
Travaux Pratiques :
Générer son template HTML
Connexion avec Postgres
L’ORM existe-t-il en Go ?
État de l’art sur les libs
Création d’un CRUD
Travaux Pratiques :
Utilisation de Gorm
Appel avec ReactJS
Installation d’un client React
Appel d’un webservice
Affichage client
Travaux Pratiques :
Installation d'un module React
Création de microservices
L’ère du post-monolithique
Création de Dockerfiles
Création de Dockercompose
Présentation de JWT
Présentation de Kubernetes
Travaux Pratiques :
Installation et Utilisation de Docker, refactoring du projet
La mémoire dans Go
Fonctionnement du GC
Utilisation du package unsafe
Travaux Pratique :
Réalisation une opération sur pointeur avec unsafe
Considérations idiomatiques
Convention de nomage
Utilisation de Vet
Travaux Pratiques :
Tests vet sur son package, refactoring et documentation
Debug
Installation de Delve dans Atome
Utilisation de Delve
Travaux Pratiques :
Installation et test de Delve
Profilage et optimisation
Création de benchmarks
Profiling avec Pprof
Travaux Pratiques :
Profilage de son application
Libération du GC
Présentation d'un Pool
Travaux Pratiques :
Utilisation d'un Pool
Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Mon avis sur le formateur :
"Animateur compétent qui sait ce qu'il fait."
Ce que j'ai le plus apprécié :
"Les dames à la récéption sont très serviables et gentilles."
Ce que j'ai le moins apprécié :
"Néant."
Mon avis sur le formateur :
"Animateur compétant qui sait ce qu'il fait."
Ce que j'ai le plus apprécié :
"Les dames à la récéption sont très serviables et gentilles."
Ce que j'ai le moins apprécié :
"Néant."
Mon avis sur le formateur :
"Animateur compétant qui sait ce qu'il fait."
Ce que j'ai le plus apprécié :
"Les dames à la récéption sont très serviables et gentilles."
Ce que j'ai le moins apprécié :
"Néant."
Mon avis sur le formateur :
"Très bon animateur, compétent et disponible. Échanges intéressants en plus d'une formation technique bien réalisée."
Ce que j'ai le plus apprécié :
"Bonne ambiance, projet réalisé pendant la formation + explications => très complet."
Ce que j'ai le moins apprécié :
"Visio (mais COVID oblige). "
Mon avis sur le contenu du stage :
"Très bien construit"
Mon avis sur le formateur :
"BRAVO ! MERCI !"
Ce que j'ai le plus apprécié :
"Utilisation de Microsoft Teams"
Ce que j'ai le moins apprécié :
"Aucun"
Formations Informatique
et Management
en ligne à ce jour
+
Stagiaires dans nos salles
de cours sur
l'année
%
De participants satisfaits
ou très satisfaits de nos
formations
Formateurs experts
validés par
PLB