المهارات backend-patterns
📦

backend-patterns

آمن

أنماط تطوير الواجهة الخلفية

تعلم أنماط بنية الواجهة الخلفية المجربة والمختبرة لتطبيقات Node.js القابلة للتوسع مع أمثلة لتصميم API وتحسين قواعد البيانات والتخزين المؤقت والمصادقة ومعالجة الأخطاء.

يدعم: Claude Codex Code(CC)
🥉 72 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "backend-patterns". أظهر لي كيفية تنفيذ مصادقة JWT مع التحكم في الوصول المستند إلى الأدوار

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

مثال كود يُظهر التحقق من JWT واستخراج الرمز من الرؤوس وتعيين أذوار الأذونات ووسيط للتحقق من صلاحيات المستخدم مثل 'read' و 'write' و 'delete' و 'admin'.

استخدام "backend-patterns". كيف أهيئ Node.js API مع معالجة الأخطاء الصحيحة؟

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

فئة ApiError مع statusCode و message، ومعالج أخطاء مركزي يلتقط ApiError و ZodError، وإرجاع استجابات JSON الصحيحة مع رموز حالة HTTP المناسبة.

استخدام "backend-patterns". ما الأنماط التي تساعد في منع استعلامات N+1 لقاعدة البيانات؟

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

نمط الجلب الدفعي: اجمع جميع المعرفات أولاً، استعلام واحد لجلب جميع السجلات المرتبطة، اعين النتائج باستخدام HashMap للبحث O(1) بدلاً من N استعلامات فردية.

التدقيق الأمني

آمن
v1 • 2/25/2026

Security evaluation complete. All 58 static findings are false positives. The skill contains legitimate backend development patterns with code examples demonstrating proper security practices including JWT authentication, RBAC, rate limiting, and environment variable handling. No malicious behavior detected.

1
الملفات التي تم فحصها
584
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
90
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
87
الامتثال للمواصفات

ماذا يمكنك بناءه

بناء نقاط نهاية API جديدة

استخدم أنماط RESTful لتصميم نقاط نهاية API متسقة ونظيفة مع طرق HTTP ورموز الحالة الصحيحة.

تحسين أداء قاعدة البيانات

تطبيق أنماط تحسين الاستعلامات ومنع N+1 لتقليل حمل قاعدة البيانات وتحسين أوقات الاستجابة.

إضافة المصادقة لواجهات برمجة التطبيقات

تنفيذ التحقق من رمز JWT والتحكم في الوصول المستند إلى الأدوار لنقاط نهاية API الآمنة.

جرّب هذه الموجهات

هيكل API الأساسي
أظهر لي كيفية هيكلة RESTful API مع نقاط نهاية GET و POST و PUT و PATCH و DELETE لمورد مثل 'products'.
تحسين استعلامات قاعدة البيانات
اكتب مثال TypeScript يوضح كيفية منع استعلامات N+1 عند جلب قائمة من الطلبات مع عملائهم المرتبطين.
إعداد مصادقة JWT
إنشاء وسيط مصادقة JWT لواجهات برمجة تطبيقات Next.js التي تتحقق من الرموز وربط معلومات بالمستخدم بالطلب.
طبقة التخزين المؤقت Redis
تنفيذ نمط cache-aside باستخدام Redis لتخزين نتائج استعلامات قاعدة البيانات مؤقتاً مع وقت TTL لمدة 5 دقائق.

أفضل الممارسات

  • افصل الاهتمامات باستخدام نمط المستودع للوصول إلى البيانات وطبقة الخدمة لمنطق الأعمال
  • قم دائماً بالتحقق من المدخلات باستخدام مكتبات مثل Zod قبل المعالجة
  • استخدم متغيرات البيئة للسرائق مثل JWT_SECRET، ولا تُشفر بيانات الاعتماد مطلقاً
  • نفذ تحديد المعدل لحماية واجهات برمجة التطبيقات من إساءة الاستخدام وهجمات DoS

تجنب

  • تجنب تحديد جميع الأعمدة مع SELECT * عندما تحتاج فقط إلى حقول محددة
  • لا تقدم استعلامات قاعدة البيانات داخل الحلقات؛ استخدم الجلب الدفعي بدلاً من ذلك
  • لا تكشف أخطاء قاعدة البيانات الأولية للعملاء مطلقاً؛ أعد دائماً رسائل خطأ عامة
  • تجنب تخزين البيانات الحساسة في رموز JWT؛ قم بتضمين فقط الادعاءات غير السرية مثل userId و role

الأسئلة المتكررة

ما هو نمط المستودع؟
نمط المستودع يُنشئ طبقة تجريد للوصول إلى البيانات. إنه يحدد طرقاً مثل findAll و findById و create و update و delete التي تخفي تفاصيل كيفية جلب أو تخزين البيانات، مما يجعل الكود قابلاً للاختبار ومرناً.
كيف تختلف طبقة الخدمة عن المستودع؟
تحتوي طبقة الخدمة على منطق الأعمال وتنسيق استدعاءات المستودع المتعددة. المستودع يتعامل فقط مع الوصول إلى البيانات. يجعل هذا الفصل الكود أسهل في الاختبار والصيانة.
ما هو نمط cache-aside؟
يعني cache-aside التحقق من التخزين المؤقت أولاً. إذا كانت البيانات موجودة، أعدها. إذا لم تكن كذلك، جلب من قاعدة البيانات، تخزين في التخزين المؤقت، ثم الإرجاع. يقلل هذا النمط من حمل قاعدة البيانات للبياناتaccessed بشكل متكرر.
كيف أتعامل مع الأخطاء في Express/Next.js APIs؟
إنشاء فئة خطأ مخصصة مع statusCode، وتنفيذ وسيط معالج أخطاء مركزي، والتقاط الأخطاء وإرجاع رموز حالة HTTP المناسبة (400 للتحقق، 401 للمصادقة، 500 لأخطاء الخادم).
ما هي مشكلة استعلام N+1؟
يحدث N+1 عند جلب N سجل ثم تقديم N استعلامات منفصلة للحصول على البيانات المرتبطة لكل سجل. الحل: جلب جميع السجلات المرتبطة في استعلام واحد ثم تعيينها في الذاكرة.
كيف يجب أن أخزن أسرار JWT؟
قم دائماً بتخزين أسرار JWT في متغيرات البيئة مثل process.env.JWT_SECRET. لا تُشفر الأسرار في الكود المصدري مطلقاً. استخدم أسرار قوية وعشوائية بطول 256 بت على الأقل.

تفاصيل المطور

بنية الملفات

📄 SKILL.md