"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > [مراجعة كتاب] دليل بيج لبرمجة الشبكات

[مراجعة كتاب] دليل بيج لبرمجة الشبكات

تم النشر بتاريخ 2024-08-15
تصفح:751

[Book Review] Beej

المقدمة - عن ماذا يتحدث هذا الكتاب؟

نعم، لقد انتهيت أخيرًا من قراءة هذا الكتاب.

باعتباري شخصًا لم يسبق لي أن التحق بدورة تدريبية في مجال شبكات الكمبيوتر في الجامعة، فقد فكرت لفترة طويلة في تعلم هذا الموضوع بشكل مكثف. ومع ذلك، لم أتمكن من العثور على دورة جامعية قوية ومفتوحة للجمهور (شيء مثل مقدمة معهد ماساتشوستس للتكنولوجيا للخوارزميات). والعديد من الكتب المدرسية التي تسبقها كلمة "مقدمة" أنفقت مئات الصفحات في شرح مفاهيم منخفضة المستوى تمامًا مثل خوارزميات التوجيه أو حتى الأسلاك المادية التي تربط القارات!

ثم وجدت دليل Beej لبرمجة الشبكات الذي يوصى به بشكل متكرر على الإنترنت. بنظرة سريعة، وجدت أنه من السهل قراءته بسبب طريقة المؤلف في شرح المفاهيم بطريقة فكاهية. لكن في الوقت نفسه، بالمقارنة مع كتب شبكات الكمبيوتر الأخرى، يحتوي هذا الكتاب على العديد من أمثلة التعليمات البرمجية، لذلك أعتقد أنه يناسب أكثر المبرمجين الذين يريدون ممارسة عملية في برمجة المقبس.

وبعد قراءة جميع الفصول باستثناء الفصل 9 (لأنه أشبه بمرجع لمجموعة من وظائف مقبس C)، وجدته قراءة جيدة.

أجزاء جيدة

مقدمة ودية للمفاهيم التقنية

يبدأ الكتاب ببعض المفاهيم الأساسية مثل IP والمنفذ والمقبس. ومع ذلك، فإنه لا يتعمق أكثر في تقديم خوارزميات تقنية للغاية أو أجهزة مادية تستخدم لاتصالات الشبكة. باعتباري مطورًا يتعامل مع تطبيقات الويب يوميًا، وجدت أنها أكثر صلة بعملي. على الرغم من أن الكتاب يذكر أحيانًا وحدات البت والبايت، إلا أنه لا يزال قابلاً للقراءة ولا تقوم عادةً بأي عمليات على مستوى البت أثناء قراءة كود C الموجود في الكتاب.

الكثير من أمثلة التعليمات البرمجية

بالنسبة لأولئك الذين يريدون أن يتسخوا أيديهم بالرموز، هذا الكتاب مناسب لك. باستثناء أجزاء النظرة العامة حول شبكات الكمبيوتر، فإن معظم الشروحات الواردة في الكتاب تأتي مع أمثلة التعليمات البرمجية في لغة C. وهذا مفيد بشكل خاص لمعرفة كيفية حدوث اتصالات الشبكة الفعلية داخل تطبيقات الويب الخاصة بنا. على سبيل المثال، تقوم عملية الاستقصاء بمسح جميع المقابس المسجلة للتحقق مما إذا كانت هناك أحداث واردة يجب معالجتها.

علاوة على ذلك، لا تستورد الأمثلة أي مكتبات خارجية، لذلك لا يتعين عليك التعامل مع مشكلات تبعية الطرف الثالث المزعجة.

أجزاء سوسو

تركز بشكل أساسي على برمجة المقبس فقط

يعد هذا الكتاب جيدًا جدًا كمرجع ودود لبرمجة المقبس واستدعاءات النظام ذات الصلة. ومع ذلك، فإنه لا يرتفع أو ينخفض:

  • "higher": تعتمد معظم تطبيقات الويب اليوم على بروتوكول HTTP. كان من الممكن أن يكون أفضل لو أن الكتاب يحتوي على المزيد من التوضيحات حول هذه الطبقة العليا مع كود التشغيل الفعلي.
  • "lower": أعتقد أن الكتاب كان من الممكن أن يوضح كيف تبدو الحزمة باستخدام أدوات مثل Wireshark التي تنتزع الحزم التي تم إنشاؤها بواسطة الأمثلة. قد يكون تقديم بعض أوامر Linux/Unix للشبكات مفيدًا أيضًا في فهم كيفية تفاعل كود تطبيقنا مع النواة.

ومع ذلك، وجدت مصدرًا جيدًا آخر كتبه نفس المؤلف: دليل Beej لمفاهيم الشبكات. يبدو أنه يغطي العديد من المفاهيم الأساسية بشكل أكثر شمولاً من هذا الكتاب مع الكثير من تمارين البرمجة. آمل أن يسد كتاب "المفهوم" هذا فجوة كتاب "البرمجة".

لا ينصح به لأولئك الذين ليسوا على دراية برمز C

إذا كنت لا تعرف الكثير عن برمجة C، فقد يكون هذا الكتاب مربكًا. لا يشرح أي مفاهيم أساسية مثل المؤشرات أو اختيار الكتابة. على الرغم من أننا لا نعاني من جحيم التبعية كما هو الحال عند التعامل مع CMake، إذا كنت لا تعرف الكثير عن لغة C، فستظل قراءة التعليمات البرمجية صعبة.

أنا شخصياً أوافق على كود C. ومع ذلك، كان من الممكن أن يكون الكتاب أكثر ملاءمة للمبتدئين إذا كان مكتوبًا بلغة بايثون، التي تحتوي تقريبًا على جميع نظيرات وظائف المقبس في لغة C في مكتبة المقبس الخاصة بها. يستخدم كتاب "المفهوم" للمؤلف نفسه لغة بايثون هذه المرة، لذلك يمكننا أن نتوقع بعض المرح هناك.

خاتمة

بشكل عام، الكتاب مليء بأمثلة التعليمات البرمجية العملية التي تكون مفيدة عند فهم تطبيق الشبكة باستخدام استدعاءات نظام المقبس. بالطبع، لن تحتاج حقًا إلى استخدام هذه الوظائف عند كتابة تطبيقك الخاص، لأن العديد من اللغات تدعم أغلفةها الخاصة لوظائف شبكة المقبس "منخفضة المستوى" (تحتوي بايثون على مكتبات مثل مقبس الخادم وhttp). ومع ذلك، أعتقد أنه يجب عليك مرة واحدة في حياتك المهنية كمطور أن تفهم ما يحدث وراء كل هذه الاتصالات المجردة للغاية باستخدام HTTPS أو websocket. وبهذا المعنى، يعد هذا الكتاب قراءة جيدة ومرجعًا جيدًا أيضًا.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/uponthesky/book-review-beejs-guide-to-network-programming-9mg إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3