Go Systems Programming
460 pages
French
PDF
4.5

Go Systems Programming

Go Systems Programming

Auteur :

Année :

Résumé :

Introduction

Le livre « Go Systems Programming » (auteur : Mihalis Tsoukalos, 2017, 460 pages) n'est pas simplement un énième guide sur le langage Go. C'est une plongée profonde dans le monde de la programmation système, destinée aux développeurs souhaitant écrire des utilitaires efficaces, fiables et de bas niveau pour les systèmes d'exploitation de type UNIX. L'auteur, connu pour ses livres et articles techniques, propose une approche pratique alliant théorie et nombreux exemples de code.

De quoi parle le livre

Le livre couvre un large éventail de sujets liés à l'interaction d'un programme Go avec le système d'exploitation. L'accent est mis sur Linux et macOS, mais la plupart des exemples sont portables vers d'autres systèmes UNIX. Vous apprendrez à travailler avec les systèmes de fichiers, les processus, les signaux, les sockets réseau, ainsi qu'à créer vos propres utilitaires système (par exemple, des équivalents de ps, ls ou netstat).

À qui s'adresse ce livre

Ce livre s'adresse aux programmateurs déjà familiarisés avec les bases de Go (syntaxe, goroutines, canaux). Il sera utile :

  • Aux développeurs passant de C/C++ à Go et souhaitant conserver le contrôle des ressources système ;
  • Aux ingénieurs DevOps et administrateurs écrivant des outils de surveillance et d'automatisation ;
  • À tous ceux qui veulent comprendre comment Go interagit avec le noyau du système d'exploitation à bas niveau.

Ce que le lecteur apprendra

Après la lecture, vous serez capable de :

  • Travailler avec les descripteurs de fichiers et les appels système via les packages os et syscall ;
  • Gérer les processus (création, terminaison, attente, signaux) ;
  • Créer des serveurs et clients multithreads en utilisant des sockets TCP/UDP ;
  • Écrire vos propres utilitaires en ligne de commande avec gestion des arguments et des drapeaux ;
  • Travailler avec le temps, les minuteurs et la synchronisation au niveau du système d'exploitation ;
  • Utiliser le package os/exec pour lancer des programmes externes ;
  • Comprendre la structure des systèmes de fichiers et travailler avec les inodes, les droits d'accès et les liens.

Points forts

Le principal atout du livre est son orientation pratique. Chaque chapitre contient de nombreux listings de code que vous pouvez exécuter et modifier immédiatement. L'auteur n'hésite pas à montrer les détails « sales » : la gestion des erreurs, le travail avec les données binaires, les particularités des différents systèmes d'exploitation. Le livre est écrit dans un langage vivant, avec des exemples tirés de l'expérience réelle. Les chapitres consacrés aux sockets réseau et à la création de vos propres serveurs méritent une mention spéciale : ils fournissent une base solide pour l'écriture de systèmes à forte charge.

À qui est-il recommandé

Je recommande ce livre à tous ceux qui souhaitent dépasser le cadre du développement web en Go et apprendre à écrire des outils système rapides et fiables. Il sera utile aussi bien aux développeurs expérimentés qu'à ceux qui commencent tout juste à étudier Go mais possèdent déjà les bases. Si vous voulez comprendre comment Go « communique » avec le noyau Linux, ce livre est fait pour vous.

Recommendations