أحمد حايس
الرئيسيةمن أناالدوراتالمدونةالعروض
أحمد حايس

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

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

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

المنصة

  • الرئيسية
  • من أنا
  • الدورات
  • العروض
  • المدونة

الدعم

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

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

الرئيسيةالدوراتالعروضالمدونةالدخول

المدونة

مقالات ودروس مجانية تساعدك في رحلتك التعليمية — من أساسيات البرمجة إلى أحدث التقنيات.

الكلDevOps بالعربيHow To Make ItOptimizing بالعربيأحدث أخبار التكنولوجياالأوتوميشنالبرمجة بالعربيالذكاء الاصطناعي
Debounce و Throttle بالعربي: إمتى تستخدم كل واحد في JavaScript
١٩ أبريل ٢٠٢٦

Debounce و Throttle بالعربي: إمتى تستخدم كل واحد في JavaScript

لو بتعمل search box بيبعت request مع كل حرف، أو scroll handler بيتنادى 60 مرة في الثانية، بتحرق CPU المستخدم من غير فايدة. Debounce و Throttle هما الحل، لكن كل واحد ليه دوره. شرح بمثال بسيط جدًا لمبتدئين، بعدين التعريف العلمي، كود شغّال، قياسات حقيقية، وحالات ما تنفعش فيها.

⏱ 5 دقائق قراءة
Floating Point بالعربي: ليه 0.1 + 0.2 ≠ 0.3 وإزاي بتخسر فلوس
١٩ أبريل ٢٠٢٦

Floating Point بالعربي: ليه 0.1 + 0.2 ≠ 0.3 وإزاي بتخسر فلوس

لو جربت 0.1 + 0.2 في JavaScript أو Python الناتج بيطلع 0.30000000000000004 مش 0.3. ده مش bug في اللغة، ده سلوك معياري في IEEE 754 موجود في كل لغة تقريبًا. المقال يشرح القصة من الصفر بمثال بسيط، ثم التفسير العلمي الدقيق، مع سيناريو خسارة فلوس حقيقية، كود JS/Python شغّال، 4 طرق علاج موثّقة، وحالات ما تنفعش فيها.

⏱ 5 دقائق قراءة
Cursor Pagination بالعربي: ليه OFFSET بيبطأ مع كل صفحة جديدة
١٩ أبريل ٢٠٢٦

Cursor Pagination بالعربي: ليه OFFSET بيبطأ مع كل صفحة جديدة

لو عندك جدول 10 مليون صف، الـ LIMIT 20 OFFSET 10000 بتاعتك مش بتتخطى 10,000 سجل — هي فعليًا بتقرأهم كلهم قبل ما ترميهم. Cursor Pagination بيثبت الزمن على 2ms بدل ما يوصل 1800ms في الصفحات البعيدة. كود PostgreSQL + Node.js شغّال، قياس فعلي، ومتى لا تستخدمها.

⏱ 6 دقائق قراءة
LRU Cache بالعربي: نفّذها من الصفر في 40 سطر بـ O(1)
١٩ أبريل ٢٠٢٦

LRU Cache بالعربي: نفّذها من الصفر في 40 سطر بـ O(1)

كل cache لازمله سياسة إزالة. LRU هي الأشهر. المقال يشرح الفكرة بمثال رف الألعاب، ثم ينفّذها من الصفر بـ HashMap + Doubly Linked List في 40 سطر Python، مع قياس فعلي وحالات ما تنفعش فيها ومصادر رسمية.

⏱ 5 دقائق قراءة
Hash Collisions: ليه الـ HashMap بيتحوّل من O(1) لـ O(N) فجأة
١٩ أبريل ٢٠٢٦

Hash Collisions: ليه الـ HashMap بيتحوّل من O(1) لـ O(N) فجأة

الـ HashMap مش دايمًا O(1). لو الـ hash function ضعيفة أو المهاجم بيبعت مفاتيح خبيثة، كل الإدخالات بتقع في bucket واحد وسرعة الـ lookup بتطلع من نانو ثانية لـ ثواني. شرح مبسّط بمثال المكتبة، كود Java/Python شغّال، قياس فعلي، وحالات هجوم HashDoS حقيقية مع المصادر.

⏱ 7 دقائق قراءة
Python Context Managers بالعربي: خلي with تقفل الملفات والاتصالات بدالك
١٩ أبريل ٢٠٢٦

Python Context Managers بالعربي: خلي with تقفل الملفات والاتصالات بدالك

لو بتفتح ملف أو اتصال قاعدة بيانات بدون with وبتنسى تقفله، الـ file descriptors بتخلص والسيرفر بيقع بعد ساعات. Context manager بيقفل المورد تلقائيًا حتى لو الكود رمى استثناء. كود شغّال، بروتوكول __enter__ و __exit__ بالتفصيل، ومصادر رسمية.

⏱ 6 دقائق قراءة
Node.js Streams: اقرا ملف 10GB وذاكرتك 512MB بس
١٩ أبريل ٢٠٢٦

Node.js Streams: اقرا ملف 10GB وذاكرتك 512MB بس

لو جربت تقرا ملف 10GB بـ fs.readFile الـ Node بيقع بـ ENOMEM حتى لو عندك 16GB RAM. Streams بتحل المشكلة بـ chunk صغير بدل الملف كامل، وبتخلي استهلاك الذاكرة ثابت. كود شغال، أرقام قياس حقيقية، وحالات ما تستخدمهاش فيها.

⏱ 5 دقائق قراءة
Trie بالعربي: autocomplete على مليون كلمة بـ O(L) بدل O(N)
١٩ أبريل ٢٠٢٦

Trie بالعربي: autocomplete على مليون كلمة بـ O(L) بدل O(N)

لو عندك search box بيقترح كلمات من قاموس مليون كلمة، Array.filter بياخد 180ms في كل ضغطة. Trie بيعمل نفس النتيجة في 0.4ms، لكن بياكل ذاكرة 4× أكتر. كود JavaScript شغّال، قياس حقيقي، وحالات ما ينفعش فيها.

⏱ 4 دقائق قراءة
Go Channels بالعربي: تواصل بين Goroutines من غير Mutex ولا Race Conditions
١٩ أبريل ٢٠٢٦

Go Channels بالعربي: تواصل بين Goroutines من غير Mutex ولا Race Conditions

في Go، لما تحتاج أكتر من goroutine تشتغل على نفس البيانات، الـ mutex مش دايمًا الحل. Channels بتخلّيك تنقل الملكية بدل ما تقفل — بأرقام، وكود worker pool شغّال، وحالات الـ mutex فيها أسرع بـ 4 أضعاف.

⏱ 5 دقائق قراءة

عرض 172 - 180 من 195 مقال

السابق
1
…19
20
21
22
التالي

مدونة أحمد حايس

💡

ملخص سريع

مدونة أحمد حايس تجيب عن أسئلة مثل كيف أتعلم البرمجة أو التكنولوجيا أو الذكاء الاصطناعي، وتحوّل المفاهيم التقنية إلى مقالات عربية عملية واضحة.

الأسئلة الشائعة