Enterprise Software Development
528 subscribers
76 photos
1 video
15 files
306 links
Download Telegram
مفهوم و کاربرد Container ها (مانند Docker) را طوری برایم توضیح دهید که انگار من یک بچه ی ۵ ساله ام !
سوال بالا پاسخ های جالبی از طرف کاربران دریافت کرده است :
https://dev.to/mmg/explain-containers-like-im-five
مقاله ای تحت عنوان "مواردی که در سال اول کارم در گوگل در مورد API ها یاد گرفتم"
نویسنده در قسمتی از متن به آمار API Call های دیتاسنترهای گوگل اشاره میکند, ۱۰ میلیارد API Call در ثانیه !

https://medium.com/apis-and-digital-transformation/i-got-a-golden-ticket-what-i-learned-about-apis-in-my-first-year-at-google-556e1f02f9ab
آقای Eric Evans در کنفرانس ExploreDDD صحبتی در مورد تاریخچه ی DDD و همچنین وضعیت فعلی آن می کند و اذعان میکند که با وجود ابزارها, تکنولوژی ها و رویکرد های مدرن, امروز DDD بسیار راحت از ۱۵ سال قبل و هنگام نوشتن کتاب است. برای مثال مایکروسرویس ها به شناسایی و جداسازی Bounded Context ها کمک میکند, دیتابیس های NoSql ذخیره سازی Aggregate ها را بسیار راحت تر از RDBMs ها انجام می دهند و ... . خلاصه ای از صحبت های وی را در لینک زیر مطالعه کنید :

https://www.infoq.com/news/2017/09/evans-ddd-relevant
سرویس Netflix چگونه از Event Sourcing برای پیاده سازی قابلیت دانلود فیلم ها استفاده کرده است ? (بخش اول)

https://medium.com/netflix-techblog/scaling-event-sourcing-for-netflix-downloads-episode-1-6bc1595c5595
ویدیو : سرویس Netflix چگونه از Event Sourcing برای پیاده سازی قابلیت دانلود فیلم ها استفاده کرده است?

https://www.infoq.com/presentations/netflix-scale-event-sourcing
مقاله ای از سایت GitLab در مورد چالش های این سایت در Scale کردن دیتابیس ها و همچنین راه حل به کار گرفته شده ی آن ها
https://about.gitlab.com/2017/10/02/scaling-the-gitlab-database/
مقاله ای از وبلاگ Uncle Bob در مورد وابستگی ساختاری و رفتاری بین کد ها و تست های آنها :
http://blog.cleancoder.com/uncle-bob/2017/10/03/TestContravariance.html
مقاله زیر به ۳ موضوع در حوزه ی Continuous Delivery می پردازد :
۱. مشکلات پروژه های Monolithic و نحوه ی شکستن آنها به قسمت های کوچک تر
۲. طراحی Test Suite بهینه برای گرفتن بازخورد مناسب
۳. مفهوم Deployment Pipeline و راه اندازی آن

https://www.thoughtworks.com/insights/blog/architecting-continuous-delivery
شش نوع تست که در معماری مایکروسرویس ها باید بشناسید :
http://www.business2community.com/brandviews/upwork/6-types-testing-know-microservices-architectures-01902537/amp
Principles of Microservice Security Whitepaper.pdf
747.8 KB
کتابچه ی اصول امنیت در معماری مایکروسرویس ها
سرویس پرداخت اینترنتی Paypal پلتفرم خود را با سرویس های RESTful طراحی کرده است. تیم توسعه ی PayPal روش ها و Pattern های مورد استفاده خود را در سایت GitHub منتشر کرده است تا تیم های دیگر نیز بتوانند در پروژه های خود از این روش ها استفاده کنند. این دستور العمل ها شامل موارد همچون Versioning، Backward Compatibility، Error Handling و ... می باشد. مطالعه ی این 2 سند به دوستان پیشنهاد می شود.

دستورالعمل های طراحی API :

https://github.com/paypal/api-standards/blob/master/api-style-guide.md

الگوها و Pattern های طراحی API :

https://github.com/paypal/api-standards/blob/master/patterns.md
پیشنهاد کتاب

تا مدت ها در صنعت نرم افزار، معماری چیزی بود که باید کاملا تکمیل میگردید تا اولین خط کد نوشته شود. این ایده که از صنعت ساخت و ساز گرفته شده بود، معماری موفق را، معماری می دانست که در طول توسعه نیاز به هیچ تغییری نداشته باشد. این نگاه با ظهور متد های Agile تحت تاثیر قرار گرفت. امروزه معماران نرم افزار معتقدند که علی رغم تغییرات غیر قابل پیش بینی، می توان معماری نرم افزار را در مسیر درست حرکت داد. این تفکر Evolutionary Architecture (به فارسی : معماری تکاملی) نام دارد. این کتاب به بررسی این تفکر و چالش ها و روش های مختلف آن می پردازد.

نام کتاب : Building Evolutionary Architectures - Support Constant Change
نویسندگان : Neal Ford, Rebecca Parsons, Patrick Kua