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

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

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

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

المنصة

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

الدعم

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

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

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

المدونة

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

المجال
كل المجالات
تكنولوجياDevOps بالعربيHow To Make ItOptimizing بالعربيأحدث أخبار التكنولوجياالأوتوميشنالبرمجة بالعربيالذكاء الاصطناعي
المستوى
كل المستوياتمبتدئمتوسطمحترف
Channels في Go للمتوسط: نسّق 1000 Goroutine بدون Race Conditions
متوسط١٠ مايو ٢٠٢٦

Channels في Go للمتوسط: نسّق 1000 Goroutine بدون Race Conditions

لو شغّلت 1000 Goroutine بيكتبوا في slice واحد بدون تنسيق، Go runtime مش بيرفع خطأ. بس الـ data race بيحصل بصمت. Channels بتحل ده بسطر واحد بدل 14 سطر mutex. مقال للمتوسط بمثال خط الإنتاج، تعريف من ورقة CSP لـ Hoare 1978، Worker Pool شغّال على Go 1.22، أرقام مقاسة (142 سطر mutex → 38 سطر channels)، 4 trade-offs، ومتى mutex أحسن من channel.

6 دقائق قراءة
Web Workers في JavaScript للمتوسط: شغّل عمليات ثقيلة بدون ما تجمّد المتصفح
متوسط١٠ مايو ٢٠٢٦

Web Workers في JavaScript للمتوسط: شغّل عمليات ثقيلة بدون ما تجمّد المتصفح

لو dashboard بتاعك بيتجمّد 4 ثواني لمّا المستخدم يرفع CSV حجمه 80MB، JavaScript مش بطيء — هو شغّال على thread واحد بيعمل كل حاجة. Web Workers بـ 30 سطر بتنقل العملية الثقيلة لـ background thread فالـ UI يفضل متجاوب 60fps. مقال للمتوسط بمثال مطعم الكاشير الواحد للمبتدئ، تعريف علمي من HTML Living Standard، كود شغّال على Chrome 130 و Vite 5، أرقام مقاسة على CSV 82MB (UI freeze من 4,180ms لـ 18ms)، 4 trade-offs حقيقية، ومتى Web Worker بيكون مبالغة هندسية.

5 دقائق قراءة
Bloom Filters للمتوسط: افحص وجود مليون عنصر في 1.2MB ذاكرة
متوسط١٠ مايو ٢٠٢٦

Bloom Filters للمتوسط: افحص وجود مليون عنصر في 1.2MB ذاكرة

لو سيرفرك بيسأل DB كل request "هل العميل ده في القائمة السودا؟" على 8 مليون سجل، أنت بتدفع 12ms لكل طلب. Bloom Filter بيرد على نفس السؤال في 0.4 microsecond، بـ 1.2MB ذاكرة بدل 640MB. مقال للمتوسط بمثال بوّاب الحفلة للمبتدئ، تعريف علمي من ورقة Bloom 1970 وتوثيق Cassandra، كود Python شغّال على mmh3 + bitarray، أرقام مقاسة من API بـ 12K req/s، 4 trade-offs حقيقية، ومتى Bloom Filter بيكون الاختيار الغلط.

7 دقائق قراءة
Decorators في Python للمتوسط: أضف Logging و Caching بدون لمس الكود
متوسط١٠ مايو ٢٠٢٦

Decorators في Python للمتوسط: أضف Logging و Caching بدون لمس الكود

لو بتكتب نفس 5 سطور logging قبل وبعد كل function، أنت بتضيف 200 سطر زيادة في ملف فيه 40 function. Decorator واحد بـ 8 سطور بيغطّي كل الـ 40 بدون ما تلمس واحدة فيهم. مقال للمتوسط بمثال أمين فندق للمبتدئ، تعريف علمي من PEP 318، كود شغّال على Python 3.12 لقياس الزمن وللـ Caching والـ Retry، أرقام مقاسة من API بـ 12,000 طلب يومي (latency من 142ms لـ 8ms)، trade-offs حقيقية، ومتى Decorator يبقى اختيار غلط.

6 دقائق قراءة
Decorators في Python للمتوسط: أضِف Logging و Timing بسطر واحد
متوسط١٠ مايو ٢٠٢٦

