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

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

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

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

المنصة

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

الدعم

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

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

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

المدونة

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

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

Redis Pipelining بالعربي: 1000 طلب في رحلة شبكة واحدة

لو تطبيقك بيكتب 1000 مفتاح في Redis في loop وبياخد 4 ثواني، Redis مش بطيء — الـ latency بياكل الأداء بين كل أمر والتاني. Pipelining بينزّل الزمن ده لـ 80ms على نفس السيرفر بسطر واحد. مقال للمستوى المتوسط بمثال السوبر ماركت، تعريف علمي دقيق، كود Python شغّال على redis-py، أرقام مقاسة فعليًا، trade-offs، وحالات ما تستخدمهوش فيها.

6 دقائق قراءة
Keyset Pagination بالعربي: ليه LIMIT OFFSET بيبطّأ على الصفحة 10000
متوسط٢٩ أبريل ٢٠٢٦

Keyset Pagination بالعربي: ليه LIMIT OFFSET بيبطّأ على الصفحة 10000

لو endpoint عندك بيرد في 40ms على أول صفحة وبياخد 8 ثواني على الصفحة 10000، المشكلة مش الـ DB ولا الـ index. المشكلة إنك بتستخدم LIMIT OFFSET. مقال للمستوى المتوسط بمثال طابور المخبز، تعريف علمي دقيق لـ Keyset Pagination و B-tree seek، كود SQL وPython شغّال، أرقام مقاسة على PostgreSQL 16 لجدول 500K صف، trade-offs واضحة، وحالات لا تستخدمه فيها.

6 دقائق قراءة
BRIN Index في PostgreSQL: index بـ 12MB بدل 2.4GB لجدول 800 مليون صف
متوسط٢٩ أبريل ٢٠٢٦

BRIN Index في PostgreSQL: index بـ 12MB بدل 2.4GB لجدول 800 مليون صف

لو جدول الـ events عندك بقى 800 مليون صف وB-tree index على عمود created_at بياكل 2.4GB ولسه بياخد 9 ثواني في range query، المشكلة مش الـ I/O. المشكلة إنك بتدفع تكلفة index مش مناسب لطبيعة الداتا. BRIN index بيوفّر 99% من الحجم على نفس الجدول وبيخلي الاستعلام يتنفذ في 380ms — بشرط تفهم هو بيشتغل إزاي وإمتى لا يصلح.

5 دقائق قراءة
React Virtualization: ارسم قائمة 10,000 صف بدون ما الواجهة تتجمّد
متوسط٢٩ أبريل ٢٠٢٦

React Virtualization: ارسم قائمة 10,000 صف بدون ما الواجهة تتجمّد

لو جدول React بـ 10,000 صف بياخد 4 ثواني في أول رسم وكل scroll بيعلّق نص ثانية، المشكلة مش React. المشكلة إنك بترسم 60,000 عقدة DOM دفعة واحدة. List Virtualization بيخلي الـ DOM فيه 30 صف فقط ويحافظ على scrollbar صحيح. مقال للمستوى المتوسط بمثال السينما، تعريف علمي، كود react-window شغّال، أرقام قياس فعلية، trade-offs، وحالات لا تنفع فيها.

5 دقائق قراءة
Backpressure في Node.js Streams: ليه السيرفر بياكل 4GB رام عند رفع ملف 500MB
متوسط٢٨ أبريل ٢٠٢٦

Backpressure في Node.js Streams: ليه السيرفر بياكل 4GB رام عند رفع ملف 500MB

لو سيرفر Node.js بيقع OOM لما حد يرفع ملف 500MB والذاكرة بتطلع لـ 4GB، المشكلة مش الذاكرة ولا حجم الملف. المشكلة إن الكود بيتجاهل backpressure في الستريم. شرح للمستوى المتوسط بمثال المطبخ، تعريف علمي، كود pipe vs pipeline، أرقام قياس فعلية، trade-offs، وحالات لا تستخدم فيها.

4 دقائق قراءة
خطوط الويب: امنع CLS بقيمة 0.24 وحمّل الخط في 80ms بدل 480ms
متوسط٢٧ أبريل ٢٠٢٦

خطوط الويب: امنع CLS بقيمة 0.24 وحمّل الخط في 80ms بدل 480ms

لو الصفحة بتقفز وتعيد ترتيب نفسها لما الخط العربي يخلّص تحميل، CLS بيوصل 0.24 وLCP بيتأخر نصف ثانية. ضبط font-display مع subsetting وpreload يحل المشكلة بدون لمس التصميم — مع أرقام مقاسة وtrade-offs واضحة.

5 دقائق قراءة
N+1 Query Problem: ليه ORM بياخد 1001 طلب SQL بدل اتنين
متوسط٢٧ أبريل ٢٠٢٦

N+1 Query Problem: ليه ORM بياخد 1001 طلب SQL بدل اتنين

لو endpoint بيرجع قائمة 1000 طلبية بياخد 8 ثواني والـ DB CPU مرتفع، المشكلة غالبًا مش في الـ index ولا السيرفر. المشكلة إن الـ ORM بيعمل 1001 طلب SQL بدل اتنين. مقال للمستوى المتوسط بمثال للمبتدئ، تعريف علمي، كود Python/SQLAlchemy وDjango شغّال، أرقام قياس فعلية، حلول joinedload وselectinload وDataLoader، trade-offs، وحالات ما تستخدمهوش فيها.

6 دقائق قراءة
Brotli vs gzip: وفّر 21% من حجم JavaScript قبل ما يوصل المتصفح
متوسط٢٧ أبريل ٢٠٢٦

Brotli vs gzip: وفّر 21% من حجم JavaScript قبل ما يوصل المتصفح

لو bundle الـ JavaScript بتاعك بيوصل للزائر 348KB مضغوط بـ gzip، Brotli بيوصّله لـ 251KB بنفس الكود وبدون لمس الـ build. شرح للمستوى المتوسط مع أرقام مقاسة على ملف حقيقي، إعداد NGINX، ضبط Cloudflare، trade-offs واضحة، وحالات لا تستخدم Brotli فيها.

6 دقائق قراءة
Memory Leak في Node.js: ازاي تكشفها بـ Heap Snapshot قبل ما السيرفر يقع
متوسط٢٧ أبريل ٢٠٢٦

Memory Leak في Node.js: ازاي تكشفها بـ Heap Snapshot قبل ما السيرفر يقع

لو سيرفر Node.js عندك بيكبر من 240MB لـ 2.8GB في 4 أيام لحد ما بيقع OOM، Heap Snapshot في Chrome DevTools بيوريك بالظبط الـ object اللي بيتراكم. مثال للمستوى المتوسط بكود حقيقي وأرقام قبل وبعد الإصلاح.

5 دقائق قراءة

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

السابق
1
…4
5
6
…8
التالي