مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
دالة fibonacci العودية على 40 بتعمل 331 مليون استدعاء وتاخد عشرات الثواني. Memoization بسطر واحد بينزّلها لـ 41 استدعاء وأقل من ميلي ثانية. مقال للمتوسط بمثال الطالب الكسلان للمبتدئ، شرح علمي للـ overlapping subproblems، كود Python و JavaScript شغّال، أرقام مقاسة، trade-offs، ومتى متستخدمش Memoization. مصادر من توثيق Python و MDN و كتاب CLRS.
لو عندك 50 صلاحية بوولين في جدول، Bitmask بيخزّنهم كلهم في عمود رقم واحد ويفحصهم بعملية واحدة. مقال للمبتدئ بمثال صف اللمبات، شرح علمي للبت، كود Python شغّال لدمج وفحص وسحب الصلاحيات، أرقام مقاسة (50 عمود بوولين مقابل عمود واحد)، trade-offs، ومتى متستخدمش Bitmask. مصادر من GNU coreutils وتوثيق Python وDiscord.
جمعت 0.1 + 0.2 وطلع 0.30000000000000004؟ ده مش bug. شرح Floating Point و IEEE 754 بمثال واقعي يكسر فاتورة، وثلاث طرق عملية تمنع الخطأ، بكود بايثون وجافاسكريبت شغّال، ومصادر رسمية.
لو ناديت متغير قبل سطر تعريفه ولقيته undefined بدل ما الكود يقع، ده مش bug. ده الـ Hoisting. مقال للمبتدئ بمثال رفع الصناديق في المخزن، شرح علمي من توثيق MDN، كود شغّال على Node 22 يوريك الفرق بين var و let و const، فخ الـ Temporal Dead Zone، trade-offs، ومتى متشغلش بالك. مصادر من MDN ومواصفة ECMAScript.
لو عندك مصفوفة من 10 مليون struct بتاكل 240 ميجا، إعادة ترتيب الحقول بتنزّلها لـ 160 ميجا من غير ما تشيل ولا حقل. مقال للمحترف يشرح Struct Padding بمثال صناديق الرف للمبتدئ، قاعدة المحاذاة علميًا، كود Go شغّال بـ unsafe.Sizeof (24 بايت → 16 بايت، توفير 33%)، أداة fieldalignment، trade-offs، ومتى متشغلش بالك. مصادر من توثيق Go وEric Raymond وWikipedia.
لو الـ API بتاعك بيضرب الـ database في كل request لنفس البيانات، انت بتدفع زمن استجابة على الفاضي. LRU Cache بيخزّن الأكثر طلبًا ويطرد الأقل استخدامًا أوتوماتيك في O(1). مقال للمتوسط بمثال المكتب الصغير للمبتدئ، شرح علمي لسياسة الطرد، كود JavaScript شغّال على Node 22 بـ Map، أرقام مقاسة (متوسط الاستجابة من 12ms لـ 1.8ms بنسبة hit 85%)، فخ الـ scan اللي بيخرّب الكاش، trade-offs، ومتى متستخدمش LRU. مصادر من MDN وRedis وWikipedia.
خيطان ينفّذان تحويلين متعاكسين بين نفس الحسابين فيتجمّد كلاهما للأبد. السبب حلقة انتظار دائرية، والحل سطر ترتيب واحد. مقال للمحترف بشروط Coffman الأربعة، كود Go و PostgreSQL شغّال، أرقام مقاسة (p99 من 4,200ms لـ 38ms)، trade-offs، ومتى Lock Ordering مش الحل.
لو جمعت "5" + 3 في JavaScript ولقيت الناتج "53" مش 8، ده مش bug. ده التحويل الضمني للأنواع. مقال للمبتدئ بمثال الكاشير، شرح علمي من MDN ومواصفة ECMAScript، كود شغّال يوريك فخ جمع حقول الفورم (ناتج "0100100100" بدل 300)، قاعدة واحدة تحميك، trade-off، ومتى متشغلش بالك.
لو بتدوّر على عنصر في list من مليون صف، الكمبيوتر بيمر عليهم واحد واحد. الـ dictionary بيوصل لنفس القيمة في خطوة تقريبًا ثابتة. مقال للمبتدئ بمثال خزائن النادي، شرح علمي للـ hashing والتصادم، كود Python شغّال يقيس الفرق (8ms مقابل ~40 نانوثانية)، trade-offs، ومتى متستخدمش جدول الهاش. مصادر من CLRS وتوثيق Python.