الأيقونات الاجتماعية

اضغط على ESC للإغلاق

تعلم لعبة Go

التصنيفات : الخلفية, الأساسيات
قائمتي المفضلة مشاركة
مشاركة
رابط الصفحة
مشاركة على وسائل التواصل الاجتماعي

عن الدورة

Go، أو Golang، لغة برمجة سريعة وفعّالة مصممة لتطوير برمجيات قابلة للتطوير. تُستخدم على نطاق واسع في البنية التحتية السحابية، وتطوير الويب، والعمليات. مع تزايد استخدامها، يُمكّنك تعلم Go من بناء حلول موثوقة وعالية الأداء للتطبيقات الحديثة.

ماذا سوف تتعلم؟

  • قم بخدمة صفحات الويب باستخدام net/http وطلبات التوجيه باستخدام http.HandleFunc.
  • عرض HTML بشكل آمن باستخدام html/template، وتمرير الهياكل إلى القوالب، وإخراج القيم الديناميكية.
  • جمع وتأكيد إدخال النموذج عبر r.FormValue(...).
  • قم بإنشاء صفحة تفاعلية صغيرة (محرر marquee) تقوم بتحديث السمات مثل scrollamount، وscrolldelay، وbgcolor، وdirection، وloop.
  • استخدم strings.EqualFold وقم بالتبديل للتعامل مع الخيارات غير الحساسة لحالة الأحرف (على سبيل المثال، الاتجاهات).
  • قم بتنظيم مشروع ويب Go صغير (وحدات، تخطيط الملفات) وقم بتشغيله محليًا على :8080.
  • أضف تصميم CSS خفيفًا وفهم مكان ملاءمة الأصول الثابتة في مشروع Go.

محتوى الدورة

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

  • مقدمة وأنواع البيانات والمتغيرات
    34:53
  • الاختبار 1

الدرس الثاني
في هذا الدرس، سنتعمق في كيفية تنظيم وتشغيل الشفرة البرمجية في Go. سنبدأ بمفهوم الحزم. في Go، ينتمي كل برنامج إلى حزمة، و
الحزمة هي نقطة بداية التنفيذ. ستتعلم كيف تساعد الحزم في هيكلة الكود، وتعزيز إمكانية إعادة الاستخدام، والحفاظ على تنظيم المشاريع. بعد ذلك، سنستكشف عمليات الاستيراد. تتيح لك لغة Go جلب مكتبات قياسية مثل للطباعة، أو للعمل مع نظام التشغيل. ستفهم أيضًا الفرق بين استيراد مكتبة واحدة واستيراد مكتبات متعددة باستخدام الأقواس. وأخيرًا، سنتدرب على العمليات الأساسية في Go، بما في ذلك العمليات الرياضية، ومعالجة السلاسل النصية، والمنطق البولياني. ستفهم كيف تُطبّق Go أمان الأنواع، وكيف تعمل عوامل مثل +، -، *، /، و%. بنهاية هذا الدرس، ستفهم كيفية هيكلة مشاريع Go، وكيفية استيراد المكتبات واستخدامها، وكيفية إجراء العمليات الشائعة التي يحتاجها كل برنامج Go.

الدرس الثالث
في هذا الدرس، سنتعمق في عبارات تدفق التحكم في Go. يتيح لك تدفق التحكم اتخاذ القرارات، وتنفيذ الفروع، والتكرار في الكود. بخلاف بعض اللغات الأخرى، تحافظ Go على بساطة ووضوح هياكل التحكم - بدون أقواس حول الشروط، ودائمًا ما تستخدم الأقواس المعقوفة.

الدرس الرابع
في هذا الدرس، سنستكشف الدوال، وهي إحدى الركائز الأساسية لبرامج Go. تتيح لك الدوال تجميع كتل برمجية قابلة لإعادة الاستخدام، مما يجعل تطبيقاتك أكثر مرونة وقابلية للصيانة وأسهل فهمًا. ستتعلم كيفية: تعريف الدوال واستدعائها باستخدام الكلمة المفتاحية func. التعامل مع المعاملات وقيم الإرجاع، بما في ذلك قيم إرجاع متعددة. فهم الفرق بين القيمة والمرجع عند تمرير الوسائط. استخدام قيم إرجاع مُسمّاة لبرمجة أدق. كتابة دوال متغيرة تقبل عددًا متغيرًا من الوسائط. تنظيم الكود في حزم قابلة لإعادة الاستخدام عن طريق وضع الدوال ذات الصلة معًا. بإتقان الدوال، ستتمكن من كتابة برامج Go فعّالة وقابلة للتطوير، مع تجنب تكرار الكود. يُرسي هذا الدرس الأساس لمواضيع Go أكثر تقدمًا مثل الدوال والواجهات والتزامن.

