المدونة
مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
المولّدات (Generators) في بايثون: اقرأ ملف 1.6 جيجا بذاكرة 4 ميجا
لو سكربت بيقرا ملف كبير بيضرب MemoryError، المشكلة إنك بتحمّله كله في الرام. المقال يشرح مولّدات بايثون وyield بمثال بسيط ثم علميًا، مع كود مقيس بـ tracemalloc يقرأ 1.6 جيجا بذروة 4 ميجا، الـ trade-offs، ومتى لا تستخدمها، مع مصادر.
مشكلة N+1: ليه صفحة واحدة بتعمل 101 استعلام على قاعدة البيانات
endpoint بيرجّع قائمة وبيبطأ كل ما الداتا تكبر؟ غالبًا السبب مشكلة N+1: استعلام منفصل لكل صف. اكتشفها بعدّاد الاستعلامات وحلّها بـ select_related وJOIN لتنزيل الزمن من ~1240 إلى ~48 مللي ثانية.
اعمل مصادقة JWT بـ Access و Refresh Token في Node.js مع تدوير آمن
دليل تنفيذي يبني مصادقة JWT في Node.js تفصل توكن وصول قصير (15 دقيقة) عن توكن تجديد يتدوّر مع كل استخدام ويكتشف إعادة الاستخدام، بكود Express جاهز للنسخ، أرقام، مقايضات، ومتى لا تستخدمه، مع مصادر رسمية.
متوسط زمن الاستجابة بيكذب: قيس p95 وp99 صح بالـ Histogram
المتوسط ممكن يقول إن زمن استجابتك 91 مللي ثانية، بينما 5% من مستخدميك بيستنوا أكتر من 210. المقال يشرح ليه المتوسط بيخبّي أبطأ المستخدمين، وإزاي تقيس p95 وp99 صح بـ Prometheus Histogram وPromQL، بمثال وكود وأرقام ومصادر رسمية.
آلية الانتباه الذاتي: إزاي النموذج بيعرف إن كلمة (هي) بتقصد مين؟
كل كلمة في نموذج اللغة بتبص على كل الكلمات وتقرّر مين المهم ليها. المقال يشرح آلية الانتباه الذاتي (Self-Attention) للمتوسط بمثال الحفلة المزدحمة ثم علميًا بثلاثية Q K V ومعادلة softmax، مع كود بايثون شغّال يطبع مصفوفة الأوزان، رقم تكلفة O(n²)، الـ trade-offs، ومتى لا تستخدمها، مع مصادر رسمية.
اعمل خدمة تصغير وضغط الصور بـ Sharp في Node.js: من 2.4 ميجا لـ 180 كيلو
دليل تنفيذي للمتوسط تبني فيه خدمة تصغير وضغط الصور بـ Sharp في Node.js: endpoint واحد ينزّل حجم الصورة من ~2.4 ميجا إلى ~180 كيلوبايت (−92%) بصيغة WebP، بكود Express قابل للنسخ، خطوات تحقق، أرقام، المقايضات، ومتى لا تستخدمه، مع مصادر رسمية.
استدعاء الدوال (Function Calling): خلّي النموذج يطلب تشغيل كودك
لو الشات بوت بيخترع أرقام مش موجودة، المشكلة إنه ملوش وصول لبياناتك. استدعاء الدوال بيخلّي النموذج يطلب تشغيل دالة حقيقية عندك بـ JSON منظّم، وانت تنفّذها وترجّع النتيجة. شرح بمثال بسيط ثم علميًا، كود بايثون شغّال، الوضع الصارم بأرقام، الـ trade-offs، ومتى لا تستخدمها، مع مصادر رسمية.
إعادة الترتيب (Reranking): ليه أفضل 5 نتائج بحثك مش الأفضل فعلاً
أفضل 5 نتائج من بحثك الدلالي مش أحسن 5 فعلاً. المقال يشرح إعادة الترتيب (Reranking) بالـ Cross-Encoder بمثال لجنة التوظيف ثم علمياً، مع كود Python شغّال، أرقام موثّقة، الـ trade-offs، ومتى لا تستخدمها، مع مصادر رسمية.
الـ Garbage Collection: إزاي البرنامج بيفضّي الذاكرة لوحده وليه بيوقفك فجأة
لو خدمتك بتتجمّد جزء من الثانية كل شوية والـ CPU مش مشغول، غالبًا ده جامع المهملات. المقال يشرح الـ Garbage Collection بمثال بسيط ثم علميًا بعدّ المراجع والتتبّع والأجيال، مع كود بايثون شغّال يوريك تسريب المراجع الدائرية، أرقام توقّف حقيقية من Go وJava، الـ trade-off، ومتى لا تشغل بالك، مع مصادر رسمية.
الـ Idempotency: ليه ضغطة زر واحدة ممكن تخصم العميل مرتين
ضغطة زر واحدة ممكن تخصم العميل مرتين لما الشبكة تعيد الطلب، وده مش باج في الداتابيز. المقال يشرح مفتاح Idempotency-Key بمثال زر المصعد ثم علميًا، مع كود Python شغّال، رقم واقعي، الـ trade-off، حل الـ race condition بـ SET NX، ومتى لا تحتاجه، مع مصادر رسمية.