في هذا الجزء، سنتعلّم كيفية تغليف الشيفرة في وحدات برمجية قياسية تُسمى الحاويات (containers). ويمكن لهذه الحاويات أن تساعدنا في تطوير البرمجيات بسرعة وسهولة أكبر من قبل. وعلى طول الطريق، سنستكشف أيضاً منظوراً جديداً تماماً لتطوير الويب، خارج الواجهة الخلفية بـNode.js والواجهة الأمامية بـReact اللتين أصبحنا نعرفهما.

سنستخدم الحاويات لإنشاء بيئات تنفيذ ثابتة لمشاريع Node.js وReact الخاصة بنا. كما تسهّل الحاويات إدراج خدمات متعددة في مشاريعنا. وبفضل مرونتها، سنستكشف ونجرّب كثيراً من الأدوات المختلفة والشائعة بالاستعانة بالحاويات.

المتطلبات المسبقة

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

ستحتاج إلى معرفة أساسية بـNode وExpress وReact. يُشترط إكمال الأجزاء الأساسية فقط، من 1 إلى 5، قبل هذا الجزء.

التسجيل

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

المساعدة في التمارين أو الأمور العملية للمقرر

للمقرر مجموعة Discord نناقش فيها كل ما يتعلق بالمقرر. الدعم متاح على مدار الساعة تقريباً، والنقاش باللغتين الإنجليزية والفنلندية.

انضم إلى قناة Full stack open على Discord: https://study.cs.helsinki.fi/discord/join/fullstack,

جميع التعليقات غير اللائقة أو المهينة أو التمييزية على القناة محظورة وستؤدي إلى اتخاذ إجراء ضد صاحب التعليق.

تسليم التمارين

يحتوي هذا الجزء من المقرر على 24 تمريناً، ويجب إكمالها جميعاً للحصول على درجة.

تُسلَّم التمارين إلى مستودع GitHub واحد، يتضمن كل الشيفرة المصدرية والإعدادات التي تجريها خلال هذا الجزء. إذا كنت تستخدم مستودعاً خاصاً، أضف مستخدم GitHub mluukkai كمساهم.

انسخ كل محتوى https://github.com/fullstack-hy2020/fs-containers إلى مستودع التسليم الخاص بك.

لا ينبغي أن تغيّر بنية المجلدات، لذا ينبغي أن توجد أربعة مجلدات في جذر مستودع التسليم الخاص بك

  • answers التي ستحتوي على إجابات التمارين غير المتعلقة بالبرمجة
  • todo-app الذي يحتوي على التطبيق وإعداداته التي تُطوَّر خلال الجزء
  • todo-tests الذي يحتوي على بعض الاختبارات لتطبيقك
  • .github الذي يحتوي على تعريفات GitHub Action التي تشغّل الاختبارات في GitHub

تُراجع تمارينك بعد تسليم التمرين الأخير، وإذا كان كل شيء مقبولاً إلى حد ما، ستُقيَّم وستتاح لك الشهادة والنقاط الجامعية.

تذكّر ألا تغش في التمارين! إذا سلّم عدة طلاب، مثلاً، الشيفرة نفسها، تُعالج المسألة وفقاً لـسياسة الانتحال في جامعة هلسنكي.

قفل الفصل

بعد إكمال جميع تمارين الفصل، يجب عليك قفل الفصل قبل الانتقال إلى الفصل التالي. وتذكّر أنه بعد قفل الفصل لن تتمكن من تسليم أي تمارين أخرى له، لذا لا تقفله إلا عندما ينتهي كل شيء.

صورة توضيحية

الحصول على نقاط ECTS والشهادة

بعد إكمال التمارين وتقييمها، يمكنك الحصول على نقاط ECTS كما يلي

طلاب الدرجات في جامعة هلسنكي وطلاب التبادل

  1. سجّل مباشرة عبر حسابك في Sisu (Sisu: هيكل الدراسات).
  2. أكمل جميع التمارين المطلوبة.

آخرون

  1. أكمل جميع التمارين المطلوبة.
  2. انتقل إلى الصفحة الرئيسية للمقرر.
  3. مرّر للأسفل حتى ترى عنصراً يقول تهانينا!
  4. اضغط زر تسجيل.
  5. املأ نموذج التسجيل في الجامعة المفتوحة (جامعة هلسنكي). استخدم عنوان البريد الإلكتروني نفسه الذي استخدمته لإكمال المقرر.
  6. عادةً ما تُسجَّل النقاط في سجل الدراسة بجامعة هلسنكي خلال يومين من التسجيل.

عادةً ما يستغرق تسجيل النقاط يومين.

شهادة المقرر متاحة أيضاً في الصفحة الرئيسية للمقرر.

التحسينات والملاحظات على مادة المقرر

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

صورة توضيحية

في حالة الأخطاء المطبعية مثلاً، يُفضَّل اختيار تحسين المادة الذي يجعل المادة "قابلة للتحرير"، ويمكنك إرسال اقتراحات التحسين للموافقة عليها.

استخدام LLM:s

أصبحت نماذج اللغة الكبيرة مفيدة للغاية في تطوير البرمجيات، ونقل وكلاء البرمجة (coding agents) قدرات الذكاء الاصطناعي إلى مستوى جديد. بل يمكنهم أن يجعلوا إكمال هذا المقرر يبدو بلا جهد. والسؤال هو هل ذلك حكيم. لا يزال الاستخدام الفعّال للذكاء الاصطناعي يتطلب إلماماً راسخاً بالأساسيات. لهذا أوصي باستخدام الوكلاء باعتدال — لا سيما في الشروح وتصحيح الأخطاء — حتى تتعلّم بعمق بدلاً من أن توكل العمل.

نهج عملي يضع التعلّم أولاً لاستخدام الذكاء الاصطناعي في هذا المقرر:

قبل استخدام الذكاء الاصطناعي

  • جرّب بنفسك أولاً: اكتب حلاً أو على الأقل ارسم مقاربتك.
  • حدّد المشكلة بدقة: تعرّف على رسالة الخطأ بالتحديد أو المفهوم غير الواضح أو المقايضة التصميمية التي علقت عندها.

كيف تستخدم الذكاء الاصطناعي بحكمة

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

ما يجب تجنبه

  • نسخ الحلول الكاملة دون فهمها.
  • الطلبات الواسعة جداً ("اكتب الواجب كاملاً") التي تختصر تعلّمك.
  • الاعتماد على إجابة واحدة دون تحقق أو اختبارات.

الخلاصة: اجعل الذكاء الاصطناعي شارحك ومراجعك وشريكك في تصحيح الأخطاء، لا بديلاً عن التفكير والتدرّب.

عن المادة

أنشأ هذا الجزء Jami Kousa بالتعاون مع فريق Services Foundation في Unity ومقره هلسنكي. يعمل فريق Services Foundation على توفير منصات لفرق أخرى في Unity لتنجح في مهمتها المتمثلة في بناء خدمات رائعة لعملائها. يتحمّس الفريق لتحسين تجربة المطوّرين في Unity ويعمل على أدوات مثل Unity Dashboard وUnity Editor وUnity.com.

هذه المادة مرخّصة بموجب ترخيص Creative Commons BY-NC-SA 4.0، لذا يمكنك استخدام المادة وتوزيعها بحرية، ما دمت تذكر المنشئين الأصليين. إذا أجريت تغييرات على المادة وأردت توزيع النسخة المعدّلة، فيجب ترخيصها بالترخيص نفسه. يُحظر استخدام المادة لأغراض تجارية دون إذن.

0. تسخين