مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو كل ما تحتاج تشغّل شغل بالتوازي بتدخل في زحمة Mutex وLocks، Go بتقدم طريقة أبسط: Goroutines خفيفة جداً وChannels تنقل البيانات بأمان بدون قفل يدوي. شرح متوسط بمثال للمبتدئين، تعريف علمي، كود شغّال، أرقام، trade-offs، وحالات لا تنفع فيها.
لو نفس بيانات المنتج بتتقرأ آلاف المرات في الدقيقة، LRU Cache بسيط بـ JavaScript Map يقلل الضغط على قاعدة البيانات بدون Redis في الحالات الصغيرة.
لو سكربت Node.js بيقرأ ملف كبير أسرع من الكتابة، الذاكرة هتطلع تدريجيًا لحد ما العملية تقع. Backpressure يخلي التدفق تحت السيطرة باستخدام pipeline وdrain.
لو طلب الدفع اتبعت مرتين بسبب timeout، Idempotency Key يمنع تكرار العملية ويرجع نفس الرد بأمان. شرح عملي بمثال Node.js وPostgreSQL.
شرح كامل للـ Event Loop في JavaScript للمستوى المتوسط: ليه Promise بيشتغل قبل setTimeout(0)، الفرق بين Microtask و Macrotask، bug خفي شائع في async/await، قياس فعلي على Chrome، ومتى الفهم ده مهم فعلاً ومتى مش لازم.
لو خدمة خارجية وقعت، السيرفر بتاعك بيقع معاها لأن الـ threads بتتعلق في انتظار رد. Circuit Breaker بيقطع المكالمة فورًا ويحمي مواردك. شرح بمثال عداد الكهرباء، تعريف علمي دقيق، كود Node.js شغّال من 35 سطر، قياس قبل وبعد، ومتى لا تستخدمه.
لو دالة جوّانية في JavaScript بترجع متغير من دالة خارجية انتهت من زمان، ده الـ closure. شرح بمثال الدرج، تعريف علمي، 4 حالات استخدام حقيقية، حالات تسرّب ذاكرة، ومتى ما تستخدمهوش.
لو كل check عندك بيروح لقاعدة البيانات، Bloom Filter يخليك تسأل الذاكرة الأول وتقلل الاستعلامات الفارغة مع فهم واضح لتكلفة الـ false positives.
لو سكربت Python بيوقف عند MemoryError وانت بتقرأ ملف log كبير، المشكلة مش في حجم الملف، المشكلة في طريقة قراءته. الـ Generators بتخفّض استهلاك الذاكرة من جيجابايتات لميجابايتات بدون تغيير في المنطق، مع مثال للمبتدئ، تعريف علمي دقيق، أرقام قبل وبعد، وحالات لا تنفع فيها.