Decorators في Python للمتوسط: أضِف Logging و Timing بسطر واحد

لو عندك 50 دالة Python وعايز تضيف Logging و Timing بدون تكرار، Decorators بـ 8 سطور بتعملك ده. مقال للمتوسط بمثال موظف الاستقبال للمبتدئ، تعريف من PEP 318، كود شغّال على Python 3.12، وأرقام مقاسة من خدمة دفع بـ 12 endpoint (MTTD نزل من 4 ساعات لـ 6 دقائق).

7 دقائق قراءة
Idempotency Keys للمتوسط: امنع الدفع المكرر لما الشبكة بتقطع
متوسط١٠ مايو ٢٠٢٦

Idempotency Keys للمتوسط: امنع الدفع المكرر لما الشبكة بتقطع

لو الزبون ضغط "ادفع" مرة، الشبكة قطعت، والـ frontend عمل retry — العميل بيتسحبله ضعف المبلغ والمشكلة مش في bank gateway. سطرين Redis قبل البزنس لوجيك بيقفلوا الباب نهائي. مقال للمتوسط بمثال الكاشير للمبتدئ، تعريف من RFC 9110 وStripe، كود FastAPI شغّال على Python 3.12 و redis-py 5.0، أرقام مقاسة من 28 ألف معاملة شهرياً (187 → 4 شحنة مكررة)، 4 trade-offs، ومتى لا تستخدمها أصلاً.

6 دقائق قراءة
AbortController في JavaScript للمتوسط: ألغِ fetch قبل race conditions
متوسط٨ مايو ٢٠٢٦

AbortController في JavaScript للمتوسط: ألغِ fetch قبل race conditions

لو search box عندك بيرسل طلب fetch لكل حرف، آخر طلب أحياناً بيوصل قبل الأولانيين والـ UI بيعرض نتيجة قديمة. AbortController بـ 6 سطور JavaScript بيلغي الطلبات الضايعة وينقذك من race conditions. مقال للمتوسط بمثال طلبات الديليفري للمبتدئ، تعريف من DOM Living Standard، كود شغّال على Node 22 و Chrome 122، أرقام مقاسة من dashboard إنتاج (15% طلبات ضايعة → 0)، 4 trade-offs حقيقية، ومتى لا تستخدمه أصلاً.

5 دقائق قراءة
Memoization في JavaScript للمتوسط: خلّي الدالة تفتكر بدل ما تحسب 30 ألف مرة
متوسط٨ مايو ٢٠٢٦

Memoization في JavaScript للمتوسط: خلّي الدالة تفتكر بدل ما تحسب 30 ألف مرة

لو دالة عندك بتحسب نفس النتيجة 1.7 مليون مرة على n=30، Memoization بـ 8 سطور JavaScript بتنزّل الزمن من 12 ثانية لـ 0.4 مللي ثانية. مقال للمتوسط بمثال المحاسب للمبتدئ، تعريف علمي من ورقة Donald Michie 1968، كود شغّال على Node 22، أرقام مقاسة، 4 trade-offs حقيقية، ومتى Memoization بتكسر منطقك بدل ما تحسّنه.

5 دقائق قراءة
Web Workers في JavaScript للمتوسط: شغّل خوارزمية ثقيلة بدون ما تجمّد الواجهة 4 ثواني
متوسط٨ مايو ٢٠٢٦

Web Workers في JavaScript للمتوسط: شغّل خوارزمية ثقيلة بدون ما تجمّد الواجهة 4 ثواني

لو زرار filter على dashboard بتاعك بياخد 4 ثواني والمستخدم خلالها مش قادر يعمل scroll ولا يدوس على حاجة، المشكلة مش في حجم البيانات. المتصفح كله شغّال بـ thread واحد والـ JavaScript بياكله. Web Workers بـ 8 سطور بيشيلوا الحساب لـ thread جنبي والواجهة تفضل live. مقال للمتوسط بمثال المطعم للمبتدئ، تعريف علمي من WHATWG، كود شغّال على Chrome 122، أرقام مقاسة (4.1 ثانية تجمّد → 24ms INP)، 4 trade-offs، ومتى لا تستخدم Web Worker أصلاً.

6 دقائق قراءة

عرض 28 - 36 من 116 مقال

السابق
1
…3
4
5
…13
التالي