المقالات

محتوى تقني في فلسفة الكود والتقنيات، مكتوب من تجربة حقيقية وليس نقلًا من مراجع.

فلسفة الكود

مصدر واحد للحقيقة

فلسفة الكود ريفاكتورهندسة كودتجربة

لما تلاقي نفس القاعدة مكررة في عشرين مكان، بتصلح الخطأ في التمنتاشر مكان وتبقى ناسي اتنين. القصة اللي خلتني أخلّي أي معلومة تُعرَّف في مكان واحد بس — وأول مرة أفكر إمتى مينفعش.

١٠ أكتوبر ٢٠٢٦ · 6 دقائق قراءة اقرأ المقال

ضد الطبقات الزائدة

فلسفة الكود هندسة كودتبسيطتجربة

لكل طبقة تكلفة مخفية: وقت فكري، وتشتت بلا معنى، وصعوبة تتبّع السلوك. المشكلة مش دائمًا من سوء النية — طبقة خايبة باسم مزيّف أسوأ من عدم وجودها. قصة مشروع دخل كل شيء فيه سبع طبقات، وقعدوا أسبوعين يدوروا على سطر واحد وسطها.

١٢ أكتوبر ٢٠٢٦ · 5 دقائق قراءة اقرأ المقال

الاستثناءات بدل مؤشرات الفشل

فلسفة الكود معالجة أخطاءتجربة

لما الفانكشن بترجع None أو False سكوتًا، مكان الخطأ بيترحّل عند متصلها — اللي مش عارف أصلًا. قصة رصدت فيها إن مشروع كامل كان «بينجح» بالغلط، والتحول لاستثناءات محددة بتتترجم على هيئة رسالة واضحة قدام المستخدم.

١٣ أكتوبر ٢٠٢٦ · 5 دقائق قراءة اقرأ المقال

التزامن الأصلي أولاً

فلسفة الكود التزامنasyncioRedis

قبل ما تفكر في asyncio.gather والـ tasks اللي بتديرها بإيدك، اسأل سؤال واحد: المكتبة اللي هتتعامل معها عندها آلية تزامن أصلية؟ قصص حقيقية لكيف إن Redis pipeline و httpx و aiohttp بيعملوا نفس الشغل أكفأ وأصح بدل ما تدير concurrency بنفسك.

١٣ أكتوبر ٢٠٢٦ · 6 دقائق قراءة اقرأ المقال

معمارية المهام الخلفية القوية: طوابير العمل وإعادة المحاولة

فلسفة الكود ArchitectureQueuesConcurrencySystems

كيف تصمم معالجة المهام الخلفية لتعمل دون فقدان أي عملية: ضمان التسليم على الأقل مرة واحدة (at-least-once)، التعامل مع المهام المكررة بمبدأ Idempotency، وطوابير الرسائل الميتة (DLQ).

١٥ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال

تقنيات وتطبيق

النشر على Debian بدون خوف

تقنيات وتطبيق DebianSystem

من سيرفر جديد ومحتاج تعمله صح: مستخدم بدل root، SSH محصّن، جدار ناري، fail2ban، تحديثات أمنية تلقائية، و swap مفيد — كلها خطوات قابلة للتكرار. اللي أخلّصه في مشروع debian-bootstrap عشان أي سيرفر جديد يبقى جاهز بأمان في مشوار واحد، بـ dry-run الأول.

١٣ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال

asyncio عملي

تقنيات وتطبيق asyncioPython

نصائح asyncio اللي ضبطتلي الشغل بلا أخطاء: مين يملك الـ loop، وتثبيت مراجع للمهمات الخلفية، وإحكام السياق المشترك، وقياس الـ blocking قبل ما يسدّ الشغل. كل سطر من تجربة حقيقية في بوتات و APIs غير متزامنة.

١٣ أكتوبر ٢٠٢٦ · 7 دقائق قراءة اقرأ المقال

FastAPI + Redis — كاش، محدد معدل، وقفل معًا

