مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو السيرفر بيتجمد عند 300 اتصال متزامن على PostgreSQL، المشكلة مش في الـ DB. كل اتصال جديد بياكل 10MB رام و3-5ms في الـ handshake. PgBouncer بيخلّي 10,000 عميل يستخدموا 100 اتصال DB بسطر إعداد. شرح للمستوى المتوسط/المحترف بمثال السوبر ماركت، الأوضاع الثلاثة (session/transaction/statement)، إعداد شغّال، أرقام مقاسة، trade-offs، وحالات لا يصلح فيها.
لو endpoint التسجيل بيعمل SELECT على جدول 10 مليون صف لكل request، الـ DB بياكل 8ms في كل مرة. Bloom Filter بينزّل ده لـ 50 ميكروثانية في 1.2MB ذاكرة بدون lookup للـ DB، مقابل false positive 1%. شرح للمستوى المتوسط بمثال دفتر المدرسة للمبتدئ، تعريف علمي دقيق من ورقة Burton Bloom 1970، رياضة k_optimal، كود Python 3.12 شغّال على mmh3 و bitarray، أرقام مقاسة فعليًا، نمط Bloom-قبل-DB، trade-offs الحذف، وحالات لا تستخدمه فيها.
لو الـ RAG بتاعك بيرجع 5 مستندات والإجابة الصح ترتيبها 4 أو 5، الموديل بيتجاهلها وبيرد من الأولين. Reranking بيحل ده بطبقة Cross-Encoder بتعيد الترتيب قبل ما السياق يوصل للموديل. مقال للمستوى المتوسط بمثال السوبرماركت للمبتدئ، تعريف علمي لـ Bi-Encoder مقابل Cross-Encoder، كود Python شغّال على bge-reranker-v2-m3، أرقام BEIR وأرقام إنتاج (62% → 91%)، trade-offs الـ latency، وحالات لا تستخدم Reranking فيها.
لو عندك Array فيها مليون رقم وبتدوّر على زوج مجموعهم يساوي قيمة محددة، الكود التقليدي بـ nested loops بياخد 47 ثانية. Two-Pointer بيخلّيها 83 مللي ثانية بدون أي مكتبة. شرح للمبتدئ بمثال رف الكتب، تعريف علمي دقيق، كود Python 3.12 شغّال على Array مليون عنصر، أرقام مقاسة بـ timeit، 3 استخدامات حقيقية (Palindrome، Remove Duplicates، Container With Most Water)، trade-offs، وحالات لا تستخدمها فيها.
لو search box عندك بيرسل request جديد لكل حرف بيكتبه المستخدم، فا الـ 8 أحرف بتولّد 8 طلبات، والسيرفر بيشتغل بنسبة 80% فاضي. الحل سطر واحد اسمه Debounce. مقال للمبتدئ بمثال المصعد، تعريف علمي لـ Debounce و Throttle، كود JavaScript شغّال على Node 22 ومتصفح Chrome، أرقام مقاسة بـ performance.now، الفرق بين الاتنين بمواقف حقيقية، trade-offs، وحالات لا تستخدمهم فيها.
لو الـ API بتاعك بيتعرّض لـ 50 ألف طلب في الثانية ومحتاج تمنع زبون واحد من ابتلاع الموارد، Redis SETEX بيكلّفك 1.2 مللي ثانية لكل طلب من round-trip للشبكة. Token Bucket في الذاكرة بينزّل الزمن ده لـ 78 ميكروثانية. مقال للمحترف بمثال ماكينة الكافيه للمبتدئ، تعريف علمي دقيق، كود Python 3.12 شغّال مع threading.Lock، أرقام مقاسة بـ wrk، الفرق بين Token Bucket و Leaky Bucket و Sliding Window، trade-offs، وحالات لا تستخدمه فيها.
لو بتعدّل صف في PostgreSQL وبتبعت event لـ Kafka في نفس الـ request، يوم بيجي والشبكة بتتقطع بين الكتابتين، الـ DB بتتحدّث والـ event بيضيع. Outbox Pattern بيحل ده بترانزاكشن واحد بدل اتنين. مقال للمستوى المتوسط بمثال مكتب البريد للمبتدئ، تعريف علمي دقيق، كود Python+PostgreSQL شغّال على FOR UPDATE SKIP LOCKED، أرقام مقاسة من إنتاج 800 event/sec، الفرق بين Polling و Debezium CDC، trade-offs، وحالات لا تستخدمه فيها.
لو كل deploy على Kubernetes بياخد منك 10 أوامر kubectl وفي drift صامت بين الـ cluster والـ Git، GitOps بـ ArgoCD بيخلّي الـ cluster ينعكس تلقائياً من Git خلال 3 دقائق. شرح للمتوسط بمثال السكرتير للمبتدئ، تعريف علمي لـ OpenGitOps Principles v1.0، 6 خطوات قابلة للنسخ لنشر nginx من Git، أرقام مقاسة من فريق نشر 28 service، trade-offs الذاكرة ومنحنى التعلم، و3 حالات لا تستخدمها فيها.
لو سألت Claude عن سياسة شركتك الداخلية وجاوبك بكلام معقول الشكل لكنه مخترَع، المشكلة مش الموديل. الموديل ما يعرفش ملفاتك أصلاً. RAG بيحل المشكلة بفكرة بسيطة: قبل ما تسأل، هاتله الإجابة من ملفاتك الأول. مقال للمبتدئ بمثال أمين المكتبة، تعريف علمي دقيق لـ Retrieval/Augmentation/Generation، كود Python شغّال على Anthropic SDK، أرقام Stanford HAI لقياس الهلوسة، trade-offs واضحة، وحالات لا تستخدم RAG فيها أصلاً.