"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > [Reseña del libro] Guía de programación de redes de Beej

[Reseña del libro] Guía de programación de redes de Beej

Publicado el 2024-08-15
Navegar:552

[Book Review] Beej

Introducción: ¿de qué trata este libro?

Sí, finalmente terminé de leer este libro.

Como persona que nunca ha tomado un curso de redes informáticas en la universidad, había pensado durante mucho tiempo en aprender ese tema de manera intensiva. Sin embargo, no pude encontrar un curso universitario sólido que esté abierto al público (algo así como la introducción a los algoritmos del MIT). ¡Y muchos de los libros de texto con el prefijo “introducción” dedican cientos de páginas a explicar conceptos de bastante bajo nivel, como algoritmos de enrutamiento o incluso cables físicos que conectan los continentes!

Luego encontré la Guía de programación de redes de Beej que se recomienda con frecuencia en Internet. De un vistazo, me resultó fácil de leer debido a la forma en que el autor explica los conceptos con humor. Pero al mismo tiempo, en comparación con otros libros sobre redes informáticas, este libro contiene muchos ejemplos de código, por lo que pensé que es más adecuado para los programadores que desean practicar la programación de sockets.

Y después de leer todos los capítulos excepto el capítulo 9 (porque es más bien una referencia para un montón de funciones del socket C), me pareció una buena lectura.

Buenas piezas

Introducción amigable a los conceptos técnicos.

El libro comienza con algunos conceptos básicos como IP, puerto y socket. Sin embargo, no profundiza en la introducción de algoritmos muy técnicos o dispositivos físicos utilizados para las comunicaciones de red. Como desarrollador que trabaja diariamente con aplicaciones web, lo encontré más relevante para mi trabajo. Aunque el libro a veces menciona bits y bytes, aún es legible y, por lo general, nunca se realizan operaciones bit a bit mientras se lee el código C en el libro.

Muchos ejemplos de código

Para aquellos que quieran ensuciarse las manos con el código, este libro es para ustedes. Excepto por las partes de descripción general sobre redes de computadoras, la mayoría de las explicaciones del libro vienen con ejemplos de código en C. Esto es particularmente útil para saber cómo ocurren las comunicaciones de red reales dentro de nuestras aplicaciones web. Por ejemplo, la operación de sondeo recorre todos los sockets registrados para comprobar si hay eventos entrantes que gestionar.

Además, los ejemplos no importan ninguna biblioteca externa, por lo que no tienes que lidiar con irritantes problemas de dependencia de terceros.

partes de soso

Centrado principalmente en la programación de sockets únicamente.

Este libro es muy bueno como referencia amigable para la programación de sockets y llamadas relevantes al sistema. Sin embargo, no sube ni baja:

  • "higher": la mayoría de las aplicaciones web actuales se basan en el protocolo HTTP. Podría haber sido mejor si el libro contuviera más explicaciones sobre esta capa superior con código en ejecución real.
  • "inferior": Creo que el libro podría haber mostrado cómo se ve un paquete usando herramientas como Wireshark que captura los paquetes generados por los ejemplos. Introducir algunos comandos de Linux/Unix para la creación de redes también podría haber sido útil para comprender cómo interactúa el código de nuestra aplicación con el kernel.

Sin embargo, encontré otro buen recurso escrito por el mismo autor: Beej's Guide to Networking Concepts. Parece cubrir muchos conceptos básicos de manera más completa que este libro con muchos ejercicios de codificación. Espero que este libro de “conceptos” llene el vacío del libro de “programación”.

No recomendado para quienes no están familiarizados con el código C.

Si no sabes mucho sobre programación en C, este libro puede resultarte abrumador. No explica ningún concepto básico como punteros o conversión de tipos. Aunque no sufrimos un infierno de dependencia como cuando tratamos con CMake, si no sabes mucho sobre C, leer el código seguirá siendo difícil.

Personalmente, estoy de acuerdo con el código C. Sin embargo, el libro podría haber sido más amigable para los principiantes si estuviera escrito en Python, que tiene casi todas las contrapartes de las funciones de socket de C en su biblioteca de sockets. El libro "conceptual" del mismo autor utiliza Python esta vez, por lo que podemos esperar algo de diversión allí.

Conclusión

En general, el libro está lleno de ejemplos de código prácticos que son útiles para comprender una aplicación de red que utiliza llamadas al sistema de socket. Por supuesto, no necesitarás usar estas funciones cuando escribas tu propia aplicación, porque muchos lenguajes admiten sus propios envoltorios para esas funciones de red de sockets de "bajo nivel" (Python tiene bibliotecas como socketserver y http). No obstante, creo que una vez en su carrera como desarrollador debería comprender qué sucede detrás de todas estas comunicaciones altamente abstractas que utilizan HTTPS o websocket. En ese sentido, este libro es una buena lectura y también una buena referencia.

Declaración de liberación Este artículo se reproduce en: https://dev.to/uponthesky/book-review-beejs-guide-to-network-programming-9mg Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3