نبذة عن الدورة
تقدّم هذه الدورة مدخلاً شاملاً إلى لغة Go (Golang) وإطار عمل الويب القوي الخاص بها Gin، بما يمكّن المشاركين من بناء تطبيقات ويب وواجهات API عالية الأداء وقابلة للتوسع وآمنة. ومن خلال مشاريع عملية، سيتعلّم المشاركون أساسيات البرمجة بلغة Go، وكيفية تطوير واجهات RESTful API، وتطبيق البرمجيات الوسيطة (Middleware)، والمصادقة، والتكامل مع قواعد البيانات، ونشر تطبيقات جاهزة لبيئة الإنتاج باستخدام Gin.
منهجية التدريب
مختبرات برمجة عملية – كتابة تطبيقات Go باستخدام Gin من الصفر
عروض حية – تطبيق حالات استخدام واقعية
دراسات الحالة وأفضل الممارسات – التعلّم من سيناريوهات القطاع
التعلّم التعاوني – النقاشات الجماعية ومراجعات الأقران
مشروع التخرج (Capstone Project) – تطوير واجهة API متكاملة الوظائف باستخدام Go وGin
الكفاءات المستهدفة
- أساسيات لغة البرمجة Go
- بناء تطبيقات الويب باستخدام إطار عمل Gin
- تطوير واجهات RESTful API باستخدام Go وGin
- تطبيق البرمجيات الوسيطة (Middleware) وأمن واجهات API
- التكامل مع قواعد البيانات باستخدام GORM (Go ORM)
- نشر تطبيقات Go القابلة للتوسع في بيئة الإنتاج
أهداف الدورة
بنهاية الدورة، سيكون المشاركون قادرين على:
- فهم أساسيات لغة Go وإطار عمل Gin
- بناء تطبيقات الويب وواجهات RESTful API باستخدام Gin
- تطبيق المصادقة والبرمجيات الوسيطة وأفضل الممارسات الأمنية
- التعامل مع قواعد البيانات باستخدام GORM وSQL
- تحسين تطبيقات الويب عالية الأداء ونشرها باستخدام Gin
محاور الدورة
الوحدة 1: مقدمة في Go وتطوير الويب
- ما هي Go؟ – نظرة عامة على خصائصها وفوائدها
- إعداد بيئة التطوير بلغة Go
- مقدمة في صياغة Go وأنواع البيانات وهياكل التحكم
- الدوال والمؤشرات (Pointers) والهياكل (Structs) في Go
- فهم نموذج التزامن في Go (Goroutines وChannels)
الوحدة 2: البدء مع إطار عمل Gin
- ما هو Gin؟ – خصائصه وفوائده
- إعداد مشروع Gin بلغة Go
- فهم الموجّه (Router) في Gin وطرق HTTP
- التعامل مع الطلبات والاستجابات ومعاملات الاستعلام (Query Parameters)
- التعامل مع بيانات JSON والتسلسل (Serialization)
الوحدة 3: البرمجيات الوسيطة ومعالجة الطلبات في Gin
- ما هي البرمجيات الوسيطة (Middleware)؟ البرمجيات الوسيطة المدمجة مقارنةً بالمخصّصة
- التسجيل (Logging) ومعالجة الأخطاء في Gin
- تطبيق برمجيات وسيطة للمصادقة (JWT وOAuth2)
- إدارة مشاركة الموارد عبر المصادر المختلفة (CORS)
- تحديد معدل الطلبات (Rate Limiting) وتحسين الأداء
الوحدة 4: تطوير واجهات RESTful API باستخدام Gin
- تصميم واجهات RESTful API باستخدام Gin
- التعامل مع عمليات CRUD (الإنشاء والقراءة والتحديث والحذف)
- هيكلة واجهات API واسعة النطاق ببنية معمارية معيارية
- تطبيق إدارة إصدارات واجهات API
- كتابة اختبارات الوحدات واختبارات التكامل لواجهات API
الوحدة 5: التكامل مع قواعد البيانات باستخدام GORM
- مقدمة في GORM – مكتبة ORM الخاصة بلغة Go
- ربط Gin بقواعد بيانات SQLite وPostgreSQL وMySQL
- تنفيذ عمليات CRUD باستخدام GORM
- التعامل مع العلاقات في قواعد البيانات (واحد إلى واحد، وواحد إلى متعدد، ومتعدد إلى متعدد)
- استخدام عمليات الترحيل (Migrations) والمعاملات (Transactions) في GORM
الوحدة 6: المصادقة والأمن في Gin
- تطبيق المصادقة باستخدام JWT في Gin
- استخدام OAuth2 لتسجيل الدخول عبر الحسابات الاجتماعية (Google وGitHub وFacebook)
- حماية واجهات API باستخدام التحكم في الوصول القائم على الأدوار (RBAC)
- تأمين تطبيقات الويب من هجمات حقن SQL (SQL Injection) وXSS وCSRF
- التعامل مع استجابات الأخطاء وأفضل ممارسات أمن واجهات API
الوحدة 7: الخصائص المتقدمة في Gin
- التعامل مع WebSockets في Gin للاتصال في الوقت الفعلي
- تطبيق رفع الملفات والاستجابات المتدفقة (Streaming)
- استخدام الجلسات (Sessions) وملفات تعريف الارتباط (Cookies) في تطبيقات Gin
- استراتيجيات التخزين المؤقت (Caching) لواجهات API عالية الأداء
- تصحيح الأخطاء وتحليل الأداء (Profiling) في Go
الوحدة 8: نشر تطبيقات Gin وتوسيع نطاقها
- إعداد تطبيق Go لبيئة الإنتاج
- نشر تطبيقات Gin على Docker وKubernetes وAWS وDigitalOcean
- إعداد الوكيل العكسي (Reverse Proxy) باستخدام Nginx
- استخدام خطوط CI/CD لتطبيقات Go
- المراقبة والتسجيل في بيئات الإنتاج