الدرس 0: لماذا تأتي بيئة جاهزة للإنتاج قبل أي ميزة
يبدأ زميلان في بناء نفس تطبيق AI. أحدهما يشغّل إصدار Node واحدًا، والآخر يشغّل إصدارًا مختلفًا؛ وأحدهما يضع مفتاح API لأحد مزوّدي AI مباشرةً في كود يُشحن إلى المتصفح، لأنه 'يعمل على جهازه الآن'. بعد أسبوعين، ينكسر الـ build لدى أحدهما دون خطأ واضح، والمفتاح الذي تسرّب إلى git history يتسبّب في فاتور
بيئة جاهزة للإنتاج هي الاتفاق المشترك على كيفية تشغيل المشروع وبنائه واتصاله بالخدمات — كي يعمل الجميع على الشيء نفسه، لا على نسخ مختلفة منه دون أن يدروا.
- بيئة التطوير
- مجموعة الأدوات والإصدارات والإعدادات التي يعمل عليها المشروع — وعندما تكون متسقة، يحصل كل مطوّر على السلوك نفسه تمامًا.
- تكافؤ البيئات
- الحالة التي تتصرّف فيها بيئة التطوير والاختبارات الآلية (CI) والإنتاج بالطريقة نفسها — كي لا يباغت عطبٌ غير مرئي في بيئة التطوير بيئة الإنتاج.
- الدَّين التقني
- اختصار يُؤخذ الآن لتوفير الوقت، لكنه يكلّف وقتًا أكثر لإصلاحه لاحقًا — دَينٌ يتراكم إن لم يُسدَّد مبكرًا.
- حدّ الأمان
- الخط الواضح بين ما يجوز تشغيله في كود العميل (المتصفح) وما يجب أن يبقى في جهة الخادم — على سبيل المثال، مفاتيح API لمزوّدي AI.