Objectifs
Objectifs pédagogiques :
Concrètement à l'issue de cette formation Langage Go, 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.
Description
Les Concepts de base
Introduction
Historique sur les origines de Go
Présentation des 25 mots clés de Go
Les types de collections
Les tableaux
Les slices
Les maps
Les types et les structures
Création d'alias de type
Création de structure de type
Travailler avec des constantes
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
Les interfaces
Implémenter une interface existante
Créer sa propre interface
Composition d'interface
Créer son package et l'utiliser avec de la concurrence
“APIser” un package
Exposition de structures et d'interfaces
Documentation du code source
Les tests unitaires
Création d'un jeu de tests unitaires
Couverture du code et génération de documents
Création de benchmarks
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
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
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
Profilage et optimisation
Création de benchmarks
Profiling avec Pprof
Libération du GC
Présentation d'un Pool
Conditions d'accès
Avoir l experience d au moins un langage de programmation est essentiel pour suivre ce stage dans de bonnes conditions.
Liste des sessions
PLB Consultant
- 0143349094
- plb@plb.fr
Centre de formation
Lieu de formation





