أحمد حايس
الرئيسيةمن أناالدوراتالمدونةالمناهج والباقات
أحمد حايس

دورات عربية متخصصة في التقنية والبرمجة والذكاء الاصطناعي.

المنصة مبنية على الوضوح، التطبيق، والنتيجة النافعة: شرح مرتب يساعدك تفهم الأدوات، تكتب كودًا أفضل، وتستخدم الذكاء الاصطناعي بوعي داخل العمل الحقيقي.

تعلم أسرعوصول مباشر للدورات والمسارات من الموبايل.
تنقل أوضحالروابط الأساسية والدعم في مكان واحد بدون تشتيت.

المنصة

  • الرئيسية
  • من أنا
  • الدورات
  • المناهج والباقات
  • المدونة

الدعم

  • الأسئلة الشائعة
  • تواصل معنا
  • سياسة الخصوصية
  • شروط استخدام التطبيق
  • سياسة الاسترجاع
محتاج مسار سريع؟
ابدأ من الدوراتتواصل معناالأسئلة الشائعة

© 2026 أحمد حايس. جميع الحقوق محفوظة.

الرئيسيةالدوراتالمناهجالمدونةالدخول

المدونة

مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.

المجال
كل المجالات
تكنولوجياDevOps بالعربيHow To Make ItOptimizing بالعربيأحدث أخبار التكنولوجياالأوتوميشنالبرمجة بالعربيالذكاء الاصطناعي
المستوى
كل المستوياتمبتدئمتوسطمحترف
Event Loop في Node.js للمتوسط: ليه setTimeout(0) أبطأ من Promise.resolve() بـ 4ms
متوسط٨ مايو ٢٠٢٦

Event Loop في Node.js للمتوسط: ليه setTimeout(0) أبطأ من Promise.resolve() بـ 4ms

لو فاكر إن setTimeout(0) معناه "نفّذ دلوقتي"، فأنت بتحجز للكود تذكرة في طابور تاني خالص. شرح للمتوسط للـ Event Loop في Node.js 22 بمثال طابور المطار للمبتدئ، تعريف علمي من توثيق libuv، كود قابل للنسخ يقيس الفرق بين setTimeout و setImmediate و queueMicrotask، أرقام مقاسة (4.1ms vs 0.04ms)، 4 trade-offs، ومتى لا تستعمل setImmediate أصلاً.

5 دقائق قراءة
Floating Point للمبتدئ: ليه 0.1 + 0.2 مش بيساوي 0.3 في كل لغات البرمجة
مبتدئ٨ مايو ٢٠٢٦

Floating Point للمبتدئ: ليه 0.1 + 0.2 مش بيساوي 0.3 في كل لغات البرمجة

لو كتبت 0.1 + 0.2 في JavaScript أو Python أو Java وطلعلك 0.30000000000000004، ده مش bug في اللغة. ده سلوك معتمد في معيار IEEE 754 من 1985 وموجود في كل المعالجات. مقال للمبتدئ بمثال قسمة الكيكة، شرح علمي للـ binary representation، ثلاث طرق عملية للتعامل (Decimal، tolerance، integer cents)، حالة إنتاج خسرت 120 جنيه شهرياً، 4 trade-offs حقيقية، ومتى تتجاهل الموضوع أصلاً.

5 دقائق قراءة
Recursion للمبتدئ: ازاي دالة تنادي نفسها بدون ما تعلق في لوب لا نهائي
مبتدئ٨ مايو ٢٠٢٦

Recursion للمبتدئ: ازاي دالة تنادي نفسها بدون ما تعلق في لوب لا نهائي

لو شفت كود فيه دالة جوّاها بتنادي نفس الدالة، أول إحساس بييجيلك إن ده هيدخل في لوب أبدي. لكن دي تقنية اسمها Recursion، وبتحلّ مشاكل زي ترافيرس الشجرة وقراءة فولدرات متداخلة والتعامل مع JSON معقّد في 8 سطور بدل 50. مقال للمبتدئ بمثال دمى ماتريوشكا، تعريف علمي للـ call stack من توثيق ECMAScript و Python، كود JavaScript و Python شغّال، أرقام مقاسة من V8 (حد الـ stack 10,416 frame)، 4 trade-offs حقيقية، ومتى تستخدم لوب عادي بدلاً منها.

6 دقائق قراءة
Stream Backpressure في Node.js للمحترف: ليه pipe() بياكل 4GB ذاكرة على ملف 200MB
محترف٨ مايو ٢٠٢٦

