المدونة
مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
ليه SELECT COUNT(*) بطيء على الملايين، وإزاي تعدّه في مللي ثانية
لو صفحة تعرض إجمالي الصفوف بتعلّق ثواني، المشكلة مش في السيرفر. المقال للمحترف يشرح ليه COUNT(*) بيعمل فحص تسلسلي كامل، وينزّل الزمن من ~9.4 ثانية لـ ~3 مللي ثانية بتقدير reltuples وعدّاد مُصان بـ trigger، مع SQL شغّال، أرقام مقاسة، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
Base64 ببساطة: ليه الصورة بتتحوّل لنص طويل والملف بيكبر 33%
لو رفعت صورة في رسالة أو خزّنتها جوه JSON ولقيتها اتحوّلت لنص غريب وكبرت الثلث، ده مش باج. المقال يشرح ترميز Base64 بمثال بسيط ثم علميًا، مع كود بايثون شغّال، سبب زيادة الحجم 33% بالأرقام، الـ trade-off، ومتى لا تستخدمه، مع مصادر رسمية.
البحث الهجين (Hybrid Search): ليه البحث الدلالي لوحده بيفوّت النتيجة الحرفية
لو بحثك الدلالي بيفوّت المقالة اللي فيها كود الخطأ أو رقم الموديل بالظبط، المشكلة في طبيعة الـ embeddings مش في السيرفر. المقال للمتوسط يشرح البحث الهجين بمثال بسيط ثم علميًا، مع دمج BM25 والمتجهات بـ RRF في أقل من 30 سطر Python، أرقام من BEIR، الـ trade-offs، ومتى لا تستخدمه، مع مصادر.
تقطيع المستندات في RAG: ليه إجابات نموذجك بتطلع ناقصة والسبب في الـ Chunking
لو نظام RAG بيرجّع إجابات ناقصة رغم إن المعلومة موجودة، المشكلة غالبًا في تقطيع النص مش في الـ embedding. المقال يشرح التقطيع للمتوسط بمثال بسيط ثم علميًا، مع كود LangChain شغّال، أرقام recall قبل وبعد، الـ trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
الـ Embeddings: إزاي الذكاء الاصطناعي بيحوّل الكلام لأرقام؟
إزاي ChatGPT ومحركات البحث الدلالي بتعرف إن "قطة" أقرب لـ"كلب" من "سيارة"؟ السر في الـ Embeddings. شرح للمبتدئ بمثال خريطة الكلمات ثم علميًا، مع قياس التشابه بجيب التمام، كود Python شغّال، سيناريو بحث على 50 ألف منتج، الـ trade-offs، ومتى لا تستخدمها، مع مصادر.
ليه بيطلعلك FATAL: too many clients؟ وحلّها بـ PgBouncer
اتصالات PostgreSQL بتقع بخطأ too many clients تحت الحِمل؟ المشكلة مش في السيرفر. اعرف ليه كل اتصال غالي، وإزاي PgBouncer بوضع transaction يخدم آلاف العملاء بعشرين اتصال خلفي، مع pgbouncer.ini جاهز، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر رسمية.
الفرق بين is و== في بايثون: ليه a is b بيطلع False والقيمتين متساويتين
لو استخدمت is بدل == في بايثون، كودك ممكن يشتغل صح بالصدفة على أرقام صغيرة ويفشل فجأة على رقم أكبر. المقال يشرح الفرق للمبتدئ بمثال بسيط ثم علميًا، مع كود شغّال، سبب انقلاب النتيجة عند 256، القاعدة الصح، ومتى تستخدم كل واحد، مع مصادر رسمية.
الـ Race Condition: ليه العدّاد بيضيّع أرقام لما خيطين يزوّدوه في نفس اللحظة
لو عدّاد الزيارات أو الرصيد بيطلع أقل من الصح تحت الضغط، المشكلة مش في الداتابيز. شرح الـ Race Condition بمثال بسيط ثم علميًا، مع كود Python يصنع المشكلة ويقيسها، الحل بالـ Lock وبالعمليات الذرّية بالأرقام، الـ trade-off، ومتى لا تشغل بالك، مع مصادر رسمية.
أتمتة كشف الاختبارات المتذبذبة: امسك flaky tests قبل ما تفقد ثقة فريقك
الاختبار اللي بينجح مرة ويفشل مرة بيخلّي فريقك يتجاهل الأحمر. ابنِ أوتوميشن يشغّل السويت 15 مرة كل ليلة، يحسب نسبة تذبذب كل اختبار، وينبّه Slack — بلوب Bash وسكربت Python وworkflow جاهز، أرقام، trade-offs، ومتى لا تستخدمه، مع مصادر.
المخرجات المنظّمة: خلّي نموذجك يرجّع JSON صالح كل مرة
لو رد النموذج بيتكسر في json.loads من وقت للتاني، المشكلة إنك بتطلب JSON بدل ما تجبره عليه. المقال للمستوى المتوسط يشرح المخرجات المنظّمة بمثال بسيط ثم علميًا بفك التشفير المقيّد، مع كود Pydantic شغّال، رقم 100% مقابل 35.9%، الـ trade-offs، ومتى لا تستخدمها، مع مصادر رسمية.