مهندسی نرم‌افزار ۲۸ اردیبهشت ۱۴۰۱
برنامه ۱۲ عاملی (۵)- عامل چهارم: سرویس‌های کمکی

عامل ۴: سرویس ‌های کمکی ( backing services) با سرویس‌‌های کمکی مانند منابع ضمیمه شده یا پیوست ( attached resources) رفتار کنید. سرویس کمکی ( backing services) هر سرویسی است که برنامه از طریق شبکه از آن برای انجام کارهای معمول و روزمره‌اش استفاده کند. از جمله سرویس‌های کمکی می‌توان به پایگاه‌ داده مانند MySQL، […]

مهندسی نرم‌افزار ۱۸ اردیبهشت ۱۴۰۱
برنامه ۱۲ عاملی (۴)- عامل سوم: پیکربندی

عامل ۳: پیکربندی پیکربندی (config) را در محیط استقرار (environment) ذخیره کنید پیکربندی هر برنامه احتمالاً برای استقرارهای مختلف (محیط عملیاتی یا production، محیط داخلی یا stage، محیط‌ توسعه‌دهندگان و غیره) یکسان نیست. این تفاوت می‌تواند به دلایل متفاوتی از جمله موارد زیر باشد: – منابع دسترسی به پایگاه داده، حافظه‌های ذخیره‌سازی سریع (Memcached) و […]

چابک Agile ۱۰ اردیبهشت ۱۴۰۱
گربه کد من را خورد (۳)

قسمت اول را اینجا و قسمت دوم را اینجا بخوانید. به جای بهانه، گزینه‌ها و راه‌کارهای جدیدی پیشنهاد کنید. نگویید که این کار شدنی نیست؛ توضیح دهید که چه کاری می‌توان برای نجات از شرایط کنونی انجام داد. آیا بهتر است کد را حذف کنیم (delete)؟ اگر به این نتیجه رسیدید،‌ این موضوع را با […]

چابک Agile ۶ اردیبهشت ۱۴۰۱
گربه کد من را خورد (۲)

قسمت اول را اینجا بخوانید. وقتی مسئولیت کاری را قبول می‌کنید، بپذیرید که باید در قبال آن پاسخگو باشید. وقتی مرتکب اشتباهی می‌شوید (مثل بقیه انسان‌ها) یا در قضاوت اشتباه می‌کنید، صادقانه آن را بپذیرید و سعی کنید گزینه‌هایی برای حل آن پیدا کنید. فرد یا چیز دیگری را سرزنش نکنید و دنبال پیدا کردن […]

چابک Agile ۲ اردیبهشت ۱۴۰۱
گربه کد من را خورد (۱)

یکی از پایه‌های فلسفه عمل‌گرایی این است که مسئولیت اقدامات خود را در مورد پیشرفت شغلی، یادگیری و آموزش، پروژه و کار روزانه‌ بپذیرید. برنامه‌نویسان عملگرا (Pragmatic Programmers) مسئولیت حرفه‌ای خود را می‌پذیرند و از اعتراف به ناآگاهی یا اشتباه هراسی ندارند. بی‌شک این خوشایندترین جنبه برنامه‌نویسی نیست، اما شک نداشته باشید که اتفاقی است […]

مهندسی نرم‌افزار ۲۹ فروردین ۱۴۰۱
برنامه ۱۲ عاملی (۳)- عامل دوم: وابستگی‌ها

عامل ۲: وابستگی ها (Dependencies) وابستگی ها را به صورت شفاف و صریح بیان کنید و آن ها را ایزوله کنید (Explicitly declare and isolate dependencies) اکثر زبان‌های برنامه‌نویسی دارای سیستم بسته‌بندی (packaging system) یا مدیریت بسته‌ها (package manager) برای توزیع و پخش کتابخانه‌ها هستند، مانند npm برای جاوا اسکریپت، pip برای پایتون و NuGet […]

مهندسی نرم‌افزار ۲۴ فروردین ۱۴۰۱
برنامه ۱۲ عاملی (۲)- عامل اول: پایگاه کد

عامل ۱:‌ پایگاه کد (code base) برای کنترل نسخه‌های کد یک برنامه، فقط و فقط یک پایگاه کد (کد بیس) وجود دارد، ولی در عین حال می‌تواند نسخه‌های استقراریافته (deploy) متعددی از آن وجود داشته باشد. یک برنامه‌ی دوازده عاملی همیشه به کمک سیستم‌های کنترل نسخه (version control) مانند Git، Mercurial یا Subversion کنترل و […]