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.

Demander un devis

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.

Prêt à vous former ?

Contactez-nous pour obtenir un devis personnalisé.