نخست مرتب کنید (tidy first) (۲)
در مورد مرتبسازی (tidying) سوال اصلی این است: “من می خواهم کدی را تغییر بدهم ولی ساختار کد به گونهای است که تغییر آن دشوار است. آیا ابتدا باید کد را مرتب کنم؟” بِک ادامه میدهد “من در مورد بازسازی (refactor) کدهای بزرگ صحبت نمیکنم. من در مورد تقسیم کدهای بزرگ و یکتکه به مایکروسرویسها(microservice) […]
نخست مرتب کنید (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، […]