مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
86% من صور الحاويات في الإنتاج فيها ثغرة حرجة أو عالية. أضِف Trivy لخط CI بـ 15 سطر، أوقف الـ build تلقائيًا على أي CVE قبل النشر، بمثال، workflow جاهز، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر.
بدل ما تنثر شروط if(user.isAdmin) في 40 مسار وتكسر تطبيقك مع أول دور جديد، ابنِ نظام RBAC في Node.js يربط المستخدم بدور والدور بصلاحيات من مكان واحد. دليل تنفيذي بكود Express شغّال، فحص O(1)، أرقام، مقايضات، ومتى لا تستخدمه، مع مصادر.
لو عندك مليون إيميل وعايز تتأكد بسرعة إن إيميل جديد مش موجود من غير ما تضرب الداتابيز، الـ Bloom Filter بيعمل ده بذاكرة 1.1 ميجا بس. شرح بمثال البواب ثم علميًا، مع كود بايثون شغّال، الأرقام، الـ trade-offs، ومتى لا تستخدمه، مع مصادر.
دليل مبتدئ خطوة بخطوة لتفعيل HTTPS مجاني على موقعك بـ Let's Encrypt و Certbot على Nginx: الأوامر كاملة، التحويل التلقائي من HTTP، التجديد الذاتي كل 90 يومًا، وطريقة التحقق، مع المصادر الرسمية.
لو صورة Docker بتاعتك بتتجاوز مئات الميجابايت، النشر بيبطأ وسطح الهجوم بيكبر. المقال للمتوسط يشرح ليه الصور بتتضخّم بمثال بسيط ثم علميًا، وإزاي الـ Multi-Stage Build وترتيب الطبقات ينزّلوا صورة Go من ~850 لـ ~18 ميجا، بـ Dockerfile قابل للنسخ، أرقام مقاسة، الـ trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
لو أول توكن من نموذجك تقيل وباقي التوكنات بتطلع بسرعة، ده الـ KV Cache. المقال للمحترف يشرح ليه، بمثال بسيط ثم علميًا بمرحلتي Prefill وDecode، مع كود PyTorch يقيس الفرق، أرقام O(n²) مقابل O(n)، معادلة تكلفة الذاكرة، ومتى لا تشغل بالك، مع مصادر رسمية.
لو سكربت بيقرا ملف كبير بيضرب MemoryError، المشكلة إنك بتحمّله كله في الرام. المقال يشرح مولّدات بايثون وyield بمثال بسيط ثم علميًا، مع كود مقيس بـ tracemalloc يقرأ 1.6 جيجا بذروة 4 ميجا، الـ trade-offs، ومتى لا تستخدمها، مع مصادر.
لو كل deploy بيرجّع أخطاء 503 لثوانٍ، المشكلة إن العملية بتموت قبل ما تخلّص طلباتها. دليل للمحترف يبني إغلاقًا رشيقًا بـ SIGTERM وpreStop في Kubernetes ينزّل الطلبات المقطوعة إلى صفر، بكود Node.js وGo وYAML شغّال وأرقام ومصادر رسمية.
لو مستخدم في القاهرة حدّد اجتماع ولقاه زميله في لندن ظهرله في ساعة تانية، المشكلة مش في التطبيق: انت بتخزّن الوقت بتوقيت محلي. المقال يشرح للمبتدئ ليه تخزّن كل الأوقات بالـ UTC وتحوّلها وقت العرض بس، بمثال بسيط ثم علميًا، مع كود بايثون شغّال، أرقام، الـ trade-off، ومتى لا تشغل بالك، مع مصادر رسمية.
endpoint بيرجّع قائمة وبيبطأ كل ما الداتا تكبر؟ غالبًا السبب مشكلة N+1: استعلام منفصل لكل صف. اكتشفها بعدّاد الاستعلامات وحلّها بـ select_related وJOIN لتنزيل الزمن من ~1240 إلى ~48 مللي ثانية.