الدرس الخامس
أنشئ واجهة برمجة تطبيقات REST جاهزة للإنتاج بلغة Go باستخدام GORM كـ ORM وSQLite3 كقاعدة بيانات مدمجة. ستُنشئ مشروعًا نظيفًا، وتُنشئ اتصالًا بقاعدة البيانات، وتُنمذج كيانات حقيقية باستخدام وسوم هيكل GORM للأعمدة والمفاتيح الأساسية والطوابع الزمنية والعلاقات. مع تفعيل التوجيه ومعالجة JSON، ستُطبّق نقاط نهاية CRUD كاملة، وتُعيد رموز حالة HTTP الصحيحة، وتُضيف معالجة سلسة للأخطاء. بالإضافة إلى الأساسيات، ستتعلم أنماطًا عملية لواجهات برمجة التطبيقات تُستخدم في الخدمات المصغرة: التكوين القائم على البيئة، ونقاط نهاية الصحة والجاهزية، والمسارات المُنسَّقة، والترقيم والتصفية عبر معلمات الاستعلام، والتحقق من صحة الإدخالات، وحالات انتهاء المهلة المرتبطة بالسياق. في طبقة البيانات، ستُغطي الترحيل التلقائي، والمعاملات، وبناء الاستعلامات، والتحميل السريع، والتوزيع. كما يتطرق الدرس إلى CORS وبرمجيات التسجيل الوسيطة، واختبار نقاط النهاية باستخدام curl أو Postman، وتنظيم الكود لضمان قابلية الصيانة. بحلول النهاية، سيكون لديك خدمة Go صغيرة ولكنها كاملة تحتفظ بالبيانات باستخدام SQLite، وتكشف عن نقاط نهاية JSON، وتتبع ممارسات تصميم واجهة برمجة التطبيقات السليمة - جاهزة للتوسع في خدمة صغيرة أكبر أو نشرها كبرنامج خلفي خفيف الوزن.

الدرس السادس
تعلّم أساسيات مجموعات Go ومعالجة النصوص التي ستستخدمها يوميًا. توضح هذه الجلسة متى تختار المصفوفات ذات الحجم الثابت، وكيفية العمل بفعالية مع السلاسل النصية (بما في ذلك Unicode)، وكيفية نمذجة بيانات المفتاح والقيمة باستخدام الخرائط. ستتعلم من هذه الجلسة: المصفوفات: ما هو [N]T ذو الطول الثابت، ودلالات القيم (النسخ عند التعيين)، والقيم الصفرية، والقيم الحرفية، والفهرسة، والتكرار باستخدام for/range، ومتى تكون المصفوفات مناسبة، وكيفية ارتباط الشرائح بالمصفوفات لتحديد الحجم الديناميكي. السلاسل النصية: بيانات UTF-8 الثابتة، ولماذا تحسب الدالة len البايتات (وليس الأحرف)، والتكرار بالبايتات مقابل الأحرف الرونية، والتحويل بين السلاسل النصية، و[]byte، و[]rune، وأهم الأدوات المساعدة من السلاسل النصية وحزم Unicode/utf8. الخرائط: الإنشاء باستخدام دالة make والحرفية، وسلوك القيمة الصفرية (الخريطة الصفرية)، وعمليات الإدراج/القراءة/الحذف، وفحص وجود "الفاصلة" (موافق)، وتحذيرات ترتيب التكرار، وأنواع المفاتيح الصحيحة، وكيفية عمل الخرائط عند تمريرها إلى الدوال. الأخطاء الشائعة وأفضل الممارسات: تجنب النسخ غير المقصودة مع المصفوفات الكبيرة، والتعامل الآمن مع النصوص غير المكتوبة بترميز ASCII، وتهيئة هياكل الخرائط/الشرائح المتداخلة، وحماية الخرائط للوصول المتزامن، والاختيار بين الخرائط وشرائح الهياكل لعمليات البحث مقابل المسح. في النهاية، ستتقن تخزين البيانات واستعلامها وتحويلها باستخدام مصفوفات Go وسلاسلها وخرائطها، وستعرف الأخطاء التي يجب تجنبها مع نمو برامجك.

