المدونة
مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
ارفع الملفات مباشرة إلى S3 بروابط موقّعة: خادمك يوقّع فقط
لو الملفات الكبيرة بتعدّي على خادمك الأول، انت بتحجز ذاكرته وبيقع الرفع عند 30 ثانية. الحل إن المتصفح يرفع مباشرة على S3 وخادمك يوقّع رابطًا بس. دليل تنفيذي بـ boto3 مع كود وأرقام ومصادر.
حوض الاتصالات: ليه فتح اتصال جديد لكل استعلام بيخنق قاعدة بياناتك
لو كل طلب في تطبيقك بيفتح اتصال جديد لقاعدة البيانات، انت بتهدر عشرات المللي ثانية في كل مرة وبتقترب من سقف الاتصالات. حوض الاتصالات بيعيد استخدام اتصالات جاهزة، بيوفر زمن التأسيس ويحمي السيرفر. شرح بمثال بسيط ثم علميًا، مع كود Python شغّال، أرقام، معادلة حجم الحوض، والـ trade-off، ومتى لا تستخدمه، مع مصادر رسمية.
انهيار الكاش: ليه انتهاء مفتاح واحد بيضرب قاعدتك بآلاف الاستعلامات فجأة
الكاش بيحميك 99% من الوقت، والخطر في الـ 1%: لحظة انتهاء مفتاح ساخن بيندفع آلاف الطلبات على قاعدتك دفعة واحدة. المقال يشرح انهيار الكاش (Cache Stampede) بمثال بسيط ثم علميًا، مع كود Redis شغّال لنمط single-flight مع jitter، أرقام (من 9600 استعلام إلى واحد)، وطريقة XFetch، الـ trade-offs، ومتى لا تستخدمه، مع مصادر.
اعمل طابور مهام خلفية بـ BullMQ وRedis في Node.js: طلبك يرد في 200ms مش 30 ثانية
دليل تنفيذي يبني طابور مهام خلفية بـ BullMQ وRedis في Node.js: تنقل الإيميل ومعالجة الصور خارج الطلب فيرد في نحو 200ms بدل 30 ثانية، مع إعادة محاولة وBackoff، بكود قابل للنسخ، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر.
اعمل شات لحظي بـ WebSocket في Node.js: رسائل فورية باتصال واحد مفتوح
دليل تنفيذي للمتوسط يبني شات لحظي بـ WebSocket في Node.js عبر مكتبة ws في أقل من 60 سطر: مصافحة الترقية، بث الرسالة لكل المتصلين، نبض للكشف عن الاتصالات الميتة، مع كود جاهز وأرقام وtrade-offs ومتى لا تستخدمه، ومصادر رسمية.
الفرق بين Debounce وThrottle: تحكّم في زحمة الأحداث بسطرين كود
صندوق بحثك بيبعت طلب مع كل حرف؟ إنت بتهدر 90% من الطلبات. المقال يشرح Debounce وThrottle بمثال المصعد البسيط ثم علميًا، مع كود جافاسكريبت شغّال، أرقام حقيقية، الـ trade-off بين الاتنين، ومتى ما تستخدمش أي منهم، مع مصادر رسمية.
التقطير المعرفي: إزاي يتعلّم نموذج صغير من نموذج عملاق
التقطير المعرفي يخلّي نموذجًا صغيرًا يقلّد مخرجات نموذج كبير، فتحصل على نموذج أصغر 40% وأسرع 60% بدقة قريبة. شرح بمثال بسيط ثم علميًا، مع كود PyTorch شغّال، أرقام DistilBERT الحقيقية، trade-offs، ومتى لا تستخدمه، مع مصادر.
LoRA وQLoRA: درّب نموذج 7B على كارت شاشة واحد بأقل من 1% من الأوزان
الضبط الدقيق الكامل لنموذج 7B يطلب ذاكرة تتجاوز 100 جيجابايت. LoRA يجمّد النموذج ويدرّب محوّلًا صغيرًا فتنزل لأقل من 1% من الأوزان، وQLoRA يوصلها لكارت واحد 48 جيجا. شرح بمثال بسيط ثم علميًا بتفكيك الرتبة، كود PEFT شغّال، أرقام من الورقتين الأصليتين، trade-offs، ومتى لا تستخدمه، مع مصادر.
أتمتة ملاحظات الإصدار بـ git-cliff: من الـ commit إلى CHANGELOG في ثوانٍ
بدل ما تكتب ملاحظات كل إصدار بإيدك في 40 دقيقة، خلّي git-cliff يحوّل رسائل الـ commit إلى CHANGELOG وRelease تلقائيًا في أقل من ثانية. دليل عملي للمتوسط بإعداد cliff.toml وworkflow جاهز، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
تحديد معدل الطلبات على API بخوارزمية Token Bucket
عميل واحد يقدر يبعت آلاف الطلبات في الثانية ويخنق الـ API لباقي المستخدمين. خوارزمية دلو الرموز (Token Bucket) بتحد المعدل وبتسمح بموجة قصيرة، بسكربت Redis + Lua ذري قابل للنسخ، بديل NGINX، أرقام، trade-offs، ومتى لا تستخدمها، مع مصادر رسمية.