البدء
في هذا الجزء، سنستكشف GraphQL، البديل الحديث لـREST في تنفيذ واجهات الخادم. سنتعلّم المفاهيم الأساسية في GraphQL، بما فيها المخططات والاستعلامات وmutation والاشتراكات (subscriptions)، ونبني خادم GraphQL باستخدام Apollo Server. وفي الواجهة الأمامية، سنربط تطبيق React بالواجهة الخلفية GraphQL باستخدام Apollo Client، ونتعامل مع جلب البيانات والتخزين المؤقت وإدارة الحالة. سنضيف أيضاً قاعدة بيانات ومصادقة مستخدمين إلى الواجهة الخلفية، ونختم بالنظر في مواضيع متقدمة مثل تحسين الاستعلامات.
المتطلبات المسبقة
يعتمد هذا الجزء على مهارات JavaScript وReact الأساسية من الأجزاء السابقة، بالإضافة إلى خبرة بناء تطبيقات من جهة الخادم باستخدام Node.js. قبل بدء هذا الجزء ينبغي أن تكون مرتاحاً في التعامل مع أنماط مكوّنات React وإدارة الحالة وإجراء طلبات HTTP من الواجهة الأمامية. وفي الواجهة الخلفية، ينبغي أن تفهم كيفية بناء تطبيق Node.js والاتصال بقاعدة بيانات وتنفيذ مصادقة المستخدمين. يُنصح بإكمال الأجزاء 0 إلى 5 على الأقل قبل بدء هذا الجزء.
التسجيل
لا تحتاج إلى التسجيل للدراسة في المقرر. لا يمكنك التسجيل إلا بعد إكمال المقرر، انظر الحصول على نقاط ECTS والشهادة أدناه.
المساعدة في التمارين أو الأمور العملية للمقرر
للمقرر مجموعة Discord نناقش فيها كل ما يتعلق بالمقرر. الدعم متاح على مدار الساعة تقريباً، والنقاش باللغتين الإنجليزية والفنلندية.
انضم إلى قناة Full stack open على Discord: https://study.cs.helsinki.fi/discord/join/fullstack
يُحظر كل تعليق غير لائق أو مهين أو تمييزي على القناة، وسيُتخذ إجراء ضد صاحب التعليق.
تسليم التمارين
يحتوي هذا الجزء من المقرر على 29 تمريناً، ويجب إكمال معظمها للحصول على التقييم. بعض المهام اختيارية، ويُشار بوضوح إلى كونها اختيارية في مادة المقرر.
تُسلَّم التمارين إلى مستودع GitHub جديد، يشمل كل الشيفرة المصدرية والإعدادات التي تجريها خلال هذا الجزء. إذا كنت تستخدم مستودعاً خاصاً، أضف مستخدم GitHub mluukkai كمساهم.
تُراجع تمارينك بعد تسليم التمرين الأخير، وإذا كان كل شيء مقبولاً إلى حد ما، ستُقيَّم وستتاح لك الشهادة والنقاط الجامعية.
تذكّر ألا تغش في التمارين! إذا سلّم عدة طلاب، مثلاً، الشيفرة نفسها، تُعالج المسألة وفقاً لـسياسة الانتحال في جامعة هلسنكي.
قفل الفصل
بعد إكمال جميع تمارين الفصل، يجب عليك قفل الفصل قبل الانتقال إلى الفصل التالي. تذكّر أنه بعد قفل الفصل لن تتمكن من تسليم أي تمارين أخرى له، لذا لا تقفله إلا عندما ينتهي كل شيء.
يبدو نشاط قفل الفصل هكذا:

