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

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

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

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

المنصة

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

الدعم

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

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

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

المدونة

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

المجال
كل المجالات
تكنولوجياDevOps بالعربيHow To Make ItOptimizing بالعربيأحدث أخبار التكنولوجياالأوتوميشنالبرمجة بالعربيالذكاء الاصطناعي
المستوى
كل المستوياتمبتدئمتوسطمحترف
الـ Event Loop في JavaScript للمتوسط: ليه setTimeout بصفر بيتأخّر عن Promise؟
متوسط١٥ يونيو ٢٠٢٦

الـ Event Loop في JavaScript للمتوسط: ليه setTimeout بصفر بيتأخّر عن Promise؟

لو حطيت setTimeout بصفر ثانية وافتكرت إنه هيشتغل فورًا، الترتيب اللي هيطلع هيصدمك. مقال للمتوسط يشرح الـ Event Loop بمثال الكاشير للمبتدئ، الفرق بين Task Queue و Microtask Queue، كود شغّال على Node 22 يطبع 1,4,3,2، خطر تجويع الـ event loop بالـ microtasks، trade-offs، ومتى متشغلش بالك. مصادر من MDN ومواصفة WHATWG.

5 دقائق قراءة
ليه الـ Database Index بيخلّي query على مليون صف أسرع 600 مرة
متوسط١٤ يونيو ٢٠٢٦

ليه الـ Database Index بيخلّي query على مليون صف أسرع 600 مرة

لو query بسيط على جدول مليون صف بياخد ثانية كاملة، المشكلة مش في السيرفر — هي إن قاعدة البيانات بتقرأ كل صف واحد واحد. مقال للمتوسط يشرح الـ B-Tree Index بمثال فهرس الكتاب للمبتدئ، تعريف علمي من ورقة Bayer و McCreight 1972، كود SQL شغّال على PostgreSQL مع EXPLAIN ANALYZE، أرقام مقاسة (312ms → 0.5ms)، 4 trade-offs، ومتى الـ index بيبقى اختيار غلط.

5 دقائق قراءة
ReDoS للمتوسط: ليه regex واحد يقدر يجمّد السيرفر بالكامل
متوسط١٢ يونيو ٢٠٢٦

ReDoS للمتوسط: ليه regex واحد يقدر يجمّد السيرفر بالكامل

regex فيه nested quantifier زي ^(a+)+$ يقدر يطلّع المعالج 100% ويوقّع السيرفر بإدخال 30 حرف بس. مقال للمتوسط يشرح catastrophic backtracking بمثال بسيط ثم علميًا، كود Node شغّال، أرقام مقاسة، حل بإعادة كتابة الـ regex وبـ RE2، trade-offs، ومتى متقلقش، مع مصادر من OWASP وCloudflare وStack Overflow.

5 دقائق قراءة
Idempotency Key للمتوسط: امنع الدفع المزدوج لما العميل يضغط Pay مرتين
متوسط١٢ يونيو ٢٠٢٦

Idempotency Key للمتوسط: امنع الدفع المزدوج لما العميل يضغط Pay مرتين

لو عميل ضغط زر الدفع مرتين أو الشبكة أعادت الطلب، ممكن يتخصم منه مرتين. مفتاح Idempotency-Key بيخلّي الطلب المكرر يرجّع نفس الرد بدون خصم جديد. مقال للمتوسط بمثال شباك التذاكر، تعريف من Stripe و IETF، كود Express و PostgreSQL و Redis شغّال، أرقام، trade-offs، ومتى متستخدمهوش.

5 دقائق قراءة
ليه 0.1 + 0.2 لا تساوي 0.3 في كل لغات البرمجة؟
متوسط١١ يونيو ٢٠٢٦

ليه 0.1 + 0.2 لا تساوي 0.3 في كل لغات البرمجة؟

لو جمعت 0.1 + 0.2 ولقيت الناتج 0.30000000000000004، ده مش bug ولا غلطة في لغتك. المقال يشرح السبب بمثال بسيط، يفكك معيار IEEE 754، ويديك 3 حلول شغّالة لحسابات الفلوس والقياسات.

4 دقائق قراءة
Debounce و Throttle للمتوسط: امنع 91% من طلبات الـ search box بـ 12 سطر
متوسط٢٦ مايو ٢٠٢٦

Debounce و Throttle للمتوسط: امنع 91% من طلبات الـ search box بـ 12 سطر

لو search box عندك بيبعت 11 طلب fetch لكل كلمة بـ 8 حروف، انت بتدفع 91% من بضاعة السيرفر هباءً. مقال للمتوسط بمثال زر المصعد للمبتدئ، تعريف من Lodash، كود JavaScript شغّال لـ debounce و throttle، أرقام مقاسة من search input (11 طلب → 1 طلب)، فرق دقيق بين الاتنين، 4 trade-offs خفية، ومتى debounce يبقى اختيار غلط.

7 دقائق قراءة
Bloom Filters للمتوسط: افحص 50 مليون رابط في 64MB بدون Database
متوسط٢٥ مايو ٢٠٢٦

Bloom Filters للمتوسط: افحص 50 مليون رابط في 64MB بدون Database

لو الـ web crawler عندك بيعمل DB query لكل URL جديد علشان يتأكد إنه ما اتزارش، انت بتدفع 4ms في كل lookup. Bloom Filter بيوفّر 99.07% من الـ queries في 64MB RAM، مع 0.93% false positive rate فقط، مقاس على 50 مليون URL من Common Crawl.

7 دقائق قراءة
Generators في Python للمتوسط: عالج ملف 50GB بـ 12MB رام بدون ما السيرفر يقع
متوسط٢٥ مايو ٢٠٢٦

Generators في Python للمتوسط: عالج ملف 50GB بـ 12MB رام بدون ما السيرفر يقع

لو سكربت Python بياكل 47 جيجا رام بسبب list واحدة، Generators بكلمة yield بتنزّل الذاكرة لـ 12 ميجا بدون تغيير في الـ infrastructure. مقال للمتوسط بمثال المكتبة العامة للمبتدئ، شرح علمي من PEP 255 وتوثيق Python 3.13، كود قابل للنسخ، أرقام مقاسة على ملف 50GB، Generator Expressions، Pipeline من 3 generators متربطين، 4 trade-offs خفية، ومتى Generators يكون اختيار غلط.

7 دقائق قراءة
Event Loop في JavaScript للمتوسط: ليه await Promise.resolve() بيسبق setTimeout(0)
متوسط٢٤ مايو ٢٠٢٦

Event Loop في JavaScript للمتوسط: ليه await Promise.resolve() بيسبق setTimeout(0)

لو سألك حد في interview ليه await Promise.resolve() بينفّذ قبل setTimeout(0) رغم إن الاتنين بيأجّلوا التنفيذ، الإجابة مش في JavaScript نفسه، الإجابة في إن فيه طابورين منفصلين داخل Event Loop. مقال للمتوسط بمثال موظف المكتب للمبتدئ، شرح علمي من WHATWG HTML Spec قسم 8.1.7، 4 قواعد تحسم الترتيب بكود JS شغّال على V8 و Node 22، أرقام قياس فعلية (queueMicrotask 0.018ms vs setTimeout(0) 1.4ms، فرق 60×)، تحذير من Microtask Starvation اللي بيجمّد الـ UI، 4 trade-offs خفية، ومتى مش لازم تشغّل بالك بالموضوع أصلاً.

7 دقائق قراءة

عرض 1 - 9 من 116 مقال

السابق
1
2
…13
التالي