Formation Le Langage Go

Durée 5 jours
Niveau Fondamental
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DLGO

Cette formation de cinq jours s’adressant à tous types de développeurs a pour but la prise en main du langage Go.

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.

Concrètement à l'issue de cette formation, les participants auront acquis les connaissances et compétences nécessaires pour :

  • Choisir les bonnes signatures de méthodes et créer leurs propres structures
  • Créer des interfaces et les exposer à l'extérieur de leur paquet
  • Réaliser des tests unitaires et des tests de charge et générer des documents de couverture de code
  • Utiliser la concurrence et le parallélisme qu'offre Go
  • Concevoir des architectures projets.

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.

Les Concepts de base 

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

Créer son package et l'utiliser avec de la concurrence

“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éer son API web

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

Optimiser son application

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


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