مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو فاكر إن setTimeout(0) معناه "نفّذ دلوقتي"، فأنت بتحجز للكود تذكرة في طابور تاني خالص. شرح للمتوسط للـ Event Loop في Node.js 22 بمثال طابور المطار للمبتدئ، تعريف علمي من توثيق libuv، كود قابل للنسخ يقيس الفرق بين setTimeout و setImmediate و queueMicrotask، أرقام مقاسة (4.1ms vs 0.04ms)، 4 trade-offs، ومتى لا تستعمل setImmediate أصلاً.
لو كتبت 0.1 + 0.2 في JavaScript أو Python أو Java وطلعلك 0.30000000000000004، ده مش bug في اللغة. ده سلوك معتمد في معيار IEEE 754 من 1985 وموجود في كل المعالجات. مقال للمبتدئ بمثال قسمة الكيكة، شرح علمي للـ binary representation، ثلاث طرق عملية للتعامل (Decimal، tolerance، integer cents)، حالة إنتاج خسرت 120 جنيه شهرياً، 4 trade-offs حقيقية، ومتى تتجاهل الموضوع أصلاً.
لو شفت كود فيه دالة جوّاها بتنادي نفس الدالة، أول إحساس بييجيلك إن ده هيدخل في لوب أبدي. لكن دي تقنية اسمها Recursion، وبتحلّ مشاكل زي ترافيرس الشجرة وقراءة فولدرات متداخلة والتعامل مع JSON معقّد في 8 سطور بدل 50. مقال للمبتدئ بمثال دمى ماتريوشكا، تعريف علمي للـ call stack من توثيق ECMAScript و Python، كود JavaScript و Python شغّال، أرقام مقاسة من V8 (حد الـ stack 10,416 frame)، 4 trade-offs حقيقية، ومتى تستخدم لوب عادي بدلاً منها.
لو سكربت Node.js عندك بيقرأ ملف 200MB ويعالجه ويكتبه على S3 وبياكل 4.2GB ذاكرة قبل ما يقع، المشكلة مش في الحجم. الـ Readable بيقرأ بـ 480MB/s والـ Writable بيكتب بـ 22MB/s، الفرق بيتراكم في buffer. مقال للمحترف بمثال عامل المخزن للمبتدئ، تعريف علمي للـ highWaterMark والـ drain من توثيق Node.js، كود stream.pipeline() شغّال على Node 22، أرقام مقاسة (98% توفير ذاكرة)، 4 trade-offs، ومتى لا تستخدمه أصلاً.
لو dashboard بتاعك بيجيب 10 خدمات في نفس اللحظة وأول ما خدمة واحدة تفشل بتلاقي الـ 9 الباقيين راحوا في الهوا، المشكلة مش في الـ network — المشكلة إنك بتستخدم Promise.all في موقف كان لازم يبقى Promise.allSettled. مقال للمتوسط بمثال سعاة البريد للمبتدئ، تعريف علمي من ECMA-262، كود JavaScript شغّال على Node 22، أرقام إنتاج (نسبة الفشل اتغيرت من 4.2% لـ 0.08%)، 4 trade-offs، وحالات لا تستخدم Promise.allSettled فيها.
لو شفت كود فيه دالة بترجّع دالة تانية ولسه فاكرة متغيرات الأولى، اللي بتشوفه ده اسمه Closure. شرح للمبتدئ بمثال خزنة البنك، تعريف علمي من ECMAScript spec، كود JavaScript شغّال يبني عدّاد آمن بـ private state في 12 سطر، الفخ الكلاسيكي var داخل for loop، أرقام مقاسة من Chrome DevTools، 4 trade-offs حقيقية، ومتى لا تستخدم Closure أصلاً.
لو Node.js بتاعك بيستهلك 280MB بعد ساعة وبيوصل 3.8GB بعد 8 ساعات بدون زيادة في الـ traffic، عندك memory leak. شرح للمتوسط للـ V8 Garbage Collector بمثال مكتب الموظفين للمبتدئ، 4 أنماط تسريب شائعة بكود قابل للنسخ، WeakMap و WeakRef لحلها، أرقام مقاسة من إنتاج، 4 trade-offs، ومتى ما تركّزش على الموضوع أصلاً.
لو شغّلت PostgreSQL و RocksDB على نفس Samsung 990 Pro NVMe، PostgreSQL بيكتب 78MB/s متواصل و RocksDB بيكتب 340MB/s. الفرق مش في تحسين الكود — الفرق في data structure مختلفة بالكلية. مقال للمحترف بمثال موظف الأرشيف للمبتدئ، تعريف علمي من ورقة Bayer 1972 و O'Neil 1996، benchmark شغّال بـ pgbench و db_bench، أرقام مقاسة، 4 trade-offs (write/read/space amplification + tail latency)، ومتى لا تستخدم أي منهما أصلاً.
لو search box بتاعك بيرسل طلب لكل حرف بيكتبه المستخدم، تطبيقك بيدفع 9x من الـ bandwidth والـ DB بتسخن من غير سبب. Debounce و Throttle بـ 6 سطور JavaScript بيخفّضوا الطلبات 92%. مقال للمبتدئ بمثال حارس البنك، تعريف علمي دقيق، كود قابل للنسخ، أرقام مقاسة من إنتاج (4.1M طلب يومي → 66K، توفير $298 شهرياً)، 4 trade-offs حقيقية، ومتى لا تستخدم أي منهم.