انطلق في ASP.NET Core Copilot: خطوتك الأولى العملية اليوم

ASP.NET Core Copilot : الأساسيات في مقال واحد — كود حقيقي، مخططات وخطوات ملموسة، مقتطفات من دورة تتكون من 43 درسًا.

انطلق في ASP.NET Core Copilot: خطوتك الأولى العملية اليوم

أفضل طريقة لتعلم ASP.NET Core Copilot هي بالممارسة. يضعك هذا المقال على الطريق الصحيح مع مقتطفات عملية مستمدة من دورة تضم 43 درسًا — ما يكفي للحصول على نتيجة أولية اليوم.

tl;dr
  • المقدمة والتثبيت
  • أساسيات ASP.NET Core
  • إنشاء واجهة برمجة تطبيقات REST باستخدام Copilot
  • أساسيات Entity Framework Core
  • LINQ والاستعلامات المتقدمة
~$ cat ./parcours.md # ASP.NET Core Copilot — 10 فصول
01
مقدمة وتثبيت
→ عرض الدورة ونظام .NET البيئي→ تثبيت .NET 8 SDK و Visual Studio و Copilot+ 1 دروس أخرى
02
أساسيات ASP.NET Core
→ بنية ASP.NET Core وخط أنابيب الوسيط→ حقن التبعيات (حاوية DI)+ 2 دروس أخرى
03
إنشاء واجهة برمجة تطبيقات REST باستخدام Copilot
→ متحكمات API وسمات التوجيه→ نماذج DTO والتحقق باستخدام DataAnnotations+ 2 دروس أخرى
04
أساسيات Entity Framework Core
→ عرض Entity Framework Core→ DbContext وتكوين الكيانات+ 2 دروس أخرى
05
LINQ والاستعلامات المتقدمة
→ LINQ to Entities، الصيغة والممارسات الجيدة→ الوصلات والتضمين (Include, ThenInclude)+ 2 دروس أخرى
06
الهندسة متعددة الطبقات
→ نمط المستودع ووحدة العمل→ طبقة الخدمة والمنطق التجاري+ 2 دروس أخرى
07
المصادقة والتفويض
→ ASP.NET Core Identity، المستخدمون والأدوار→ رموز JWT Bearer ووسيط المصادقة+ 1 دروس أخرى
08
الاختبارات وجودة الكود
→ اختبارات الوحدة باستخدام xUnit و Moq→ اختبارات التكامل باستخدام WebApplicationFactory+ 1 دروس أخرى
🏁
المشروع النهائي (+ 2 فصول في الطريق)
→ تغادر بمشروع ملموس وقابل للعرض

الاختبارات الوحدية باستخدام xUnit وMoq

NOTEالهدف — كتابة اختبارات وحدية باستخدام xUnit، وهيكلة الاختبار وفق نمط AAA، وعزل منطق الأعمال عن التبعيات بفضل mocks من Moq.

الأهداف التعليمية

TIPعند نهاية هذه الوحدة
  • إنشاء مشروع اختبارات xUnit داخل الحل
  • كتابة اختبار باستخدام [Fact] ونمط Arrange-Act-Assert
  • تمرير معاملات لاختبار باستخدام [Theory] و[InlineData]
  • إنشاء mock لتبعية باستخدام Moq
  • التحقق من استدعاء طريقة mock

الحدس: اختبار قطعة دون تجميع الآلة كاملة

يختبر الاختبار الوحدي وحدة واحدة من الكود (غالبًا طريقة) بمعزل. لا نريد لمس قاعدة البيانات الحقيقية أو خدمة بعيدة: فذلك بطيء وغير متوقع. لذلك نستبدل هذه التبعيات بـmocks، وهي نسخ محكومة. إنه كاختبار محرك على منصة اختبار بدلًا من قيادة السيارة كاملة عند كل تعديل.

إنشاء مشروع الاختبارات

الاختبارات المُمَعلمة باستخدام [Theory]

لاختبار عدة مجموعات بيانات دون تكرار الكود، نستخدم [Theory] :

التهيئة باستخدام appsettings.json

NOTEالهدف — إتقان نظام التهيئة في ASP.NET Core: قراءة الإعدادات من appsettings.json، وإدارة بيئات متعددة، واستخدام نمط Options.