الدرس السابع
تتعمق جلسة اليوم في نظام أنواع Go وطرقه الفعّالة في تنظيم البيانات وفحصها. سنتناول الأنواع المُعرّفة من قِبل المستخدم باستخدام struct، ونستكشف الهياكل المُضمّنة لإعادة استخدام الكود وتكوينه، ونُقدّم الواجهات كوسيلة لتحديد السلوك، وأخيرًا نتناول الانعكاس (حزمة Reflect) لفحص الأنواع والقيم أثناء التشغيل. بنهاية هذا الدرس، ستفهم كيفية تصميم برامج Go أكثر مرونةً وقابليةً لإعادة الاستخدام وعمقًا.

الدرس الثامن
تعرّف على نموذج معالجة الأخطاء في لغة Go وأدوات التحكم في التدفق التي تحافظ على قوة البرامج. سنغطي إنشاء الأخطاء وإعادتها باستخدام errors.New وfmt.Errorf، وتغليف الأخطاء وفحصها عبر errors.Is/errors.As، وتصميم أنواع أخطاء مخصصة. ستكتشف أين يتألق defer في ضمان التنظيف (الملفات، الأقفال، المعاملات)، وكيفية تنفيذ استدعاءات defered بترتيب LIFO، والمخاطر الشائعة (متغيرات الحلقة الملتقطة، واستخدام defer في المسارات الساخنة). سنوضح متى يكون الذعر مناسبًا (انتهاكات المبرمج أو الثوابت غير القابلة للإصلاح) مقابل إرجاع خطأ، وكيفية استعادة التحكم بأمان باستخدام restore داخل دالة defered - دون إساءة استخدامها للتدفق الطبيعي. في النهاية، ستتمكن من هيكلة دوال تُبلغ عن سياق غني، وتُنظف بشكل موثوق، وتفشل بسرعة عند الضرورة.

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

الدرس العاشر
تعلم تطبيقات عملية لإدخال/إخراج الملفات وبنية HTTP بسيطة في Go. أنشئ الملفات، واقرأها، واكتبها، وأضفها، واحذفها باستخدام os وio وbufio؛ وأدر الأذونات والمسارات والمجلدات؛ واستخدم defer لإغلاق المعالجات بأمان. دفق الملفات الكبيرة دون تحميلها بالكامل في الذاكرة، وسلسل البيانات من/إلى JSON أو CSV. أنشئ خادم ويب صغيرًا باستخدام net/http، وسجل المعالجات والمسارات، ووفر الأصول الثابتة باستخدام http.FileServer، ونفّذ عمليات تحميل/تنزيل الملفات عبر multipart/form-data. أضف تسجيل الطلبات والبرمجيات الوسيطة الأساسية، وحدد مهلة زمنية معقولة، وأغلق بسلاسة مع السياق. اختتم بنصائح الأمان والمتانة: نظّف المسارات، وحدد حجم التحميل، وتحقق من الأخطاء، واحمِ من اجتياز المجلدات.

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

الدرس الثاني عشر
تعلم كيفية بناء صفحات ويب بلغة Go من خلال الجمع بين net/http وhtml/template. ستُقدم عروض HTML ديناميكية، وتمرر البيانات إلى قوالب، وتُنظم تخطيطات/أجزاء قابلة لإعادة الاستخدام (الأساسي، الرأسي، التذييلي). ستُقدم أصولًا ثابتة (CSS/JS/الصور)، وتُنشئ مسارات/معالجات بسيطة، وتُعالج نماذج HTML (GET/POST) بأمان مع التحقق من الصحة. سنغطي وظائف القوالب، والتخلص من ثغرات XSS، وهيكلية المشروع (المعالجات، القوالب، الأصول). في النهاية، ستحصل على تطبيق ويب Go صغير متعدد الصفحات يُقدم القوالب، ويتعامل مع مدخلات المستخدم، ويخدم كل شيء من خادم Go واحد.

تقييمات ومراجعات الطلاب

لا يوجد تقييم حتى الآن
لا يوجد تقييم حتى الآن

انضم إلى مجتمعنا 👋

فتح الوصول الكامل إلى حسابي دروس تعليمية ورؤية المكتبة بأكملها أعضاء فقط المشاركات.

اشترك في نشرتنا البريدية النشرة الإخبارية، إلغاء في في أي وقت.

انضم الآن