کتاب The Art of Immutable Architecture, 2nd Edition: Theory and Practice of Data Management in Distributed Systems (هنر معماری غیر قابل تغییر، ویرایش دوم: نظریه و عمل مدیریت داده در سیستمهای توزیعشده) به شما میآموزد که چگونه یک سیستم توزیع شده را از منظر اجسام تغییرناپذیر ارزیابی کنید.
شما مشکلات موجود در طرحهای موجود را درک خواهید کرد، میدانید که چگونه تغییرات کوچکی برای اصلاح آن مشکلات ایجاد کنید و یاد میگیرید که اصول معماری تغییرناپذیر را در ابزارهای خود اعمال کنید.
در ادامه مقدمهای از کتاب The Art of Immutable Architecture را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب The Art of Immutable Architecture:
من یک راز دارم. این یک کتاب ریاضی است. به کسی که تا این حد مقدمه را نخوانده است نگویید.
ریاضیات بزرگترین اختراع بشر است. در توانایی خود در توصیف جهان طبیعی شگفتآور است. این به طرز شگفتانگیزی برای طیف وسیعی از مشکلات قابل استفاده است. و این تنها راهی است که میتوانیم از هر چیزی مطمئن باشیم.
روشی که معمولاً یاد میگیریم که چیزی را درست انجام دادهایم، آزمایش آن است. ما راه حل خود را در یک موقعیت قرار میدهیم و میبینیم که آیا به نتیجه مورد انتظار میرسیم یا خیر.
سپس سناریوی دیگری را امتحان خواهیم کرد و خواهیم دید که چه کاری انجام میدهد. اگر واقعاً خوب باشیم، میتوانیم چند شرایط غیرمنتظره را تصور کنیم و برای آنها آزمایش کنیم. اما پیشبینی چیزهای غیرمنتظره واقعاً سخت است.
آزمایش همه چیز در مورد جمعآوری شواهد تجربی است. این فقط به شما اطمینان میدهد که سیستم در موارد خاص همانطور که انتظار میرود رفتار میکند. این به شما اطمینان نمیدهد که چیزی را از دست ندادهاید.
دانستن نیاز به استنتاج ریاضی دارد. اگر چیزی از نظر ریاضی ثابت شود، میتوانید مطمئن باشید که صرف نظر از اینکه چه مورد آزمایشی را امتحان کنید، درست خواهد بود.
فیثاغورث برای هر مثلث قائم الزاویه صادق است. اقلیدس برای تمام چهرههای هواپیما تلاش میکند. اگر استدلال شما صحیح است، میتوانید مطمئن باشید که هیچ یک از موارد لبه را از دست ندادهاید.
اینطور نیست که حقایق ریاضی جهانی باشند. این است که آنها با محدودیتهای شناخته شده میآیند. تقسیم فقط برای مقسوم علیههای غیر صفر کار میکند.
فیثاغورث فقط در هواپیما نگه میدارد. قوانین کسر به ما میگویند که چگونه آن مرزها را تا راه حل پیش ببریم تا دقیقاً بدانیم که آن راه حل در کجا کاربرد دارد و کجا نیست.
کتاب The Art of Immutable Architecture دقت ریاضی را برای مسأله محاسبات توزیع شده اعمال میکند. این اولین کاری نیست که این کار را انجام میدهد، اما یک راه حل کامل و عملی ارائه میدهد.
اگر استدلال قیاسی را در مورد مسأله دنبال کنید و محدودیتهای سیستمهای توزیع شده را از طریق محاسبات خود حمل کنید، در نهایت به درک مرزهای راه حل خواهید رسید. کتاب The Art of Immutable Architecture راهنمای شما در این فرآیند است.
کتاب The Art of Immutable Architecture چگونه سازماندهی شده است؟
این کتاب تقریباً به سه بخش تقسیم شده است که مشابه سه مخاطب اصلی است. تصمیمگیرندگان فقط باید قسمت اول را بخوانند که شامل سه فصل اول است.
در این قسمت از کتاب The Art of Immutable Architecture، ابتدا یاد میگیرید که چرا تغییر ناپذیری اینقدر مهم است. سپس فضای جایگزینها را بررسی میکنید و در نهایت به مدلسازی تاریخی میرسید.
در نهایت، یاد میگیرید که چگونه یک مدل تاریخی را بخوانید تا بتوانید ارتباط مؤثرتری با تیم خود برقرار کنید. وقتی وارد ریاضیات عمیق شدیم میتوانید خواندن را متوقف کنید.
سازندگان سیستم میخواهند به قسمت دوم ادامه دهند. این قسمت از کتاب The Art of Immutable Architecture، شامل فصول ۴ تا ۹ است. ابتدا، نحوه اعمال تغییرناپذیری را در سیستمهای تجزیه و تحلیل میبینیم. سپس، ما عمیقاً به مبانی ریاضی تغییرناپذیری، علیت، و انواع دادههای تکراری بدون تعارض (CRDT) میرسیم.
در مرحله بعد، ما یاد میگیریم که چگونه اپراتورهای سیستم راه حلهایی را از این اجزا تشکیل میدهند. و در نهایت، ما الگوهایی را برای مدلسازی نهادها، ساخت ماشینهای دولتی و اجرای قوانین امنیتی مطالعه میکنیم. اینها ابزارهایی هستند که برای ساختن سیستمهای توزیع شده قوی به آنها نیاز دارید.
مردم من، سازندگان ابزار، مایلند که تا آخر بخوانند. ما با تکنیکهایی برای استفاده از فناوریهای سنتی مانند پایگاههای داده رابطهای، REST API و صفهای پیام شروع میکنیم.
این به شما کمک میکند تا برای انتقال تدریجی از معماری حالت دار به معماری تغییرناپذیر آماده شوید. پس از آن، نحوه ساخت کتابخانهها و اجزای زیرساختی را که برای تغییر ناپذیری ساخته شدهاند، خواهیم دید.
ما همه را با هم جمع میکنیم و اکوسیستمی را توصیف میکنیم که از برنامههای کاربردی مشترک تشکیل شده است که رفتارهای اضطراری را از مشخصات مشترک ایجاد میکند.
اینجاست که به نتایج ریاضی میرسیم که به نظر من واقعاً زیبا و الهام بخش است. امیدوارم تا آخر منو دنبال کنید
چگونه کتاب The Art of Immutable Architecture را بخوانیم؟
اکنون که میدانید این یک کتاب ریاضی است، ممکن است در مورد نحوه خواندن آن تردید داشته باشید. شاید شما در جبر با مشکل مواجه شدهاید یا حساب دیفرانسیل و انتگرال را رها کردهاید. ممکن است فکر کنید که ریاضی برای شما مناسب نیست.
اعتقاد من این است که ریاضی برای همه است. و هدف من از کتاب The Art of Immutable Architecture اثبات آن است. ریاضیات چیزی نیست جز به کار بردن استدلال منطقی بر بازنمایی نمادین مفاهیم انتزاعی.
از سوی دیگر، برنامهنویسی به کار بردن عملیات منطقی برای یک زبان نمادین است که قوانین عمومی را توصیف میکند. به عبارت دیگر، آنها یک چیز هستند. اگر شما یک برنامهنویس هستید، پس یک ریاضیدان کاربردی هستید.
یکی از مشکلات ریاضیات، اصطلاحات تخصصی آن است. به منظور برقراری ارتباط مؤثر با یکدیگر، ریاضیدانان باید کلماتی را برای نمایشایدهها بیابند.
متأسفانه زبان طبیعی محدود است و همه کلمات خوب گرفته شده است. و بنابراین ریاضیدانان یا کلمات جدیدی میسازند یا از اصطلاحاتی استفاده میکنند که تقریباً معنای درستی دارند. یک مثال عبارت \”پیوستن نیمه مشبک\” است. چگونه ساختار یک رز رز با قوام نهایی ارتباط دارد؟
در کتاب The Art of Immutable Architecture، من از آن اصطلاح استفاده نمیکنم، حتی اگر در مورد آن مفهوم صحبت کنم. و در جاهایی که نمیتوانم از اصطلاحات خاص اجتناب کنم، اصطلاحات را به وضوح تعریف میکنم.
یکی دیگر از مشکلات ریاضی نحوه نگارش آن است. مقالات ریاضی فرم قابل پیشبینی دارند. آنها با یک چکیده شروع میکنند. سپس مشکل را به طور کامل تعریف میکنند.
آنچه در ادامه میآید، بخش به بخش لمها و گزارههایی است که استدلال میکنند. هر گزارهای با گزارههای قبلی توجیه میشود، تا اینکه در نهایت، مانند یک پیچش طرح M. Night Shyamalan، یک ادعای نهایی کل بحث را در چشم انداز قرار میدهد و نتیجه ظاهر میشود.
در حالی که من واقعاً از یک مقاله ریاضی خوب لذت میبرم، آنها را آنطور که نوشته شدهاند نمیخوانم. من چند پاراگراف اول را برای انگیزه مشکل پشت سر میگذارم.
من عناوین را برای طرح کلی استدلال اسکن میکنم. من میخواهم بدانم که چرا هر جمله ثابت میشود و چگونه به کل کمک میکند. من میخواهم قبل از اینکه وقت بگذارم تا آن را بفهمم، بدانم داستان چگونه پیش خواهد رفت.
من کتاب The Art of Immutable Architecture را طوری نوشتم که یک مقاله ریاضی خواندم. در هر بخش، انگیزه پشت یک نتیجه خاص را درک خواهید کرد.
سپس طرحی از استدلال اصلی را خواهید دید. هیچ رمز و رازی وجود نخواهد داشت که چرا هر یک از مراحل وجود دارد. سپس بخش هر یک از آن مراحل را با دقت مورد نیاز توجیه میکند.
من کاملاً پیشبینی میکنم که این روی نحوه خواندن کتاب The Art of Immutable Architecture تأثیر بگذارد. اگر دنبال نتایج هستید، میتوانید فقط یک یا دو پاراگراف را از سرصفحه بخش بخوانید.
اگر میخواهید بدانید چرا یا چگونه، پس برای درک استدلال، کمی بیشتر ادامه دهید. و اگر باید متقاعد شوید، کل بخش را تمام کنید. نکته مهم این است که میتوانید هر زمان که خیلی عمیق شد مطالعه را متوقف کنید و به بخش بعدی بروید. هیچ چیز مهمی را از دست نخواهید داد.
اگر این بخش را بدون حذف چیزی خواندهاید، واقعاً از حضور شما خوشحالم. تو یکی از مردم من هستی با کمک شما میتوانیم نرمافزار مورد نیاز جهان را بسازیم. ما آن را قابل اعتماد، کارآمد و صحیح خواهیم کرد. و به کاربران ما استقلال لازم را میدهد تا کارهای خود را با خلاقیت و اعتماد به نفس انجام دهند، زیرا میدانند که ما دقت ریاضی را ارائه کردهایم.
سرفصلهای کتاب The Art of Immutable Architecture:
- Table of Contents
- About the Author
- Acknowledgments
- Introduction
- Part I: Definition
- Chapter 1: Why Immutable Architecture
- Chapter 2: Forms of Immutable Architecture
- Chapter 3: How to Read a Historical Model
- Part II: Application
- Chapter 4: Analysis
- Chapter 5: Location Independence
- Chapter 6: Immutable Runtimes
- Chapter 7: Patterns
- Chapter 8: State Transitions
- Chapter 9: Security
- Part III: Implementation
- Chapter 10: SQL Databases
- Chapter 11: Communication
- Chapter 12: Feeds
- Chapter 13: Inversion
- Index
جهت دانلود کتاب The Art of Immutable Architecture میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.