Qualiopi
Go : Maîtrisez le Développement Cloud-Native et la Concurrence
Maîtrisez les Goroutines, les Channels, et bâtissez des applications backend ultra-performantes et scalables.
3 jours
2 100 € HT
Go (Golang)
Go Modules
Goroutines
Channels
Context API
net/http
Intéressé par cette formation ?
Contactez-nous pour planifier une session.
Objectifs pédagogiques
- Comprendre la philosophie de simplicité et de performance de Go.
- Maîtriser les Slices et les Interfaces pour écrire du code flexible et efficace.
- Implémenter des algorithmes concurrents robustes grâce aux Goroutines et Channels.
- Concevoir des API Web performantes en utilisant exclusivement la bibliothèque standard ou des frameworks légers.
- Packager et déployer des binaires Go optimisés pour des environnements Cloud/Docker.
Programme
Jour 1 : La Philosophie Go et les Fondamentaux
- Introduction : Origines (Google), compilation statique, binaire unique et gestion des dépendances avec Go Modules.
- Syntaxe Essentielle : Variables, types de données, structures de contrôle et le mot-clé defer.
- Types Composés : Tableaux, Slices (mécanique interne), Maps et Structs.
- Méthodes et Interfaces : L'approche unique de Go pour le polymorphisme (Duck Typing implicite).
- Atelier : Création d'un utilitaire en ligne de commande (CLI) performant.
Jour 2 : Concurrence et Programmation Système
- Goroutines : Comprendre le modèle de threads légers et le scheduler de Go.
- Channels : Communication entre goroutines, buffers, et synchronisation sans partage de mémoire.
- Patterns de Concurrence : Select, WaitGroups, Mutex, et Context API pour l'annulation de requêtes.
- Gestion d'erreurs : Pourquoi Go n'a pas d'exceptions et comment gérer les erreurs de manière idiomatique.
- Atelier : Développement d'un scanner de ports ou d'un worker-pool concurrent.
Jour 3 : Microservices et Production
- Standard Library : Maîtrise du package net/http pour créer des serveurs Web sans framework.
- Sérialisation : Manipulation intensive du JSON et des interfaces vides.
- Tests et Qualité : Tests unitaires intégrés (go test), benchmarks, et détection de "Race Conditions".
- Déploiement : Optimisation des images Docker (distroless) et compilation multi-plateforme.
- Atelier Final : Création d'une API REST de microservice complète, testée et dockerisée.
Prérequis
- Expérience préalable dans un langage de programmation (C, Java, Python).
- Connaissances de base sur le fonctionnement des réseaux (HTTP).
Public cible
- Développeurs Backend souhaitant migrer vers une architecture microservices.
- Ingénieurs DevOps / SRE voulant automatiser des infrastructures avec un langage performant.
Prochaines sessions
Aucune session planifiée.
Contactez-nous pour organiser une session.
Contactez-nous pour organiser une session.
Prêt à vous former ?
Contactez-nous pour obtenir un devis personnalisé.