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

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

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

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

المنصة

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

الدعم

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

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

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

المدونة

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

المجال
كل المجالات
تكنولوجياDevOps بالعربيHow To Make ItOptimizing بالعربيأحدث أخبار التكنولوجياالأوتوميشنالبرمجة بالعربيالذكاء الاصطناعي
المستوى
كل المستوياتمبتدئمتوسطمحترف
Promise.allSettled في JavaScript: ليه طلب واحد بيفشل بيقع dashboard كامل
متوسط٣٠ أبريل ٢٠٢٦

Promise.allSettled في JavaScript: ليه طلب واحد بيفشل بيقع dashboard كامل

لو dashboard بتاعك بيرجع شاشة فاضية لأن طلب واحد من 8 طلبات API فشل، المشكلة مش في الـ network. المشكلة إنك بتستخدم Promise.all بدل Promise.allSettled. مقال للمستوى المتوسط بمثال البنك للمبتدئ، تعريف علمي دقيق لـ fail-fast vs settle-all، كود JavaScript شغّال على Node 22، أرقام مقاسة من production، trade-offs، ومتى لا تستخدم allSettled أصلاً.

6 دقائق قراءة
Generators في Python: ازاي تقرأ ملف 10GB بـ 12MB ذاكرة بدل 10GB
متوسط٣٠ أبريل ٢٠٢٦

Generators في Python: ازاي تقرأ ملف 10GB بـ 12MB ذاكرة بدل 10GB

لو سكربتك في Python بيقع OOM وانت بتقرأ ملف log حجمه 10GB، المشكلة مش الملف. المشكلة إنك بتحمّله كله في الذاكرة. Generator بيخلي نفس السكربت يخلّص في 12MB ذاكرة بدل 10GB. مقال للمستوى المتوسط بمثال المخبز للمبتدئ، تعريف علمي دقيق لـ Iterator Protocol وlazy evaluation، كود Python 3.12 شغّال، أرقام مقاسة فعليًا، Generator Pipeline، trade-offs واضحة، وحالات لا تستخدمه فيها.

6 دقائق قراءة
Trie للمستوى المتوسط: ابنِ autocomplete يرد في 2ms على 500 ألف كلمة
متوسط٣٠ أبريل ٢٠٢٦

Trie للمستوى المتوسط: ابنِ autocomplete يرد في 2ms على 500 ألف كلمة

لو search box عندك بياخد ثانيتين على كل ضغطة زر وانت بتعمل LIKE 'prefix%' في PostgreSQL على 500 ألف صف، المشكلة مش الـ DB. هياكل البيانات اللي بتستخدمها مش مناسبة لـ prefix search. Trie بيرد في 2 مللي ثانية على نفس الداتا بـ Python خام بدون Redis ولا Elasticsearch. شرح للمستوى المتوسط بمثال دفتر تليفون مرتب، تعريف علمي دقيق، كود شغّال على Python 3.12، أرقام مقاسة فعلياً، trade-offs الذاكرة، ومتى لا تستخدمه.

6 دقائق قراءة
Memoization في JavaScript: ليه fibonacci(45) بتاخد 8 ثواني
متوسط٢٩ أبريل ٢٠٢٦

Memoization في JavaScript: ليه fibonacci(45) بتاخد 8 ثواني

لو دالة عندك بتحسب نفس النتيجة آلاف المرات على نفس المدخل، الذاكرة أرخص من الـ CPU. Memoization بسطرين كود بيخلي fibonacci(45) ينزل من 8 ثواني لـ 3 ملي ثانية. شرح للمستوى المتوسط بمثال الكاشير، تعريف علمي لـ pure functions و call stack، كود JavaScript شغّال على Node 22، أرقام performance.now مقاسة، trade-offs الذاكرة، وحالات لا تستخدمه فيها.

5 دقائق قراءة
Bloom Filters بالعربي: ازاي تتحقق من مليار عنصر بـ 11 ميجابايت بس
متوسط٢٩ أبريل ٢٠٢٦

Bloom Filters بالعربي: ازاي تتحقق من مليار عنصر بـ 11 ميجابايت بس

لو بتعمل lookup على قاعدة بيانات فيها مليار صف لكل request وبتدفع ثمنها latency و RAM، Bloom Filter بيقفلك 99% من الـ lookups دي قبل ما توصل للـ DB أصلاً، بـ 11 ميجابايت ذاكرة فقط. شرح للمستوى المتوسط بمثال حارس الحفلة، تعريف علمي، كود Python شغّال، أرقام مقاسة، trade-offs، ومتى لا تستخدمه.

6 دقائق قراءة
AbortController في JavaScript: ليه searchbar بتاعك بيرسل 47 طلب لكل كلمة
متوسط٢٨ أبريل ٢٠٢٦

AbortController في JavaScript: ليه searchbar بتاعك بيرسل 47 طلب لكل كلمة

لو الـ search box عندك بيرسل طلب لكل حرف والنتايج بترجع متلخبطة لأن الطلب رقم 3 وصل بعد رقم 7، المشكلة مش fetch ولا debounce. الحل اسمه AbortController. مقال للمستوى المتوسط بمثال الطباخ، تعريف علمي دقيق لـ Signal Pattern، كود JavaScript قابل للنسخ، أرقام مقاسة، trade-offs، ومتى لا تستخدمه.

6 دقائق قراءة
Race Conditions في البرمجة: ليه نفس الكود بينجح في التيست ويفشل في الإنتاج
متوسط٢٨ أبريل ٢٠٢٦

Race Conditions في البرمجة: ليه نفس الكود بينجح في التيست ويفشل في الإنتاج

لو endpoint الشراء بتاعك خصم آخر قطعة لاتنين عملاء في نفس الثانية، الكود مش غلط. خيطين تنفيذ قروا الرقم في نفس النانوثانية. شرح Race Conditions للمستوى المتوسط بمثال آخر تذكرة في الحفلة، تعريف علمي لـ Critical Section و Mutual Exclusion، كود Python threading قابل للنسخ يعيد إنتاج المشكلة، 4 حلول عملية مع أرقام مقاسة (Mutex، Atomic، Optimistic، SELECT FOR UPDATE)، trade-offs، وقاعدة قرار سريعة.

6 دقائق قراءة
Idempotency Keys في APIs: ليه نفس عملية الدفع بتتنفّذ مرّتين
متوسط٢٨ أبريل ٢٠٢٦

Idempotency Keys في APIs: ليه نفس عملية الدفع بتتنفّذ مرّتين

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

6 دقائق قراءة
Stack vs Heap بالعربي: ليه متغير بياخد نانوثانية والثاني ميكروثانية
متوسط٢٧ أبريل ٢٠٢٦

Stack vs Heap بالعربي: ليه متغير بياخد نانوثانية والثاني ميكروثانية

لو دالة بتعمل allocate لـ struct صغيرة في 0.4 نانوثانية ودالة تانية بتعمل نفس الـ struct في 24 نانوثانية، الفرق مش CPU. الفرق إن وحدة بتقعد على Stack والثانية بتروح Heap. مقال للمستوى المتوسط بمثال المطعم، تعريف علمي دقيق، كود Go شغّال، أرقام قياس فعلية، escape analysis، وtrade-offs واضحة.

6 دقائق قراءة

عرض 55 - 63 من 116 مقال

السابق
1
…6
7
8
…13
التالي