Go : Développement Back-End, Réseau et Système
Le langage Go s'est imposé comme un choix stratégique pour le développement d'applications back-end, réseau et système à haute performance. Sa conception, axée sur la simplicité, la gestion efficace de la concurrence et des performances optimisées, en fait un outil de prédilection pour relever les défis complexes des infrastructures IT modernes. Cette formation intensive vise à doter les stagiaires des compétences indispensables pour concevoir, implémenter et déployer des applications Go robustes et maintenables. Les stagiaires acquerront une maîtrise approfondie des concepts fondamentaux du langage, depuis la syntaxe de base jusqu'à l'exploitation avancée des goroutines et des channels pour la programmation concurrente. Ils apprendront à gérer les erreurs de manière structurée, à écrire des tests unitaires rigoureux et à préparer leurs applications pour le déploiement. La formation mettra l'accent sur l'utilisation des outils de développement Go standards et l'exploration des packages essentiels au développement back-end, notamment le package `net/http` pour la création de services web performants.
Découvrez Go et développez des applications performantes ! Maîtrisez les bases du langage, des goroutines aux channels, en 14 heures.
Durée : 14 heures
Domaine : Développement
Objectifs pédagogiques
- Développer des applications back-end performantes en Go en exploitant ses capacités réseau et système.
- Maîtriser l'implémentation de la concurrence via les goroutines et les channels pour des traitements parallèles efficaces.
- Mettre en œuvre une gestion robuste des erreurs et des mécanismes de récupération pour des applications résilientes.
- Écrire des tests unitaires exhaustifs pour valider la qualité et la fiabilité du code Go.
- Déployer des applications Go en utilisant les outils standards de l'écosystème.
Technologies et outils
- Langage Go
- Packages standard de Go (`net/http`, `testing`)
- Frameworks de test Go (testify, ginkgo)
- Environnement de développement Go (GoLand, VS Code)
- Outils de build et de déploiement Go (GoReleaser, Docker)
Public cible
Cette formation s'adresse aux développeurs back-end juniors à confirmés, aux ingénieurs DevOps désireux d'automatiser des tâches, ainsi qu'aux architectes IT explorant les microservices et aux développeurs souhaitant apprendre un langage moderne orienté performance et concurence.
Prérequis techniques
- Notions de base en programmation
- Connaissance des concepts réseau (HTTP, TCP/IP)
- Familiarité avec la ligne de commande
Programme détaillé
Module 1 : Introduction à Go
- Présentation de Go : historique, avantages, et cas d'utilisation dans le cloud computing.
- Installation et configuration de l'environnement de développement Go.
- Syntaxe de base : déclaration de variables, types de données primitifs, opérateurs.
- Structure d'un programme Go : gestion des packages, importations, et la fonction `main`.
- Travaux pratiques : Écriture et exécution d'un programme "Hello, World!" en Go.
Module 2 : Types de données et Structures de contrôle
- Exploration des types de données de base : entiers, flottants, booléens, chaînes de caractères.
- Étude des types de données composites : tableaux, slices dynamiques, maps (dictionnaires), et structures personnalisées.
- Maîtrise des structures de contrôle de flux : `if/else`, boucles `for`, et `switch`.
- Travaux pratiques : Conception de structures de données complexes et manipulation avancée des types.
Module 3 : Fonctions et Pointeurs
- Définition et appel de fonctions, gestion des paramètres et des valeurs de retour.
- Compréhension et utilisation des pointeurs : déclaration, déréférencement, et applications pratiques.
- Travaux pratiques : Développement de fonctions réutilisables et exercices de manipulation de pointeurs pour optimiser la mémoire.
Module 4 : Goroutines et Channels
- Introduction aux principes de la concurrence en Go et au modèle CSP (Communicating Sequential Processes).
- Création et gestion des goroutines pour l'exécution de tâches concurrentes.
- Communication sécurisée entre goroutines à l'aide des channels.
- Techniques de synchronisation des goroutines pour éviter les problèmes de concurrence.
- Cas d'usage : Implémentation d'un système de traitement parallèle de requêtes.
Module 5 : Gestion des erreurs et Tests
- Approche de la gestion des erreurs en Go : l'interface `error` et les bonnes pratiques.
- Gestion des panics et des mécanismes de `recovery` pour la résilience des applications.
- Écriture de tests unitaires efficaces avec le package standard `testing`.
- Travaux pratiques : Mise en œuvre d'une gestion d'erreurs robuste et développement d'un ensemble de tests unitaires pour une application.
Module 6 : Développement d'une application simple
- Conception et implémentation d'une application back-end basique, telle qu'un serveur HTTP.
- Utilisation des packages standard de Go, notamment `net/http`, pour construire des services web.
- Étapes de déploiement et d'exécution de l'application Go.
- Livrable : Un serveur HTTP fonctionnel capable de répondre à des requêtes et de gérer des routes simples.
Compétences acquises
À l'issue de cette formation, le stagiaire sera capable de développer des applications back-end, réseau et système performantes avec Go. Il maîtrisera la programmation concurrente en utilisant les goroutines et les channels, mettra en place une gestion des erreurs efficace et écrira des tests unitaires rigoureux pour garantir la qualité du code. Le stagiaire pourra également déployer ses applications Go en production, contribuant ainsi à la mise en œuvre de solutions techniques robustes et scalables.
Demander un devis