الأهداف التعليمية

TIPعند نهاية هذه الوحدة
  • قراءة قيم من appsettings.json
  • فهم تسلسل مصادر التهيئة
  • إدارة بيئات متعددة (Development, Production)
  • ربط قسم تهيئة بفئة (Options Pattern)
  • حماية الأسرار الحساسة

الحدس: استخراج ما يتغير

لا يجب أن يحتوي الكود أبدًا على قيم «ثابتة» مثل سلسلة اتصال أو مفتاح API. تتغير هذه القيم حسب البيئة (جهازك، خادم الاختبار، الإنتاج). لذلك نضعها في ملفات تهيئة خارجية.

يقرأ ASP.NET Core التهيئة من عدة مصادر، بترتيب أولوية محدد. مصدر أعلى أولوية يتجاوز قيم مصدر أقل أولوية.

المصدرالأولويةالاستخدام النموذجي
appsettings.jsonمنخفضةالقيم الافتراضية
appsettings.{Env}.jsonمتوسطةحسب البيئة
متغيرات البيئةعاليةالإنتاج، الأسرار
وسائط سطر الأوامرعالية جدًاتجاوز مؤقت

قراءة قيمة بسيطة

إليك ملف appsettings.json وطريقة قراءة قيمه:

الربط والتضمين (Include, ThenInclude)

NOTEالهدف — تحميل الكيانات المرتبطة بكفاءة باستخدام Include وThenInclude، وفهم كيفية تجنب مشكلة N+1 المخيفة.

الأهداف التعليمية

TIPعند نهاية هذه الوحدة
  • تحميل علاقة باستخدام Include
  • تحميل علاقة متداخلة باستخدام ThenInclude
  • التعرف على مشكلة N+1
  • التمييز بين eager وlazy وexplicit loading
  • قياس التأثير على عدد استعلامات SQL

الحدس: جلب الجوار دفعة واحدة

عند تحميل منتج، لا تُحمَّل فئته المرتبطة تلقائيًا. إذا وصلت إليها دون فعل شيء تحصل على null (أو استعلام إضافي). يقول Include لـ EF: «عند تحميل المنتجات، أحضر أيضًا فئتها، في استعلام واحد».

بدون Include (N+1)

مع Include

WARNINGتنبيه: مشكلة N+1 صامتة: يعمل الكود، لكنه يصبح بطيئًا جدًا في الإنتاج. راقب دائمًا عدد استعلامات SQL المُنشأة (انظر الجزء 4 حول التصحيح).

Eager وlazy وexplicit loading

الاستراتيجيةوقت التحميلالطريقة
EagerفورًاInclude
Explicitعند الطلبEntry().Load()
Lazyعند الوصولProxies (قد تسبب N+1)
TIPنصيحة: فضّل eager loading (Include): فهو صريح ومتوقع. lazy loading مريح لكنه يخفي استعلامات وقد يعيد إدخال N+1 دون أن تراه.
va-plus-loin

يغطي هذا المقال المقتطفات الأكثر فائدة — الدورة الكاملة ASP.NET Core Copilot (11 فصلاً، 43 درسًا، تمارين مصححة ومشروع نهائي) تأخذك إلى النهاية.

./acceder-au-cours-complet cours gratuit : Vibe Coding

الأسئلة الشائعة

كم من الوقت يلزم لتعلم ASP.NET Core Copilot؟
مع تقدم منظم (11 فصلاً، 43 درسًا قصيرًا وعمليًا)، يمكن الوصول إلى مستوى تشغيلي في بضعة أسابيع بمعدل 30 إلى 60 دقيقة يوميًا. المهم هو تطبيق كل مفهوم فورًا.
هل هناك متطلبات سابقة؟
تكفي أساسيات في الحوسبة. إذا كنت تعرف استخدام الطرفية وقراءة كود بسيط، فأنت جاهز.
من أين نبدأ عمليًا؟
طبّق أوامر هذا المقال، ثم تابع الدورة الكاملة ASP.NET Core Copilot: فهي تربط الـ43 درسًا بالترتيب، مع تمارين ومشروع نهائي.

📬 هل تريد تلقي هذا النوع من الأدلة كل أسبوع؟ اشترك مجانًا — كود حقيقي، بدون كلام زائد.