Stream Backpressure في Node.js للمحترف: ليه pipe() بياكل 4GB ذاكرة على ملف 200MB

لو سكربت 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، ومتى لا تستخدمه أصلاً.

6 دقائق قراءة
Promise.all vs Promise.allSettled في JavaScript للمتوسط: ليه طلب واحد بيكسرلك 9 طلبات شغّالة
متوسط٨ مايو ٢٠٢٦

Promise.all vs Promise.allSettled في JavaScript للمتوسط: ليه طلب واحد بيكسرلك 9 طلبات شغّالة

لو dashboard بتاعك بيجيب 10 خدمات في نفس اللحظة وأول ما خدمة واحدة تفشل بتلاقي الـ 9 الباقيين راحوا في الهوا، المشكلة مش في الـ network — المشكلة إنك بتستخدم Promise.all في موقف كان لازم يبقى Promise.allSettled. مقال للمتوسط بمثال سعاة البريد للمبتدئ، تعريف علمي من ECMA-262، كود JavaScript شغّال على Node 22، أرقام إنتاج (نسبة الفشل اتغيرت من 4.2% لـ 0.08%)، 4 trade-offs، وحالات لا تستخدم Promise.allSettled فيها.

6 دقائق قراءة
Closures في JavaScript للمبتدئ: ازاي دالة بتفتكر متغيرات بعد ما الـ scope خلص
مبتدئ٨ مايو ٢٠٢٦

Closures في JavaScript للمبتدئ: ازاي دالة بتفتكر متغيرات بعد ما الـ scope خلص

لو شفت كود فيه دالة بترجّع دالة تانية ولسه فاكرة متغيرات الأولى، اللي بتشوفه ده اسمه Closure. شرح للمبتدئ بمثال خزنة البنك، تعريف علمي من ECMAScript spec، كود JavaScript شغّال يبني عدّاد آمن بـ private state في 12 سطر، الفخ الكلاسيكي var داخل for loop، أرقام مقاسة من Chrome DevTools، 4 trade-offs حقيقية، ومتى لا تستخدم Closure أصلاً.

5 دقائق قراءة
Garbage Collection في JavaScript للمتوسط: ليه Node.js بياكل ذاكرة لحد ما يقع
متوسط٨ مايو ٢٠٢٦

Garbage Collection في JavaScript للمتوسط: ليه Node.js بياكل ذاكرة لحد ما يقع

لو Node.js بتاعك بيستهلك 280MB بعد ساعة وبيوصل 3.8GB بعد 8 ساعات بدون زيادة في الـ traffic، عندك memory leak. شرح للمتوسط للـ V8 Garbage Collector بمثال مكتب الموظفين للمبتدئ، 4 أنماط تسريب شائعة بكود قابل للنسخ، WeakMap و WeakRef لحلها، أرقام مقاسة من إنتاج، 4 trade-offs، ومتى ما تركّزش على الموضوع أصلاً.

6 دقائق قراءة
B-tree vs LSM-tree للمحترف: ليه PostgreSQL بيكتب 78MB/s و RocksDB بيكتب 340MB/s على نفس SSD
محترف٨ مايو ٢٠٢٦

B-tree vs LSM-tree للمحترف: ليه PostgreSQL بيكتب 78MB/s و RocksDB بيكتب 340MB/s على نفس SSD

لو شغّلت 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)، ومتى لا تستخدم أي منهما أصلاً.

6 دقائق قراءة
Debounce و Throttle للمبتدئ: ليه search box بيرسل 87 طلب من كلمة واحدة
مبتدئ٨ مايو ٢٠٢٦

Debounce و Throttle للمبتدئ: ليه search box بيرسل 87 طلب من كلمة واحدة

لو search box بتاعك بيرسل طلب لكل حرف بيكتبه المستخدم، تطبيقك بيدفع 9x من الـ bandwidth والـ DB بتسخن من غير سبب. Debounce و Throttle بـ 6 سطور JavaScript بيخفّضوا الطلبات 92%. مقال للمبتدئ بمثال حارس البنك، تعريف علمي دقيق، كود قابل للنسخ، أرقام مقاسة من إنتاج (4.1M طلب يومي → 66K، توفير $298 شهرياً)، 4 trade-offs حقيقية، ومتى لا تستخدم أي منهم.

6 دقائق قراءة

عرض 91 - 99 من 213 مقال

السابق
1
…10
11
12
…24
التالي