مقالات في بناء الأنظمة الحقيقية
كتابة عملية واضحة عن المواقع والمنصات والأتمتة للمنشآت في السعودية.
موافقات داخل Teams وصلاحيات على مستوى العنصر
نظام طلبات الموظفين ينجح أو يفشل بتفصيلة واحدة: هل يرى الموظف طلبات غيره؟ هذه كيف تُضبط، ولماذا لا تُكسر الصلاحيات لآلاف العناصر.
عشوائياتالإرسال بالنيابة من صندوق مؤسسي: الإعداد الذي ينجح
أن يرسل الموظفون من عنوان الشركة الرسمي، لا من عناوينهم، مطلب متكرر. هذا الإعداد الصحيح والفرق بين نوعي الصلاحية الذي يوقع الناس.
مشاريعمتى تختار الحوسبة على الحافة ومتى لا تختارها
الحافة ليست خادماً أسرع، بل نموذج تشغيل مختلف بقيود مختلفة. هذه القيود التي واجهتها فعلاً، ومتى تكون في صالحك.
مشاريعلا ترهن معماريتك بمزوّد نموذج واحد
شغّلت نفس نظام الوكلاء على عائلتي نماذج مختلفتين. لم يكن الهدف توفير تكلفة، بل إثبات أن التصميم لا ينهار إن تغيّر المزوّد.
مشاريعموافقة بشرية قبل أن يصل العميل شيء
أكثر قرار أثّر في ثقة العميل بنظام آلي لم يكن تقنياً: أن كل ما يخرج للعميل يمر على موظف أولاً. هذه كيف بنيتها بحيث لا تصير عنق زجاجة.
مشاريعقاطع دورة لبوابة الذكاء الاصطناعي
حين تتوقف بوابة النموذج، النظام الساذج يستمر في المحاولة فيبطئ كل شيء ويستنزف الحصة. القاطع يوقف المحاولة مبكراً ويتعافى تدريجياً.
مشاريعمُدقّق يرفض أي مخرج بلا مصدر
الطريقة الوحيدة التي نجحت معي لمنع الهلوسة في نظام إنتاج لم تكن هندسة الأوامر، بل طبقة ترفض أي عنصر لا يُشير إلى مصدر قابل للتتبع.
مشاريعوكلاء متعددون في الإنتاج: التقسيم بالمسؤولية لا بالمهمة
معظم أنظمة الوكلاء تُقسَّم بالمهمة فتصير طبقة تعقيد بلا فائدة. التقسيم الذي نجح عندي كان بالمسؤولية: من يملك القرار ومن يملك القناة.
مشاريعصفحة عرض خاصة بدل ملف مرفق: ماذا تكسب
الرابط الخاص يخبرك بما لا يخبرك به المرفق: هل فُتح، ومتى، وكم مرة. وهذا يغيّر توقيت متابعتك من التخمين إلى المعلومة.
مشاريعكيف تحوّل طلب عميل غامض إلى نطاق قابل للتنفيذ
«أبغى موقع» ليست خطة. هذه الطريقة التي أحوّل بها الطلب المفتوح إلى نطاق مكتوب يوافق عليه العميل ويُسجَّل، فينتهي الجدل قبل أن يبدأ.
عشوائياتلماذا لا يظهر hreflang في موقع Next رغم أنه موجود؟
كدتُ أُبلغ بعطل غير موجود. البحث في صفحة مبنية عن hreflang لا يجد شيئاً، والسبب أن React يكتب السمة بحرف كبير في المصدر.
عشوائياتلماذا يرد GA4 برمز 403 وما الفرق بين المعطّلة والممنوعة؟
حالتان مختلفتان تماماً تعطيان نفس رمز الخطأ، وتحتاجان إصلاحين في مكانين مختلفين. الفرق بينهما في نص الرسالة لا في الرمز.
مشاريعفحص بصري يقيس DOM بدل أن يقارن الصور
كل المراجع تقترح مقارنة لقطات الشاشة. جرّبتها وتركتها، وبنيتُ فحصاً يقيس العناصر نفسها. النتيجة: لا صور مرجعية تُصان، ولا اختبارات هشة، ويكشف أخطاء لا تكشفها الصور.
مشاريعالعقد الموقّع يُقفل، وتعديله يعيده مسودة
أخطر حالة في أي نظام عقود ليست التزوير، بل أن يتغيّر نص العقد بعد أن وافق عليه العميل دون أن يعلم. هذه القاعدة التي منعتها بها.
مشاريعسجل تدقيق لا يستطيع التطبيق إعادة كتابته
سجل التدقيق الذي يحميه الكود يسقط مع أول خطأ برمجي. نقلتُ الحماية إلى قاعدة البيانات نفسها بثلاثة أسطر، فصار الضمان قائماً حتى لو أخطأ التطبيق بالكامل.
مشاريعنظام أعمال كامل على Cloudflare D1: خمس خدمات وقاعدة واحدة
من زائر يفتح صفحة إلى عقد موقّع وقسط مجدول، على خمس خدمات تتشارك قاعدة SQLite واحدة على الحافة. هذه معماريتها، وما اخترته، وما رفضته، وما كلّفني.
عشوائياتعقلية مهندس الأنظمة: قبل ما تبني أي حل، افهم المشكلة الحقيقية أولاً
قبل ما تبني أي حل، اسأل نفسك: هل فهمت المشكلة الحقيقية، أو بنيت حل على افتراضات؟ قصة حقيقية غيرت طريقة تفكيري في فهم المشاكل وحلها.