الحصول على نقاط ECTS والشهادة
بعد إكمال التمارين وتقييمها، يمكنك الحصول على نقاط ECTS كما يلي
طلاب الدرجات في جامعة هلسنكي وطلاب التبادل
- سجّل مباشرة عبر حسابك في Sisu (Sisu: هيكل الدراسات).
- أكمل جميع التمارين المطلوبة.
آخرون
- أكمل جميع التمارين المطلوبة.
- انتقل إلى الصفحة الرئيسية للمقرر.
- مرّر للأسفل حتى ترى عنصراً يقول تهانينا!
- اضغط زر تسجيل.
- املأ نموذج التسجيل في الجامعة المفتوحة (جامعة هلسنكي). استخدم عنوان البريد الإلكتروني نفسه الذي استخدمته لإكمال المقرر.
- عادةً ما تُسجَّل النقاط في سجل الدراسة بجامعة هلسنكي خلال يومين من التسجيل.
عادةً ما يستغرق تسجيل النقاط يومين.
شهادة المقرر متاحة أيضاً في الصفحة الرئيسية للمقرر.
التحسينات والملاحظات على مادة المقرر
نرحب بمساهمات الطلاب وأعضاء مجتمع DevOps الآخرين في مادة المقرر! إذا لاحظت أي أخطاء أو أخطاء مطبعية أو أخطاء في المادة، فنرجو أن تفكر في إرسال طلب تصحيح أو توضيح بالضغط على زر إرسال الملاحظات ، الذي يمنحك خيارين:

في حالة الأخطاء المطبعية مثلاً، يُفضَّل اختيار تحسين المادة الذي يجعل المادة "قابلة للتحرير"، ويمكنك إرسال اقتراحات التحسين للموافقة عليها.
استخدام LLM:s
أصبحت نماذج اللغة الكبيرة أدوات قوية في تطوير البرمجيات، ووكيلات البرمجة (coding agents) تدفع هذه القدرات إلى أبعد من ذلك. يمكنها أن تجعل مقرراً كهذا يبدو بلا جهد تقريباً، لكن الاعتماد عليها بإفراط له ثمن. لاستخدام الذكاء الاصطناعي بفعالية، ما زلت بحاجة إلى إتقان متين للأساسيات. لهذا أقترح استخدام الوكلاء باعتدال، لا سيما في الشروح وتصحيح الأخطاء، حتى تبني فهماً حقيقياً بدلاً من الاستعانة بمصادر خارجية للتعلّم.
نهج عملي يضع التعلّم أولاً لاستخدام الذكاء الاصطناعي في هذا المقرر:
قبل استخدام الذكاء الاصطناعي
- جرّب بنفسك أولاً: اكتب حلاً أو على الأقل ارسم مقاربتك.
- حدّد المشكلة بدقة: تعرّف على رسالة الخطأ بالتحديد أو المفهوم غير الواضح أو المقايضة التصميمية التي علقت عندها.
كيف تستخدم الذكاء الاصطناعي بحكمة
- الشروح: اطلب شروحاً واضحة للمفاهيم أو الشيفرة (لماذا يعمل شيء ما، وليس كيف فقط).
- تصحيح الأخطاء: شارك الخطأ والشيفرة ذات الصلة وما جربته بالفعل؛ واطلب فرضيات وحلولاً ممكنة.
- مراجعة الأقران: اطلب ملاحظات على حلك والحالات الحدية والتعقيد والبدائل.
- دعم التصميم: اطلب تقسيم المشكلة إلى أجزاء، واقتراح حالات اختبار، وتحديد معايير النجاح.
ما يجب تجنبه
- نسخ حلول كاملة دون فهمها.
- الطلبات الواسعة جداً ("اكتب الواجب كاملاً") التي تختصر تعلّمك.
- الاعتماد على إجابة واحدة دون تحقق أو اختبارات.
الخلاصة: اجعل الذكاء الاصطناعي شارحك ومراجعك وشريكك في تصحيح الأخطاء، لا بديلاً عن التفكير والتدرّب.
عن المادة
هذه المادة مرخّصة بموجب Creative Commons BY-NC-SA 4.0 ، لذا يمكنك استخدام المادة وتوزيعها بحرية ما دمت تذكر المنشئين الأصليين. إذا أجريت تغييرات على المادة وأردت توزيع النسخة المعدّلة، فيجب ترخيصها بالترخيص نفسه. يُحظر استخدام المادة لأغراض تجارية دون إذن.
0. تمرين تمهيدي