مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو سكربت Python بتاعك بيقع OOM لما بتقرا ملف logs بـ 8GB أو CSV بـ 10 مليون صف، المشكلة مش حجم البيانات. المشكلة إنك بتحمّلها كلها في الذاكرة. yield بيوفر 95% من الذاكرة بتعديل سطرين. شرح للمستوى المتوسط بمثال بائع الكنافة، تعريف علمي دقيق لـ lazy evaluation، كود Python شغّال، أرقام tracemalloc قبل وبعد، pipeline من generators، trade-offs، وحالات ما تستخدمهوش فيها.
لو سيرفر Node.js عندك بيكبر من 240MB لـ 2.8GB في 4 أيام لحد ما بيقع OOM، Heap Snapshot في Chrome DevTools بيوريك بالظبط الـ object اللي بيتراكم. مثال للمستوى المتوسط بكود حقيقي وأرقام قبل وبعد الإصلاح.
لو الـ Borrow Checker في Rust لسه بيخوّفك، الفكرة أبسط مما تتخيل: 3 قواعد بتمنع 70% من بَجز الذاكرة قبل الـ compile. مقال للمستوى المتوسط بمثال للمبتدئ، تعريف علمي دقيق، كود Rust شغّال، أرقام Microsoft و Google و Android، trade-offs، وحالات لا تختار فيها Rust.
لو system prompt بتاع تطبيق Claude عندك أطول من 1024 توكن وبتبعته في كل طلب، Prompt Caching بينزّل تكلفته 90% بسطر واحد. مقال للمستوى المتوسط بمثال للمبتدئ، تعريف علمي، كود Python شغّال، أرقام قبل وبعد، trade-offs، وحالات ما تنفعش فيها.
لو endpoint الـ autocomplete بياخد 380ms على dataset مليون صف، Trie data structure بترد نفس النتائج في 4ms بدون لمس قاعدة البيانات. شرح للمستوى المتوسط بمثال القاموس، تعريف علمي دقيق، كود Python شغّال، أرقام قياس فعلية، trade-offs على الذاكرة، وحالات ما تستخدمهوش فيها.
لو 60% من lookups تطبيقك بترجع "مش موجود"، Bloom Filter بيرد نفس الإجابة في 50 ميكروثانية بذاكرة أقل بـ 70 ضعف من set عادي. مقال للمستوى المتوسط بمثال البوّاب، تعريف علمي دقيق، كود Python شغّال، أرقام before/after، وحالات لا تستخدمه فيها.
لو وكيل AI عندك بيسلّم إجابة فيها غلطة واضحة كان يقدر يكتشفها بنفسه، المشكلة مش في النموذج، المشكلة إنك مديتلوش فرصة يراجع. Reflection Pattern بيخلي الوكيل ينقد مخرجاته ويعدّلها قبل ما توصلك. مقال للمستوى المتوسط بمثال بسيط، تعريف علمي، كود Python شغّال على Anthropic SDK، أرقام before/after من ورقة Reflexion، trade-offs، وحالات ما تستخدمهوش فيها.
لو الواجهة بتتجمّد ثانية أو اتنين كل ما المستخدم يضغط زر، المشكلة مش الكود بطيء، المشكلة إنه شغّال على نفس thread رسم الواجهة. Web Workers بينقلوا الحسابات لـ thread موازي والواجهة تفضل مستجيبة. شرح للمستوى المتوسط بمثال المطبخ، كود JavaScript شغّال، أرقام INP قبل وبعد، وحالات لا تنفع فيها.
حادثة Vercel في أبريل 2026 تديك قرارًا عمليًا: عالج أسرارك كأنها انكشفت، وراجع OAuth، ثم حوّل المتغيرات الحساسة إلى Sensitive.
لو الـ service بيكتب على PostgreSQL وبعدها بيبعت event على Kafka، فيه احتمال إن الكتابة تنجح والـ event يضيع. Outbox Pattern بيحل المشكلة دي بضمان atomic بين الاتنين، مع شرح بمثال البنك، كود Node.js شغّال، أرقام إنتاج، و trade-offs واضحة.