تقنيات وتطبيق FastAPIRedis

ثلاث زوايا لاستخدام Redis في FastAPI: كاش له مدة صلاحية، محدّد معدل بنافذة منزلقة في Lua، وقفل موزّع بإفراج آمن. المبدأ واحد في كلهم: ذرّية الأمر الواحد. كيف ندمجهم من غير طبقة زائدة (من مشروع fastapi-forge).

١٣ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال

Docker للـ Python عملي

تقنيات وتطبيق DockerPython

بناء متعدد المراحل من الصفر، تشغيل بصلاحيات غير-root، healthcheck حقيقي، وترتيب app مع Redis بتبعية صحية. لماذا الصورة الأصغر مش دائمًا الأسرع، وكيف تجعل البيئة على قد احتياجك — من تجربة قالب fastapi-forge.

١٣ أكتوبر ٢٠٢٦ · 7 دقائق قراءة اقرأ المقال

Redis أبعد من الكاش

تقنيات وتطبيق RedisPython

بعد الكاش، ريديس مش مجرد مكان يخزن — صندوق أدوات أصلي للطوابير والقفل الموزّع والمصّنفات والجلسات. تطبيقات حقيقية من مشروعي redisjobs و fastapi-forge: LMOVE الذرية، SET NX PX، ZSET، و pipeline بدل gather.

١٣ أكتوبر ٢٠٢٦ · 7 دقائق قراءة اقرأ المقال

WebSockets في FastAPI بدون سحر

تقنيات وتطبيق WebSocketsFastAPI

الواجهة الحية مش مجرد /ws وترجع: إدارة الحالة، إعادة الانضمام، مسح الجلسات الميتة، والتعريف بالعميل عبر token أمنًا. كيف تبني غرفة إشعارات مشتركة بشكل سليم — نقاط من تجربة مشاريع حقيقية بالـ WebSockets.

١٣ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال

فهارس PostgreSQL وتحسين أداء الاستعلامات في بايثون

تقنيات وتطبيق PostgreSQLDatabasePythonPerformance

كيف تحول استعلامًا يستغرق 3 ثوانٍ إلى 4 مللي ثانية: فهم EXPLAIN ANALYZE، الفهارس المركبة وترتيب الأعمدة، فهارس التعبير، وتجنب مشكلة N+1 في ORMs الحديثة مع Async SQLAlchemy.

١٤ أكتوبر ٢٠٢٦ · 9 دقائق قراءة اقرأ المقال

السجلات المنظمة والتتبع الموزع في بيئات الإنتاج

تقنيات وتطبيق ObservabilityLoggingPythonTracing

لماذا السجلات النصية العادية غير صالحة للإنتاج: الانتقال إلى JSON المنظم، تمرير correlation-id عبر مهام asyncio، ومطابقة الأخطاء مع مقاييس الأداء لتقليل زمن حل الأعطال (MTTR).

١٤ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال

هجرات قواعد البيانات بدون توقف عبر Alembic

تقنيات وتطبيق DatabaseAlembicPostgreSQLDevOps

كيف تنفذ تعديلات الجداول في PostgreSQL بدون حجز الأقفال وتوقف الخدمة: استراتيجية التوسع والانكماش (Expand and Contract)، إضافة الأعمدة الافتراضية، وبناء الفهارس باستخدام CONCURRENTLY.

١٥ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال

تأمين واجهات البرمجة (APIs): دفاع متعمق وتحديد معدل ذكي

تقنيات وتطبيق SecurityFastAPIArchitectureAPI

كيف تحمي واجهات FastAPI من الهجمات الحقيقية: مبدأ الدفاع المتعمق (Defense in Depth)، تحديد المعدل متعدد الطبقات، منع تسريب البيانات عبر Pydantic، وتأمين رؤوس HTTP و CORS.

١٥ أكتوبر ٢٠٢٦ · 8 دقائق قراءة اقرأ المقال