Go in Practice
312 pages
French
PDF
4.5

Go in Practice

Go in Practice

Auteur :

Année :

Résumé :

Introduction

Le livre «Go in Practice» (auteurs — Matt Butcher et Matt Farina, publié en 2016) occupe une place particulière parmi la littérature sur le langage de programmation Go. Contrairement à de nombreux manuels qui commencent par la syntaxe et la théorie, ce livre plonge immédiatement le lecteur dans la résolution de problèmes réels. Il est destiné à ceux qui connaissent déjà les bases de Go (ou un autre langage de type C) et souhaitent apprendre à appliquer le langage dans le développement quotidien — du travail avec les serveurs HTTP aux tests et au déploiement.

De quoi parle le livre

«Go in Practice» se compose de 8 parties, chacune consacrée à un domaine spécifique d'application de Go. Les auteurs ne perdent pas de temps à expliquer la syntaxe de base — ils passent directement aux techniques pratiques. Le livre couvre :

  • Le travail avec la ligne de commande — flags, arguments, fichiers de configuration.
  • Les serveurs et clients HTTP — routage, middleware, travail avec JSON, API REST.
  • Les bases de données — connexion à SQL et NoSQL, pools de connexions, transactions.
  • Les tests — tests unitaires, tests tableaux, mocks, benchmarks.
  • Le parallélisme — goroutines, canaux, motifs de concurrence, sync.WaitGroup.
  • L'empaquetage et le déploiement — compilation, dépendances, Docker, CI/CD.
  • La sécurité — chiffrement, authentification, protection contre les injections.

À qui s'adresse ce livre

Le livre s'adresse aux développeurs praticiens qui ont déjà écrit au moins quelques programmes en Go et souhaitent approfondir leurs connaissances. Il sera utile :

  • Aux développeurs passant d'autres langages (Python, Java, C#) à Go.
  • Aux ingénieurs qui souhaitent maîtriser le Go idiomatique et les meilleures pratiques.
  • Aux chefs d'équipe et architectes à la recherche de recettes éprouvées pour construire des services fiables.

Ce que le lecteur apprendra

Après avoir lu le livre, vous serez capable de :

  • Concevoir et implémenter des serveurs HTTP avec une gestion correcte des erreurs.
  • Travailler avec des bases de données via le package standard database/sql.
  • Écrire des tests propres et efficaces en utilisant le package intégré testing.
  • Utiliser des goroutines et des canaux pour créer des programmes concurrents sans conditions de course.
  • Configurer la compilation et le déploiement d'applications Go dans des conteneurs.
  • Appliquer des motifs de conception caractéristiques de Go (par exemple, options fonctionnelles, middleware).

Points forts

Le principal atout du livre est son orientation pratique. Chaque chapitre contient des exemples de code qui peuvent être immédiatement appliqués dans un projet réel. Les auteurs ne se contentent pas de montrer comment fonctionne telle ou telle fonction, ils expliquent pourquoi il faut choisir telle approche. Par exemple, dans la section sur les tests, ils montrent comment écrire des tests tableaux et utiliser httptest pour vérifier les gestionnaires HTTP — ce sont des compétences vraiment nécessaires en production.

Un autre avantage est l'accent sur l'idiomaticité. Le livre apprend à écrire du code dans le style Go, en évitant une complexité inutile. Les auteurs montrent comment utiliser les interfaces pour créer des abstractions flexibles et mettent en garde contre les erreurs typiques des débutants (par exemple, une mauvaise utilisation des goroutines).

Il faut également mentionner la section sur le déploiement. En 2016, le thème de la conteneurisation commençait tout juste à prendre de l'ampleur, mais les auteurs avaient déjà inclus des exemples avec Docker et une discussion sur le CI/CD. Cela rend le livre pertinent même des années plus tard.

À qui est-il recommandé

Je recommande «Go in Practice» à tous ceux qui ont déjà maîtrisé les bases de Go et souhaitent passer à la création d'applications complètes. Le livre sera particulièrement utile à ceux qui :

  • Écrivent des microservices ou des services web en Go.
  • S'occupent d'automatisation et d'outils en ligne de commande.
  • Souhaitent apprendre à tester du code Go correctement et efficacement.

Si vous commencez tout juste à apprendre Go à partir de zéro, il est préférable de lire d'abord «The Go Progra

Recommendations