Beautiful Design and Code ۱۰ شهریور ۱۴۰۱
نخست مرتب‌ کنید (tidy first) (۲)

در مورد مرتب‌سازی (tidying) سوال اصلی این است: “من می خواهم کدی را تغییر بدهم ولی ساختار کد به گونه‌ای است که تغییر آن دشوار است. آیا ابتدا باید کد را مرتب کنم؟” بِک ادامه می‌دهد “من در مورد بازسازی‌ (refactor) کدهای بزرگ صحبت نمی‌کنم. من در مورد تقسیم کدهای بزرگ و یک‌تکه به مایکروسرویس‌ها(microservice) […]

Tidy First ۲۹ مرداد ۱۴۰۱
نخست مرتب‌ کنید (tidy first) (۱)

پیش‌گفتار: مدت‌هاست که می‌خواستم درباره‌ی Tidy First (با تلفظ تایدی) مطلبی بنویسم و این نگرش زیبا و جالب‌توجه را به دوستان عزیزم و خوانندگان وبلاگ معرفی کنم. با این‌که مدت‌هاست آن را دنبال می‌کنم ولی بخت و اقبال در راه ترجمه‌ی آن با من یار نبود. خوش اقبال بودم که حمید آقای عزیزم کمک کرد […]

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

عامل ۸- همروندی (Concurrency) برنامه را از طریق مدل پردازش (process model) مقیاس‌پذیر و بزرگ کنید هر برنامه کامپیوتری پس از اجرا با یک یا چند پردازش (process) در سیستم عامل نمایش داده می‌شود. برنامه‌های وب شکل‌های مختلفی برای اجرای پردازش پیدا کرده‌اند. به عنوان مثال پردازش‌ها یا برنامه‌های PHP می‌توانند به عنوان فرزندی از […]

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

عامل ۷-سرویس‌ها را از طریق اتصال به پورت (port binding) در اختیار استفاده‌کنندگان بیرونی‌ قرار دهید [ مترجم؛ برگردان Port به فارسی درگاه است ولی در این متن همان واژ‌ه‌ی پورت استفاده شده است.] گاهی برنامه‌های وب در داخل یک کانتینر سرویس‌دهنده‌ وب (web-server container) اجرا می‌شوند. برای مثال، برنامه‌های PHP می‌توانند به عنوان یک […]

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

عامل ۶: پردازش‌ها (process) برنامه را به صورت یک یا چند پردازش بدون حالت (stateless processes) اجرا کنید. برنامه‌ها در محیط اجرا به صورت یک یا چند پردازش اجرا می‌شود. در ساده‌ترین حالت، کد برنامه شامل چندین خط است که با یک زبان برنامه‌نویسی نوشته شد و به تنهایی و بدون نیاز به اجزای خارجی […]

مهندسی نرم‌افزار ۳ خرداد ۱۴۰۱
برنامه ۱۲ عاملی (۶)- عامل پنجم: ساخت، انتشار، اجرا

عامل ۵: ساخت(build)، انتشار(release)، اجرا(run) گام‌های ساخت (‌Build) و اجرا(Run) را کاملا از هم جدا کنید. هر پایگاه کد (codebase) طی سه مرحله به استقرار (deploy) تبدیل می‌شود: مرحله ساخت (build stage) : در این مرحله مخزن کد (codebase) به یک بسته قابل اجرا (executable bundle) تبدیل می‌شود. این بسته‌ی قابل اجرا با نام بسته‌ی […]

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

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