مقالات في بناء الأنظمة الحقيقية
كتابة عملية واضحة عن المواقع والمنصات والأتمتة للمنشآت في السعودية.
بوابة عميل برابط خاص: لماذا يرتكز كل استعلام على العميل
الرابط يفك إلى عميل، ثم يجب أن يرتكز كل استعلام على ذلك العميل لا على أي شيء في الرابط. هذا الفرق يمنع أخطر خطأ في هذا النوع من الصفحات.
مشاريعجدول الأقساط، والحارس الذي يمنع الفاتورة الملغاة من الانقلاب مسددة
حساب الأقساط أسهل مما يبدو، والخطر في مكان آخر تماماً: أي مسار يغلق فاتورة يحتاج حارس حالة، وإلا انقلبت الملغاة مسددة.
مشاريعاستحالة الحجز المزدوج: قيد في القاعدة لا فحص في الكود
الفحص قبل الإدراج يبدو كافياً حتى يضغط شخصان في نفس الثانية. هذه المشكلة الكلاسيكية وحلها الوحيد الصحيح.
مشاريعالتحقق من توقيع الويبهوك ومنع إعادة الإرسال
استقبال إشعار دفع بلا تحقق يعني أن أي شخص يستطيع أن يخبر نظامك أن فاتورة سُددت. هاتان الطبقتان اللتان تمنعانه.
مشاريعمحو بيانات العميل امتثالاً لنظام حماية البيانات الشخصية، عملياً
كل ما يُكتب بالعربية عن نظام حماية البيانات الشخصية أدلة قانونية. هذا ما يعنيه المحو داخل قاعدة بيانات فعلية: أي جداول، وماذا يبقى، ولماذا.
مشاريعبناء بيئة Microsoft 365 من الصفر لمنشأة سعودية
الترتيب الصحيح لإنشاء بيئة عمل مؤسسية، والقرارات التي يصعب التراجع عنها لاحقاً، من واقع تنفيذ كامل لا من دليل مورّد.
مشاريعSharePoint كأنظمة لا كمجلدات
معظم المنشآت تستعمل SharePoint كخزانة ملفات على الإنترنت. الفرق بين ذلك وبين أنظمة تعمل هو نموذج البيانات الوصفية، وهذا ما يعنيه عملياً.
مشاريعتصميم بالحاسوب: مخرجات تُعاد بأمر لا بيد
أعدتُ إنتاج كل مخرج بصري في مشروع تصميم بأمر واحد بدل العمل اليدوي. السبب لم يكن السرعة، بل أن التعديل الأخير للعميل لا يعني إعادة العمل كله.
مشاريععنصر ثلاثي الأبعاد في الواجهة بلا تدمير الأداء
الـ 3D في أول شاشة يبدو مبهراً ويقتل الأداء وسهولة الوصول إن بُني خطأ. هذه القيود الأربعة التي التزمتها فبقي المشهد وبقيت السرعة.
مشاريعمتى تختار الحوسبة على الحافة ومتى لا تختارها
الحافة ليست خادماً أسرع، بل نموذج تشغيل مختلف بقيود مختلفة. هذه القيود التي واجهتها فعلاً، ومتى تكون في صالحك.
مشاريعلا ترهن معماريتك بمزوّد نموذج واحد
شغّلت نفس نظام الوكلاء على عائلتي نماذج مختلفتين. لم يكن الهدف توفير تكلفة، بل إثبات أن التصميم لا ينهار إن تغيّر المزوّد.
مشاريعموافقة بشرية قبل أن يصل العميل شيء
أكثر قرار أثّر في ثقة العميل بنظام آلي لم يكن تقنياً: أن كل ما يخرج للعميل يمر على موظف أولاً. هذه كيف بنيتها بحيث لا تصير عنق زجاجة.
مشاريعقاطع دورة لبوابة الذكاء الاصطناعي
حين تتوقف بوابة النموذج، النظام الساذج يستمر في المحاولة فيبطئ كل شيء ويستنزف الحصة. القاطع يوقف المحاولة مبكراً ويتعافى تدريجياً.
مشاريعمُدقّق يرفض أي مخرج بلا مصدر
الطريقة الوحيدة التي نجحت معي لمنع الهلوسة في نظام إنتاج لم تكن هندسة الأوامر، بل طبقة ترفض أي عنصر لا يُشير إلى مصدر قابل للتتبع.
مشاريعوكلاء متعددون في الإنتاج: التقسيم بالمسؤولية لا بالمهمة
معظم أنظمة الوكلاء تُقسَّم بالمهمة فتصير طبقة تعقيد بلا فائدة. التقسيم الذي نجح عندي كان بالمسؤولية: من يملك القرار ومن يملك القناة.
مشاريعصفحة عرض خاصة بدل ملف مرفق: ماذا تكسب
الرابط الخاص يخبرك بما لا يخبرك به المرفق: هل فُتح، ومتى، وكم مرة. وهذا يغيّر توقيت متابعتك من التخمين إلى المعلومة.
مشاريعكيف تحوّل طلب عميل غامض إلى نطاق قابل للتنفيذ
«أبغى موقع» ليست خطة. هذه الطريقة التي أحوّل بها الطلب المفتوح إلى نطاق مكتوب يوافق عليه العميل ويُسجَّل، فينتهي الجدل قبل أن يبدأ.
مشاريعفحص بصري يقيس DOM بدل أن يقارن الصور
كل المراجع تقترح مقارنة لقطات الشاشة. جرّبتها وتركتها، وبنيتُ فحصاً يقيس العناصر نفسها. النتيجة: لا صور مرجعية تُصان، ولا اختبارات هشة، ويكشف أخطاء لا تكشفها الصور.
مشاريعالعقد الموقّع يُقفل، وتعديله يعيده مسودة
أخطر حالة في أي نظام عقود ليست التزوير، بل أن يتغيّر نص العقد بعد أن وافق عليه العميل دون أن يعلم. هذه القاعدة التي منعتها بها.
مشاريعسجل تدقيق لا يستطيع التطبيق إعادة كتابته
سجل التدقيق الذي يحميه الكود يسقط مع أول خطأ برمجي. نقلتُ الحماية إلى قاعدة البيانات نفسها بثلاثة أسطر، فصار الضمان قائماً حتى لو أخطأ التطبيق بالكامل.
مشاريعنظام أعمال كامل على Cloudflare D1: خمس خدمات وقاعدة واحدة
من زائر يفتح صفحة إلى عقد موقّع وقسط مجدول، على خمس خدمات تتشارك قاعدة SQLite واحدة على الحافة. هذه معماريتها، وما اخترته، وما رفضته، وما كلّفني.