cc-skill-backend-patterns
بناء أنظمة خلفية قابلة للتوسع
تطبيق الـ Backend غالباً ما يعاني من بنية معمارية ضعيفة ومشاكل في التوسع وثغرات أمنية. توفر هذه المهارة أنماطاً مثبتة لتصميم الـ API وتحسين قواعد البيانات والتخزين المؤقت والمصادقة والتعامل مع الأخطاء.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "cc-skill-backend-patterns". أرني كيفية تصميم RESTful API لمورد المنتجات
Résultat attendu:
GET /api/products - عرض جميع المنتجات
GET /api/products/:id - الحصول على منتج واحد
POST /api/products - إنشاء منتج
PUT /api/products/:id - استبدال منتج
PATCH /api/products/:id - تحديث منتج
DELETE /api/products/:id - حذف منتج
Query params: ?status=active&sort=price&limit=20&offset=0
Utilisation de "cc-skill-backend-patterns". كيف أمنع استعلامات N+1 عند جلب الطلبات مع العملاء؟
Résultat attendu:
بدلاً من:
for (const order of orders) {
order.customer = await getCustomer(order.customerId)
}
استخدم:
const customerIds = orders.map(o => o.customerId)
const customers = await getCustomers(customerIds)
const customerMap = new Map(customers.map(c => [c.id, c]))
orders.forEach(o => o.customer = customerMap.get(o.customerId))
Utilisation de "cc-skill-backend-patterns". أنشئ middleware مصادقة JWT
Résultat attendu:
export function verifyToken(token: string) {
try {
return jwt.verify(token, process.env.JWT_SECRET!)
} catch (error) {
throw new ApiError(401, 'Invalid token')
}
}
export async function requireAuth(request: Request) {
const token = request.headers.get('authorization')?.replace('Bearer ', '')
if (!token) throw new ApiError(401, 'Missing token')
return verifyToken(token)
}
Audit de sécurité
Risque faibleEducational backend development patterns skill. Static analyzer flagged numerous false positives due to misidentification of code comments as shell commands, environment variable access as sensitive data exposure, and URL paths as reconnaissance. True positive finding: JWT secret accessed via process.env - standard secure practice. No malicious behavior detected.
Problèmes à risque faible (1)
Facteurs de risque
🔑 Variables d’environnement (1)
Motifs détectés
Score de qualité
Ce que vous pouvez construire
تصميم نقاط نهاية API جديدة
يمكن للمهندسين والمطورين الذين يبنون REST APIs جديدة تطبيق أنماط عناوين URL القائمة على الموارد ومناهج middleware لتصميم API متسق وقابل للصيانة.
تحسين استعلامات قاعدة البيانات البطيئة
يمكن للمطورين الذين يواجهون مشاكل في الأداء تحديد وإصلاح مشاكل استعلام N+1 باستخدام الجلب المجمّع وأنماط تحسين الاستعلام.
تطبيق مصادقة آمنة
يمكن للمطورين الذين يضيفون المصادقة إلى تطبيقاتهم تطبيق التحقق من JWT والتحكم في الوصول القائم على الأدوار باتباع أفضل ممارسات الأمان.
Essayez ces prompts
صمم هيكل RESTful API لمورد [resource]. تضمّن نقاط النهاية للعرض والحصول حسب ID والإنشاء والتحديث والحذف. اعرض أمثلة معاملات الاستعلام للتصفية والترقيم.
لدي دالة تجلب قائمة من الطلبات ثم تمر في حلقة على كل منها للحصول على تفاصيل العميل. هذا يسبب بطء في الأداء. أرني كيفية إعادة هيكلة هذا باستخدام نمط الجلب المجمّع لتجنب استعلامات N+1.
أرني كيفية تطبيق التحقق من رمز JWT و middleware requireAuth لحماية مسارات API. تضمّن التعامل مع الأخطاء للرموز غير الصالحة.
أنشئ تطبيق نمط cache-aside باستخدام Redis لدالة getUser. تضمّن منطق الإصابة/الخطأ في الذاكرة المؤقتة وإلغاء الصلاحية.
Bonnes pratiques
- افصل الاهتمامات باستخدام طبقات repository و service و controller لكود قابل للصيانة
- دائماً قم بالتحقق من المدخلات باستخدام مكتبات التحقق من المخطط مثل Zod قبل المعالجة
- طبق التخزين المؤقت بشكل استراتيجي - خزن العمليات المكلفة ولكن أبطل الصلاحية بشكل صحيح
Éviter
- لا تستخدم SELECT * لاختيار جميع الأعمدة - حدد الحقول المطلوبة فقط لأداء أفضل
- تجنب استدعاءات قاعدة البيانات المتداخلة في الحلقات - استخدم الجلب المجمّع بدلاً من ذلك
- لا تعرض أخطاء قاعدة البيانات الخام للعملاء - استخدم معالجة أخطاء مركزية
Foire aux questions
ما هي اللغات وأطر العمل التي تغطيها هذه المهارة؟
كيف أختار بين PUT و PATCH؟
متى يجب استخدام Redis مقابل التخزين المؤقت في الذاكرة؟
كيف أتعامل مع المصادقة في دوال serverless؟
ما هي الطريقة الموصى بها لهيكلة مشروع backend؟
كيف أطبّق تحديد المعدل بشكل صحيح؟
Détails du développeur
Auteur
affaan-mLicence
MIT
Dépôt
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/cc-skill-backend-patternsRéf
main
Structure de fichiers
📄 SKILL.md