مقالات ودروس مجانية تساعدك في رحلتك التعليمية — من أساسيات البرمجة إلى أحدث التقنيات.
شرح كامل للـ 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 بتخفّض استهلاك الذاكرة من جيجابايتات لميجابايتات بدون تغيير في المنطق، مع مثال للمبتدئ، تعريف علمي دقيق، أرقام قبل وبعد، وحالات لا تنفع فيها.
لو بتدوّر في اللوجات ومش عارف طلب المستخدم مشي فين، AsyncLocalStorage يخلي requestId متاحًا في كل طبقة داخل Node.js بدون تمريره يدويًا في كل دالة.
لو TypeScript مطمنك إن بيانات الـ API صح، فهو غالبًا مطمنك زيادة. Zod يراجع JSON وقت التشغيل قبل ما يكسر الواجهة أو يخزن بيانات غلط.
لو زرار الصفحة بيتأخر بسبب حساب JavaScript تقيل، Web Workers تنقل الشغل لخيط منفصل وتسيب الواجهة تستجيب للمستخدم.
لو صفحة بتعتمد على 3 APIs، فشل reviews مش لازم يكسر السعر والمخزون. Promise.allSettled يخليك تعرض البيانات المتاحة وتتعامل مع الفشل بوضوح.
مدونة أحمد حايس تجيب عن أسئلة مثل كيف أتعلم البرمجة أو التكنولوجيا أو الذكاء الاصطناعي، وتحوّل المفاهيم التقنية إلى مقالات عربية عملية واضحة.