مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
regex فيه nested quantifier زي ^(a+)+$ يقدر يطلّع المعالج 100% ويوقّع السيرفر بإدخال 30 حرف بس. مقال للمتوسط يشرح catastrophic backtracking بمثال بسيط ثم علميًا، كود Node شغّال، أرقام مقاسة، حل بإعادة كتابة الـ regex وبـ RE2، trade-offs، ومتى متقلقش، مع مصادر من OWASP وCloudflare وStack Overflow.
لو عميل ضغط زر الدفع مرتين أو الشبكة أعادت الطلب، ممكن يتخصم منه مرتين. مفتاح Idempotency-Key بيخلّي الطلب المكرر يرجّع نفس الرد بدون خصم جديد. مقال للمتوسط بمثال شباك التذاكر، تعريف من Stripe و IETF، كود Express و PostgreSQL و Redis شغّال، أرقام، trade-offs، ومتى متستخدمهوش.
لو جمعت 0.1 + 0.2 ولقيت الناتج 0.30000000000000004، ده مش bug ولا غلطة في لغتك. المقال يشرح السبب بمثال بسيط، يفكك معيار IEEE 754، ويديك 3 حلول شغّالة لحسابات الفلوس والقياسات.
لو موقع الحجز عندك سمح لاتنين عملاء يدفعوا على نفس المقعد، المشكلة مش في الـ payment gateway. المشكلة في 3 سطور Check-Then-Act فيهم Race Condition. مقال للمبتدئ بمثال سينما المقعد الواحد، تفسير علمي لإزاي PostgreSQL بيشغّل queries بالتوازي، كود Node.js + SQL شغّال على PostgreSQL 16 لـ 3 حلول (SELECT FOR UPDATE، Optimistic Locking، Atomic UPDATE)، أرقام مقاسة على 1,000 طلب متزامن، trade-offs خفية، ومتى ممكن تتجاهل المشكلة من أصلها.
لو كودك بيشتغل تمام على 100 صف ويقع على 100 ألف، المشكلة مش في السيرفر — المشكلة في رتبة الخوارزمية. مقال للمبتدئ بمثال طرق المواصلات اليومية، تعريف علمي من كتاب CLRS، كود Python 3.12 شغّال يقارن list بـ set (1.42ms مقابل 0.00018ms، فرق 7800 ضعف)، 3 قواعد لحساب Big O في رأسك، 4 trade-offs خفية، ومتى Big O مش هي اللي تركز عليها.
لو search box عندك بيبعت 11 طلب fetch لكل كلمة بـ 8 حروف، انت بتدفع 91% من بضاعة السيرفر هباءً. مقال للمتوسط بمثال زر المصعد للمبتدئ، تعريف من Lodash، كود JavaScript شغّال لـ debounce و throttle، أرقام مقاسة من search input (11 طلب → 1 طلب)، فرق دقيق بين الاتنين، 4 trade-offs خفية، ومتى debounce يبقى اختيار غلط.
لو الـ web crawler عندك بيعمل DB query لكل URL جديد علشان يتأكد إنه ما اتزارش، انت بتدفع 4ms في كل lookup. Bloom Filter بيوفّر 99.07% من الـ queries في 64MB RAM، مع 0.93% false positive rate فقط، مقاس على 50 مليون URL من Common Crawl.
لو سكربت Python بياكل 47 جيجا رام بسبب list واحدة، Generators بكلمة yield بتنزّل الذاكرة لـ 12 ميجا بدون تغيير في الـ infrastructure. مقال للمتوسط بمثال المكتبة العامة للمبتدئ، شرح علمي من PEP 255 وتوثيق Python 3.13، كود قابل للنسخ، أرقام مقاسة على ملف 50GB، Generator Expressions، Pipeline من 3 generators متربطين، 4 trade-offs خفية، ومتى Generators يكون اختيار غلط.
لو جربت Rust ولقيت الكومبايلر بيرفض كودك بخطأ cannot borrow as mutable، انت بتقابل أهم ميزة في اللغة: الـ Borrow Checker. مقال للمبتدئ بمثال مفتاح الشقة، 3 قواعد Ownership بترتيب أولوية، كود Rust شغّال على rustc 1.83، أرقام مقاسة Rust vs Go (1.24M req/sec vs 412K)، شرح علمي من The Rust Book و RFC 2025، 4 trade-offs خفية، ومتى Rust بيكون اختيار غلط.