- عنوان کتاب: Hands-On System Design / Learn System Design, Scaling Applications, Software Development Design Patterns with Real Use-Cases Learning Systems
- نویسنده: Harsh Kumar Ramchandani
- حوزه: طراحی سیستم
- سال انتشار: 2022
- تعداد صفحه: 228
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 8.14 مگابایت
ایده نوشتن این کتاب زمانی در ذهن من شکل گرفت که در حال مطالعه یک وبلاگ فناوری بودم که در مورد ساخت یک وب سایت رسانه های اجتماعی بحث می کرد. من نمیتوانستم همه محتوا را به یکباره جذب کنم زیرا مناطق خاکستری زیادی در ذهنیت طراحی سیستم من وجود داشت. پستی که من در برخی از بحث های طراحی سیستم ظاهر شدم و نتوانستم یک سیستم مقیاس پذیر رضایت بخش طراحی کنم. همانطور که کنجکاو بودم چیز جدیدی یاد بگیرم، کنجکاو شدم و شروع به خواندن وبلاگ ها و کتاب های مختلف کردم تا دانش خود را افزایش دهم. به آرامی، خواندن وبلاگ های فناوری به یک عادت تبدیل شد و من این را راحت دیدم که این دانش را در یک کتاب ثبت کنم. این کتاب برای خدمت به برنامه نویسان – مبتدیان یا میانسالان و دانش آموزانی است که مایل به یادگیری جنبه کلیدی طراحی سیستم مقیاس پذیر هستند. من آموخته ام که این دانش، اول، به صورت حرفه ای، و دوم، در مصاحبه های طراحی سیستم برای شما مفید خواهد بود. کتاب در اصل به سه بخش تقسیم شده است. بخش اول کتاب شامل پنج فصل است که مبانی طراحی سیستم را توضیح می دهد. این فنآوریهای مختلفی مانند حافظه پنهان، صفهای پیامرسانی، پایگاههای داده و غیره را مورد بحث قرار میدهد که برای ساختن سیستمهای توزیعشده مقیاسپذیر مدرن استفاده میشوند. همچنین برخی از مفاهیم اصلی شبکه مانند مدل OSI، پروتکل های مهم مانند معماری HTTP و REST را لمس می کند. علاوه بر این، استراتژی های مختلف برای مقیاس بندی پایگاه های داده به صورت افقی و عمودی نیز پوشش داده شده است. علاوه بر این، تاکید بر سبکهای مختلف معماری – یکپارچه، سرویسگرا و ریزسرویسها برای کمک به کاربر در درک مزایا و معایب هر یک قرار میگیرد. همچنین، اصول شی گرا با تکه های کد به سبک C++ مورد بحث و توضیح قرار می گیرند.
The idea of writing this book originated in my mind when I was reading a tech blog that discussed building a social media website. I was not able to absorb all the content at once as there were many grey areas in my system designing mindset. Post that I appeared in some system designing discussions and I couldn’t design a satisfactory scalable system. As curious as I was to learn something new, I got inquisitive and started reading various blogs and books to increase my knowledge. Slowly, reading tech blogs became a habit and I found it convenient to document this knowledge in a book. The book is meant to serve programmers – beginners or mid-senior level and students who are willing to learn the key aspect of scalable system designing. I have learned that this knowledge will be helpful to you, first, professionally, and second, in your system design interviews. The book is primarily divided into three parts. The first part of the book contains five chapters that explain the fundamentals of system designing. It discusses various technologies like Cache memory, Messaging queues, Databases, etc. which are used to build modern-day scalable distributed systems. It also touches on some core networking concepts like the OSI model, important protocols like HTTP and REST architecture. Furthermore, different strategies to scale databases horizontally and vertically are also covered. In addition, an emphasis on different architectural styles – monolithic, service-oriented, and microservices is put to help a user understand the pros and cons of each one. Also, Object-oriented principles are discussed and explained with C++-style code snippets.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Hands-On System Design
نظرات کاربران