مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو صفحة تعرض إجمالي الصفوف بتعلّق ثواني، المشكلة مش في السيرفر. المقال للمحترف يشرح ليه COUNT(*) بيعمل فحص تسلسلي كامل، وينزّل الزمن من ~9.4 ثانية لـ ~3 مللي ثانية بتقدير reltuples وعدّاد مُصان بـ trigger، مع SQL شغّال، أرقام مقاسة، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
endpoint بيرجّع قائمة وبيبطأ كل ما الداتا تكبر؟ غالبًا السبب مشكلة N+1: استعلام منفصل لكل صف. اكتشفها بعدّاد الاستعلامات وحلّها بـ select_related وJOIN لتنزيل الزمن من ~1240 إلى ~48 مللي ثانية.
لو حزمة JavaScript بتاعتك أكبر من ميجابايت والموقع بطيء، تقسيم الكود وTree Shaking بينزّلوا أول تحميل بنسبة تقارب 80%. شرح بمثال بسيط ثم دقيق، كود Vite وdynamic import شغّال، أرقام قبل وبعد، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
لو صفحتك بتفضل بيضا ثوانٍ قبل ما تظهر، غالبًا وسم script واحد في الـ head هو السبب. المقال يشرح للمبتدئ ليه جافاسكريبت بيوقف الرسم بمثال المطعم، ثم علميًا، مع كود قابل للنسخ، الفرق بين async و defer، أرقام قبل وبعد (2.6s ← 0.9s)، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
الكاش بيحميك 99% من الوقت، والخطر في الـ 1%: لحظة انتهاء مفتاح ساخن بيندفع آلاف الطلبات على قاعدتك دفعة واحدة. المقال يشرح انهيار الكاش (Cache Stampede) بمثال بسيط ثم علميًا، مع كود Redis شغّال لنمط single-flight مع jitter، أرقام (من 9600 استعلام إلى واحد)، وطريقة XFetch، الـ trade-offs، ومتى لا تستخدمه، مع مصادر.
إدخال 100 ألف صف صفًا بصف بياخد دقايق لأن كل صف رحلة كاملة للسيرفر. اجمعهم في دفعات وامسح أغلب الزمن. شرح للمبتدئ بمثال بسيط، كود SQL وPython شغّال، أرقام تقديرية، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
لو البحث عن مستخدم بالإيميل بياخد نص ثانية على مليون صف، المشكلة مش في السيرفر. سطر CREATE INDEX واحد بينزّل الزمن من 480 لـ 0.9 مللي ثانية. شرح للمبتدئ بمثال بسيط ثم علميًا، مع كود وقياس وtrade-offs.
صفحتك بطيئة بسبب الصور؟ حوّل JPEG وPNG لـ WebP وAVIF، واستخدم وسم picture والتحميل الكسول، وانزل بحجم الصفحة من 5.8 ميجا لـ 720 كيلوبايت وزمن التحميل من 6 ثواني لثانية. دليل للمبتدئ بأمثلة وأوامر جاهزة وأرقام ومصادر.
لو نص صفحتك يختفي أو يقفز وقت التحميل، المشكلة في طريقة تحميل الخط. اضبط font-display والتحميل المسبق والتقليم لتنزيل حجم الخط من 280KB لـ 68KB وتحسين LCP من 2.6s لـ 1.1s.