Maison > développement back-end > C++ > le corps du texte

[Critique de livre] Guide de Beej sur la programmation réseau

王林
Libérer: 2024-07-18 10:08:41
original
1184 Les gens l'ont consulté

[Book Review] Beej

Intro – de quoi parle ce livre ?

Oui, j'ai enfin fini de lire ce livre.

En tant que personne n'ayant jamais suivi de cours de réseaux informatiques à l'université, j'avais depuis longtemps pensé à apprendre ce sujet de manière intensive. Cependant, je n’ai pas trouvé de cours universitaire solide et ouvert au public (quelque chose comme l’introduction aux algorithmes du MIT). Et de nombreux manuels préfixés « introduction » consacraient des centaines de pages à expliquer des concepts d'assez bas niveau tels que les algorithmes de routage ou même les câbles physiques qui relient les continents !

Ensuite, j'ai trouvé le Guide de programmation réseau de Beej qui est fréquemment recommandé sur Internet. En un coup d’œil, je l’ai trouvé facile à lire grâce à la façon dont l’auteur explique les concepts de manière humoristique. Mais en même temps, comparé à d'autres livres sur les réseaux informatiques, ce livre contient de nombreux exemples de code, j'ai donc pensé qu'il convient davantage aux programmeurs qui souhaitent une pratique pratique de la programmation de sockets.

Et après avoir lu tous les chapitres sauf le chapitre 9 (car il s'agit plutôt d'une référence pour un tas de fonctions de socket C), j'ai trouvé que c'était une bonne lecture.

Bonnes pièces

Introduction conviviale aux concepts techniques

Le livre commence par quelques concepts de base tels que l'IP, le port et le socket. Cependant, il ne va pas plus loin dans l’introduction d’algorithmes très techniques ou de dispositifs physiques utilisés pour les communications réseau. En tant que développeur travaillant quotidiennement avec des applications Web, j'ai trouvé cela plus pertinent pour mon travail. Même si le livre mentionne parfois des bits et des octets, il reste lisible et vous n'effectuez généralement jamais d'opérations au niveau des bits en lisant le code C dans le livre.

De nombreux exemples de code

Pour ceux qui veulent se salir les mains avec le code, ce livre est fait pour vous. À l'exception des parties de présentation générale sur les réseaux informatiques, la plupart des explications du livre sont accompagnées d'exemples de code en C. Ceci est particulièrement utile pour savoir comment les communications réseau réelles se produisent au sein de nos applications Web. Par exemple, l'opération d'interrogation parcourt toutes les sockets enregistrées pour vérifier s'il y a des événements entrants à gérer.

De plus, les exemples n’importent aucune bibliothèque externe, vous n’avez donc pas à faire face à des problèmes de dépendance tiers irritants.

Pièces Soso

Principalement axé sur la programmation des sockets uniquement

Ce livre est une très bonne référence conviviale à la programmation des sockets et aux appels système pertinents. Cependant, il ne va ni « plus haut » ni « plus bas » :

  • "supérieur" : La plupart des applications Web actuelles s'appuient sur le protocole HTTP. Cela aurait pu être mieux si le livre contenait plus d'explications sur cette couche supérieure avec du code en cours d'exécution.
  • "inférieur" : je pense que le livre aurait pu montrer à quoi ressemble un paquet en utilisant des outils tels que Wireshark qui récupère les paquets générés par les exemples. L'introduction de quelques commandes Linux/Unix pour la mise en réseau aurait également pu être utile pour comprendre comment notre code d'application interagit avec le noyau.

Cependant, j'ai trouvé une autre bonne ressource écrite par le même auteur : le Guide de Beej sur les concepts de réseautage. Il semble couvrir de nombreux concepts de base de manière plus complète que ce livre avec de nombreux exercices de codage. J'espère que ce livre « conceptuel » comblera le vide du livre « programmation ».

Déconseillé à ceux qui ne connaissent pas le code C

Si vous ne savez pas grand-chose sur la programmation C, ce livre pourrait être accablant. Il n’explique aucun concept de base tel que les pointeurs ou la conversion de type. Bien que nous ne souffrions pas d’un enfer de dépendance comme lorsque nous traitons avec CMake, si vous ne savez pas grand-chose sur C, la lecture du code serait toujours difficile.

Personnellement, je suis d'accord avec le code C. Cependant, le livre aurait pu être plus convivial pour les débutants s'il avait été écrit en Python, qui possède presque tous les équivalents des fonctions socket du C dans sa bibliothèque de sockets. Le livre "concept" du même auteur utilise Python cette fois, on peut donc s'attendre à du plaisir.

Conclusion

Dans l'ensemble, le livre est rempli d'exemples de code pratiques qui sont utiles pour comprendre une application réseau utilisant des appels système de socket. Bien sûr, vous n'aurez pas vraiment besoin d'utiliser ces fonctions lors de l'écriture de votre propre application, car de nombreux langages prennent en charge leurs propres wrappers pour ces fonctions réseau de socket "de bas niveau" (Python a des bibliothèques comme socketserver et http). Néanmoins, je pense qu'une fois dans votre carrière de développeur, vous devriez comprendre ce qui se passe derrière toutes ces communications hautement abstraites utilisant HTTPS ou websocket. En ce sens, ce livre est une bonne lecture et aussi une bonne référence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!