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

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

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

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

المنصة

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

الدعم

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

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

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

المدونة

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

المجال
كل المجالات
تكنولوجياDevOps بالعربيHow To Make ItOptimizing بالعربيأحدث أخبار التكنولوجياالأوتوميشنالبرمجة بالعربيالذكاء الاصطناعي
المستوى
كل المستوياتمبتدئمتوسطمحترف
Big O Notation للمبتدئ: ليه كودك بيخلص في ثانية على ألف صف وبياخد ساعة على مليون
مبتدئ٨ مايو ٢٠٢٦

Big O Notation للمبتدئ: ليه كودك بيخلص في ثانية على ألف صف وبياخد ساعة على مليون

لو كودك سريع على بيانات اختبارك وبيموت في الإنتاج، السبب مش السيرفر — السبب Big O. شرح للمبتدئ بمثال الكشكول، تعريف علمي من Cormen et al. (MIT Press)، benchmark شغّال على Python 3.12 يقيس الفرق بين O(n²) و O(n log n) فعلياً (412 ثانية مقابل 0.018 ثانية على 100 ألف عنصر)، 4 trade-offs حقيقية، ومتى لا تركّز على Big O أصلاً.

6 دقائق قراءة
WebAssembly للمبتدئ: ليه Figma بترسم مليون عنصر في تبويب متصفح بسرعة Photoshop
مبتدئ٨ مايو ٢٠٢٦

WebAssembly للمبتدئ: ليه Figma بترسم مليون عنصر في تبويب متصفح بسرعة Photoshop

لو فتحت Figma على المتصفح وفوجئت إنه أسرع من برامج desktop كاملة، السبب مش في JavaScript ذكي. السبب تقنية اسمها WebAssembly بتشغّل كود Rust و C++ جنب الـ JS بسرعة قريبة من الـ native. مقال للمبتدئ بمثال المترجم في المؤتمر الدولي، تعريف علمي دقيق من W3C، كود Rust شغّال يتحوّل لـ wasm في 30 سطر، أرقام مقاسة من Figma و Photoshop Web و AutoCAD، 4 trade-offs، ومتى لا تستخدمه أصلاً.

6 دقائق قراءة
Recursion و Stack Overflow في JavaScript للمبتدئ: ليه fact(100000) بيقع Node
مبتدئ٨ مايو ٢٠٢٦

Recursion و Stack Overflow في JavaScript للمبتدئ: ليه fact(100000) بيقع Node

لو دالة recursive عندك في Node بتكسر السيرفر مع inputs كبيرة وبيرجع لك Maximum call stack size exceeded، المشكلة مش في الكود — المشكلة في حدود الـ Call Stack نفسه. شرح للمبتدئ بمثال طاقم الأطباق، تعريف علمي دقيق لـ V8 frames، كود JavaScript شغّال يقيس الحد الأقصى على Node 22، 3 حلول عملية (iteration، trampoline، --stack-size)، أرقام مقاسة فعلياً، trade-offs، وحالات لا تستخدم recursion فيها.

5 دقائق قراءة
Hoisting في JavaScript للمبتدئ: ليه console.log(x) بيطبع undefined قبل تعريف x
مبتدئ٨ مايو ٢٠٢٦

Hoisting في JavaScript للمبتدئ: ليه console.log(x) بيطبع undefined قبل تعريف x

لو كتبت console.log(x) قبل ما تعرّف x وفوجئت إن المتصفح طبع undefined بدل ما يكسر، ده مش غلط في Node ولا الـ browser. ده سلوك اسمه Hoisting. شرح للمبتدئ بمثال دفتر الفهرس، تعريف علمي دقيق لـ Execution Context و Variable Environment، الفرق العملي بين var و let و const، فخ function expression، سيناريو bug حقيقي وفّر 3 ساعات debugging، trade-offs، ومتى ما يهمكش الموضوع.

6 دقائق قراءة
Trie (شجرة المقاطع) للمبتدئ: ازاي محرّك البحث بيكمّل كلمتك في 0.4 مللي ثانية
مبتدئ٨ مايو ٢٠٢٦

Trie (شجرة المقاطع) للمبتدئ: ازاي محرّك البحث بيكمّل كلمتك في 0.4 مللي ثانية

