برنامه ۱۲ عاملی (۶)- عامل پنجم: ساخت، انتشار، اجرا
عامل ۵: ساخت(build)، انتشار(release)، اجرا(run) گامهای ساخت (Build) و اجرا(Run) را کاملا از هم جدا کنید. هر پایگاه کد (codebase) طی سه مرحله به استقرار (deploy) تبدیل میشود: مرحله ساخت (build stage) : در این مرحله مخزن کد (codebase) به یک بسته قابل اجرا (executable bundle) تبدیل میشود. این بستهی قابل اجرا با نام بستهی […]
برنامه ۱۲ عاملی (۵)- عامل چهارم: سرویسهای کمکی
عامل ۴: سرویس های کمکی ( backing services) با سرویسهای کمکی مانند منابع ضمیمه شده یا پیوست ( attached resources) رفتار کنید. سرویس کمکی ( backing services) هر سرویسی است که برنامه از طریق شبکه از آن برای انجام کارهای معمول و روزمرهاش استفاده کند. از جمله سرویسهای کمکی میتوان به پایگاه داده مانند MySQL، […]
برنامه ۱۲ عاملی (۴)- عامل سوم: پیکربندی
عامل ۳: پیکربندی پیکربندی (config) را در محیط استقرار (environment) ذخیره کنید پیکربندی هر برنامه احتمالاً برای استقرارهای مختلف (محیط عملیاتی یا production، محیط داخلی یا stage، محیط توسعهدهندگان و غیره) یکسان نیست. این تفاوت میتواند به دلایل متفاوتی از جمله موارد زیر باشد: – منابع دسترسی به پایگاه داده، حافظههای ذخیرهسازی سریع (Memcached) و […]
گربه کد من را خورد (۳)
قسمت اول را اینجا و قسمت دوم را اینجا بخوانید. به جای بهانه، گزینهها و راهکارهای جدیدی پیشنهاد کنید. نگویید که این کار شدنی نیست؛ توضیح دهید که چه کاری میتوان برای نجات از شرایط کنونی انجام داد. آیا بهتر است کد را حذف کنیم (delete)؟ اگر به این نتیجه رسیدید، این موضوع را با […]
گربه کد من را خورد (۲)
قسمت اول را اینجا بخوانید. وقتی مسئولیت کاری را قبول میکنید، بپذیرید که باید در قبال آن پاسخگو باشید. وقتی مرتکب اشتباهی میشوید (مثل بقیه انسانها) یا در قضاوت اشتباه میکنید، صادقانه آن را بپذیرید و سعی کنید گزینههایی برای حل آن پیدا کنید. فرد یا چیز دیگری را سرزنش نکنید و دنبال پیدا کردن […]
گربه کد من را خورد (۱)
یکی از پایههای فلسفه عملگرایی این است که مسئولیت اقدامات خود را در مورد پیشرفت شغلی، یادگیری و آموزش، پروژه و کار روزانه بپذیرید. برنامهنویسان عملگرا (Pragmatic Programmers) مسئولیت حرفهای خود را میپذیرند و از اعتراف به ناآگاهی یا اشتباه هراسی ندارند. بیشک این خوشایندترین جنبه برنامهنویسی نیست، اما شک نداشته باشید که اتفاقی است […]
برنامه ۱۲ عاملی (۳)- عامل دوم: وابستگیها
عامل ۲: وابستگی ها (Dependencies) وابستگی ها را به صورت شفاف و صریح بیان کنید و آن ها را ایزوله کنید (Explicitly declare and isolate dependencies) اکثر زبانهای برنامهنویسی دارای سیستم بستهبندی (packaging system) یا مدیریت بستهها (package manager) برای توزیع و پخش کتابخانهها هستند، مانند npm برای جاوا اسکریپت، pip برای پایتون و NuGet […]