برمجة الشبكات باستخدام Rust
Практическое руководство по созданию сетевых приложений
ملخص:
مقدمة
كتاب «Network Programming with Rust» (المؤلف — Abhijit Gadgil، عام 2018، 286 صفحة) هو دليل عملي مخصص لبناء تطبيقات الشبكات بلغة Rust. في عصر أصبحت فيه الأداء وأمان الذاكرة عوامل حاسمة، تقدم Rust مزيجًا فريدًا من التحكم منخفض المستوى وضمانات الأمان. يهدف المؤلف إلى تعليم القارئ ليس فقط كتابة كود الشبكات، بل القيام بذلك بكفاءة باستخدام جميع نقاط القوة في اللغة: نظام الملكية (ownership)، الاقتراض (borrowing)، زمن الحياة (lifetimes)، ونظام الأنواع القوي.
عن ماذا يتحدث الكتاب
يغطي الكتاب مجموعة واسعة من المواضيع — من أساسيات العمل مع الـ sockets إلى بناء خوادم غير متزامنة عالية التحميل. يبدأ بمقدمة عن نظام Rust البيئي والمفاهيم الأساسية للتفاعل الشبكي (نموذج OSI، TCP/UDP). ثم يتم تناول ما يلي بالتتابع:
- العمل مع الـ sockets الحاجزة وغير الحاجزة؛
- بروتوكولات TCP و UDP وتنفيذها في Rust؛
- إنشاء خوادم وعملاء HTTP باستخدام الـ crates الشائعة (hyper، reqwest)؛
- البرمجة غير المتزامنة باستخدام tokio و async/await (في وقت إصدار الكتاب — futures)؛
- الأمان: تشفير TLS/SSL، العمل مع الشهادات؛
- التفاعل مع قواعد البيانات عبر الشبكة (على سبيل المثال PostgreSQL)؛
- اختبار تطبيقات الشبكات وتصحيح الأخطاء.
يحتوي كل فصل على أمثلة عملية من الكود يمكن تطبيقها فورًا.