لو بتكتب prog في صندوق البحث وفي 0.4 ms بتظهرلك 10 اقتراحات بدأ كلهم بـ prog، ده مش لأن السيرفر بيمر على كل الكلمات. ده هيكل بيانات اسمه Trie. مقال للمبتدئ بمثال القاموس، تعريف علمي دقيق لـ Prefix Tree، كود Python 3.12 شغّال على 100 ألف كلمة من NLTK، أرقام مقاسة بـ timeit (78.40 ms مقابل 0.41 ms)، 3 استخدامات حقيقية (autocomplete, spell checker, IP routing)، الفخ الكلاسيكي، trade-offs الذاكرة، ومتى لا تستخدمه فيها.

8 دقائق قراءة
Generators في Python للمبتدئ: اقرا ملف 10GB بـ 8 ميجا رام بدل 10 جيجا
مبتدئ٨ مايو ٢٠٢٦

Generators في Python للمبتدئ: اقرا ملف 10GB بـ 8 ميجا رام بدل 10 جيجا

لو حاولت تقرا ملف log حجمه 10 جيجا بـ readlines() السيرفر بياكل 10 جيجا رام في 4 ثواني وبيقع بـ MemoryError. Generators بكلمة واحدة yield بتخلّيك تقرا نفس الملف بـ 8 ميجا رام بس. مقال للمبتدئ بمثال المخبز، تعريف علمي من PEP 255، كود Python 3.12 شغّال يقرا ملف 10GB، أرقام مقاسة بـ tracemalloc، 3 استخدامات إنتاج (logs، API streaming، pipelines)، الفخ الكلاسيكي للاستهلاك مرتين، trade-offs، وحالات لا تستخدم generators فيها.

7 دقائق قراءة
Python Generators للمبتدئ: اقرأ ملف 50GB بـ 8MB رام بدل ما السيرفر يقع
مبتدئ٨ مايو ٢٠٢٦

Python Generators للمبتدئ: اقرأ ملف 50GB بـ 8MB رام بدل ما السيرفر يقع

لو سيرفر Python بتاعك بيقع OOM لمّا بتفتح ملف لوج 50GB، المشكلة مش في الـ RAM. سطر واحد اسمه yield بينزّل استهلاك الذاكرة من 50GB لـ 8MB بدون ما يمسّ السرعة. شرح للمبتدئ بمثال الشيف، تعريف علمي من PEP 255، كود Python 3.12 شغّال، أرقام مقاسة على ملف 52GB، أخطاء شائعة، trade-offs، وحالات لا تستخدمها فيها.

6 دقائق قراءة
Memoization للمبتدئ: ازاي تخلي fibonacci(40) ينفّذ في 0.3ms
مبتدئ٨ مايو ٢٠٢٦

Memoization للمبتدئ: ازاي تخلي fibonacci(40) ينفّذ في 0.3ms

لو fibonacci(40) عندك بياخد ثانية ونصف، المشكلة مش الـ CPU. نفس الرقم بيتحسب 165 مليون مرة. سطر واحد اسمه Memoization بينزّل الزمن لـ 0.3 مللي ثانية. شرح للمبتدئ بمثال المكتبة، تعريف علمي، كود JavaScript شغّال على Node 22، أرقام مقاسة، trade-offs الذاكرة، وحالات لا تستخدمه فيها.

5 دقائق قراءة
Big O Notation للمبتدئ: ليه كودك يبطّأ مع كبر البيانات
مبتدئ٨ مايو ٢٠٢٦

Big O Notation للمبتدئ: ليه كودك يبطّأ مع كبر البيانات

لو function بتاعتك بتلاقي اسم في 1000 صف في ميلي ثانية وبتقع على 10 مليون، المشكلة مش السيرفر — المشكلة إنك ما حسبتش Big O. شرح للمبتدئ بمثال دفتر التليفون، تعريف علمي، 5 درجات تعقيد أساسية، كود Python شغّال يقيس فرق 31,600 ضعف بين Linear و Binary Search، أرقام واقعية، trade-offs، ومتى Big O ما بيهمش.

5 دقائق قراءة

عرض 37 - 45 من 62 مقال

السابق
1
2
3
4
5
6
7
التالي