مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو عندك مصفوفة من 10 مليون struct بتاكل 240 ميجا، إعادة ترتيب الحقول بتنزّلها لـ 160 ميجا من غير ما تشيل ولا حقل. مقال للمحترف يشرح Struct Padding بمثال صناديق الرف للمبتدئ، قاعدة المحاذاة علميًا، كود Go شغّال بـ unsafe.Sizeof (24 بايت → 16 بايت، توفير 33%)، أداة fieldalignment، trade-offs، ومتى متشغلش بالك. مصادر من توثيق Go وEric Raymond وWikipedia.
خيطان ينفّذان تحويلين متعاكسين بين نفس الحسابين فيتجمّد كلاهما للأبد. السبب حلقة انتظار دائرية، والحل سطر ترتيب واحد. مقال للمحترف بشروط Coffman الأربعة، كود Go و PostgreSQL شغّال، أرقام مقاسة (p99 من 4,200ms لـ 38ms)، trade-offs، ومتى Lock Ordering مش الحل.
لو خدمة Go عندك بتعمل allocations أكتر من اللازم والـ GC بياكل CPU، المشكلة غالبًا إن متغيرات بتهرب للـ Heap من غير ما تقصد. مقال للمحترف يشرح Escape Analysis بمثال المكتب للمبتدئ، تعريف من توثيق Go الرسمي، أمر go build -gcflags=-m لكشف الهروب، benchmark مقاس (1.2ns/0 allocs على الـ Stack مقابل ~25ns/1 alloc على الـ Heap، فرق ~20×)، 4 أسباب شائعة للهروب، trade-offs، ومتى متشغلش بالك.
لو عندك Cache موزّع على 4 سيرفرات بـ hash(key) % N، إضافة سيرفر خامس بتعيد توزيع ~80% من المفاتيح وتولّد cache miss storm. Consistent Hashing بينزّل النسبة لـ 1/N (حوالي 20%) بكود Python شغّال، أرقام مقاسة، Virtual Nodes، trade-offs، ومتى متستخدمهوش.
لو خدمة log ingestion بتاعتك بـ goroutines بتاكل 92% CPU وذاكرتها بتنمو 280MB كل ساعة لحد ما تقع، المشكلة مش في Go runtime — فيه goroutines مش بتموت أبداً. Pipeline Pattern بـ context cancellation و buffered channels بيخلّيك تعالج 1.4 مليون event/ثانية على 8 cores، بدون leaks، مع graceful shutdown في 200ms. مقال للمحترف بتعريف من ورقة Hoare 1978 (CSP)، 3 patterns شغّالة على Go 1.23، أرقام مقاسة من ingestion service بـ 14 مليار event/شهر، و4 trade-offs خفية.
لو dashboard React عندك بيرجّع state غلط بعد 4 تعديلات ومحدّش عارف مين عدّله، Proxy في JavaScript بيخلّيك تمسك أي قراءة أو كتابة على object بدون لمس الكود الأصلي. مقال للمحترف بمثال السكرتير للمبتدئ، تعريف من ECMAScript 2024 Spec قسم 10.5، كود شغّال على Node.js 22 و Chrome 131، 4 استخدامات إنتاجية بأرقام مقاسة، 4 trade-offs خفية، ومتى Proxy يبقى اختيار غلط.
كتبت setTimeout(fn, 0) ولقيت Promise.resolve().then() بتنفذ قبله؟ ده مش bug، ده Microtask Queue شغّال صح. مقال للمحترف بمثال طابور الكاشير للمبتدئ، تعريف من HTML Living Standard قسم 8.1.7، كود JavaScript شغّال على V8، أرقام مقاسة (Microtask 0.3ms vs setTimeout 4ms minimum)، 4 trade-offs خفية، ومتى الاعتماد على ترتيب الـ Event Loop يبقى اختيار غلط.
لو خدمة autocomplete عندك بتلف على المليون كلمة في كل keystroke، انت بتدفع تكلفة هيكل بيانات غلط. Trie بـ 62 ميجا RAM بيرد في 38 ميكروثانية على نفس الحجم بفرق 6,315 ضعف. مقال للمحترف بمثال دفتر التليفونات للمبتدئ، تعريف علمي من ورقة Fredkin 1960، كود Python 3.12 شغّال، أرقام مقاسة على 10M كلمة من Kaggle، 4 trade-offs خفية، ومتى Trie يبقى اختيار غلط.
لو السكربت بتاعك بيموت بـ MemoryError على ملف 18GB، المشكلة مش في حجم الـ RAM — هي إنك بتحمّل الملف كله قبل ما تشتغل عليه. Python Generators بـ yield بتخلّيك تعالج نفس الـ 18GB بـ 80 ميجا RAM ثابتة، بدون لمس البنية التحتية. مقال للمحترف بمثال خرطوم المياه للمبتدئ، شرح علمي من PEP 255 و PEP 380، كود Python 3.12 شغّال على CSV من Kaggle، أرقام مقاسة (الذاكرة من 14.8GB لـ 78MB، الزمن من Crash لـ 6.4 دقيقة)، 4 trade-offs خفية، ومتى الـ Generator يبقى اختيار غلط.