مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو بحثت في list بمليون عنصر هتنتظر 30ms على الأقل. dict في Python بيرد نفس النتيجة في أقل من ميكروثانية. الفرق ليس CPU، الفرق هيكل بيانات اسمه HashMap. شرح للمبتدئ بمثال دفتر التليفون، تعريف علمي، كود Python شغال، أرقام مقاسة، trade-offs، ومتى لا تستخدمه.
لو endpoint الـ autocomplete بياخد 380ms على dataset مليون صف، Trie data structure بترد نفس النتائج في 4ms بدون لمس قاعدة البيانات. شرح للمستوى المتوسط بمثال القاموس، تعريف علمي دقيق، كود Python شغّال، أرقام قياس فعلية، trade-offs على الذاكرة، وحالات ما تستخدمهوش فيها.
لو 60% من lookups تطبيقك بترجع "مش موجود"، Bloom Filter بيرد نفس الإجابة في 50 ميكروثانية بذاكرة أقل بـ 70 ضعف من set عادي. مقال للمستوى المتوسط بمثال البوّاب، تعريف علمي دقيق، كود Python شغّال، أرقام before/after، وحالات لا تستخدمه فيها.
لو الـ service بيكتب على PostgreSQL وبعدها بيبعت event على Kafka، فيه احتمال إن الكتابة تنجح والـ event يضيع. Outbox Pattern بيحل المشكلة دي بضمان atomic بين الاتنين، مع شرح بمثال البنك، كود Node.js شغّال، أرقام إنتاج، و trade-offs واضحة.
لو عندك حالة جديدة في TypeScript واتنسيت تضيفها في switch، Discriminated Unions مع assertNever يخلي الخطأ يظهر وقت الترجمة بدل ما يظهر في الإنتاج.
شرح JavaScript Proxy لمستوى متوسط بمثال السكرتير، تعريف علمي دقيق، كود traps شغّال، حالة validation حقيقية، أرقام قياس على V8، trade-offs، ومتى لا تستخدمه.
لو واجهة البحث عندك بتعرض نتائج قديمة لأن طلب fetch أبطأ رجع متأخر، AbortController يخليك تلغي الطلب السابق وتقبل آخر طلب فقط.
شرح Decorators في Python بمثال محل القهوة للمبتدئ، تعريف علمي دقيق، كود timer وlogger قابل للنسخ، أرقام مقاسة، trade-offs، ومتى لا تستخدمه فعلاً.
لو دالة Python بتعيد نفس الحساب آلاف المرات، @lru_cache بيخزن المخرجات ويرجّعها في O(1). شرح مع مثال للمبتدئ، تعريف علمي، كود شغّال، أرقام قياس، trade-offs، ومتى ما تستخدمهوش.