کتاب Refactoring to Rust (بازنویسی به زبان Rust) به بررسی فرآیند بهبود و بازنویسی کدهای موجود در زبانهای برنامهنویسی دیگر به زبان برنامهنویسی Rust میپردازد. این کتاب به توسعهدهندگان کمک میکند تا با استفاده از ویژگیهای منحصر به فرد Rust، مانند ایمنی حافظه و همزمانی، کدهای خود را بهینهسازی کنند. نویسنده به تحلیل چالشها و تکنیکهای مختلف در این فرآیند میپردازد و با استفاده از مثالهای عملی، نشان میدهد که چگونه میتوان کدهای قدیمی را به شیوهای مدرن و کارآمد به Rust منتقل کرد. کتاب به عنوان یک راهنمای جامع و عملی برای برنامهنویسانی که قصد دارند از مزایای زبان Rust بهرهمند شوند، عمل میکند.
در ادامه مقدمهای از کتاب Refactoring to Rust را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Refactoring to Rust:
در طول کارنامه حرفهای ما در دنیای نرمافزار، فرصت مشارکت در چندین پروژه بازنویسی را داشتیم. روایت اغلب یکسان است: محصولات نیاز به مقیاسپذیری دارند، اما زمان محدود است. این وضعیت به تلاشهای توسعه گستردهای در طول ماهها منجر میشود که پر از بحث درباره الگوها و زبانهاست.
بازنویسی با جاوا و گو چالشهای قابل توجهی را شامل میشد، از جمله جابهجایی مداوم فایلها، صادرات بستهها، پوششهای سیستمی و بازنویسی کامل سیستمهای موجود. مسیرهای موفقیت به ندرت بهطور واضح تعریف شده بودند. هدف این کتاب ارائه بسیاری از این الگوها با استفاده از زبانی است که برای تحلیل و بازنویسی سیستمهای موجود طراحی شده است. “بازنویسی به زبان راست” نشان میدهد که چگونه راست میتواند بهطور ناچیزی در اکوسیستم شما ادغام شود و از همان روز اول به دلیل ماهیت زبان، مزایای مقیاسپذیری را فراهم کند.
راست مزایایی از جمله ایمنی نوع و ایمنی حافظه را به همراه دارد، همراه با افزایش عملکرد که به این ویژگیها نسبت داده میشود. در این کتاب، یاد خواهید گرفت که چگونه راست میتواند تقریباً هر پروژهای را بهبود بخشد. راست به عنوان گزینهای برای جایگزینی زبانهای موجودی مانند C و C++ مطرح میشود و به خاطر ابزارهای قدرتمند و ویژگیهای ایمنی حافظه خود، متمایز است. همچنین بررسی خواهیم کرد که چگونه راست میتواند با زبانهایی مانند پایتون تعامل داشته باشد و بهبودهای عملکردی را در هنگام ساخت کتابخانهها و ماژولهایی که در هر دو زبان کار میکنند، نشان دهد. علاوه بر این، کاربردهای غیرمنتظره راست، مانند استفاده در مرورگرهای وب و بهعنوان یک زمانسنج جهانی را کشف خواهیم کرد.
بهطور کلی، این کتاب نه تنها هدفش نمایش قدرت راست است بلکه به شما مهارتهای لازم برای بازنویسی سیستمهای بزرگ با اطمینان را نیز میآموزد.
درباره کتاب Refactoring to Rust
کتاب معروف مارتین فاولر به نام “بازنویسی” بر هدف اصلی بازنویسی تأکید دارد: بهبود طراحی کدهای موجود. خوانندگان آشنا با این کتاب، شیوه ارائه بخشهای مختلف کد و سپس ارائه گزینههای بهبودیافته که خوانایی، کارایی یا سادگی را افزایش میدهند، را خواهند شناخت. در حالی که استراتژیها در نسخه دوم تغییر یافتهاند، پیام اصلی همچنان ثابت است: کد عملکردی همیشه قابل بهبود است.
کتاب Refactoring to Rust “بازنویسی به زبان راست” استراتژیهایی را برای انتقال از یک زبان برنامهنویسی به زبان دیگر در حالی که رفتار خارجی کد حفظ میشود، تشریح میکند. این چگونه محقق میشود؟ همانطور که بررسی خواهیم کرد، راست به گونهای طراحی شده است که به تدریج زبانهای دیگر را با ادغام و تجزیه کدهای موجود—مانند فرآیند زنگزدن آهن—جایگزین کند و آن را با کد راست تعویض نماید. در ابتدا تمرکز بر روی جایگزینی C++ بود، اما پروژه به زبانهای JavaScript و Python نیز گسترش یافته است.
کسانی که باید کتاب Refactoring to Rust را بخوانند؟
این کتاب بر روی برنامهنویسانی متمرکز است که در زبانهای دیگر مانند C، C++، Python و JavaScript تخصص دارند اما میخواهند راست را یاد بگیرند. در حالی که کتاب Refactoring to Rust دید عمیقی از زبان به شما نمیدهد، اما مثالها و موارد کاربردی عملی برای تغییر کد شما به راست ارائه میدهد. نیاز به درک رسمی از راست نیست، هرچند که مفید است.
نحوه سازماندهی کتاب Refactoring to Rust: نقشه راه
بر اساس رویکرد فاولر، ما چالشها را در یک زبان ارائه خواهیم کرد و نشان خواهیم داد که چگونه میتوان این پیچیدگیها را در راست بازنویسی کرد. هدف حفظ کارکرد زیرین برنامه در حالی که از سرعت و ایمنی راست برای بهبود سیستم کلی استفاده میشود، است.
تحقیق ما با معرفی زبان راست آغاز میشود، که مکانیک آن را بررسی کرده و آن را با زبانهایی مانند C، C++ و Python مقایسه میکند. این اطلاعات در قالب بازنویسی ارائه میشود و تأکید میشود که چگونه میتوان بهطور سیستماتیک سیستمهای خود را بهبود داد به جای اینکه اجازه دهیم به کدهای غیرقابل مدیریت تبدیل شوند. همچنین به ویژگیهای پیشرفته راست، مانند عمر متغیر و مالکیت، که برای تسلط بر زبان حیاتی هستند، خواهیم پرداخت.
تمرکز اصلی اول بر روی C، زبان بنیادین برای بسیاری از زبانهای دیگر خواهد بود. در فصل سوم، قابلیت راست برای ایجاد کد امن و ناامن را بررسی خواهیم کرد، به تحلیل کدهای خطرناک در راست خواهیم پرداخت و ابزارهای اشکالزدایی را مورد استفاده قرار خواهیم داد. این بنیاد ما را برای فصل چهارم آماده خواهد کرد که در آن راست را در یک کد پایه C موجود یکپارچه کرده، به مدیریت حافظه پرداخته و قابلیتهای جدیدی به یک سرور NGINX اضافه خواهیم کرد.
پس از یکپارچگی اولیه ما با یک سیستم دیگر، در فصل پنجم، راست را به عنوان یک ابزار کتابخانهای در نظر خواهیم گرفت. ایجاد بستههای سازگار با پروژههای دیگر، راهی مؤثر برای بازنویسی برنامهها است، مشروط به اینکه این کتابخانهها عملکرد را بهبود یافته ارائه دهند. همچنین به بررسی معیارهای عملکرد و بنچمارکینگ خواهیم پرداخت تا انتقال از زبانهای قدیمی به راست را توجیه کنیم. در فصلهای ششم، هفتم و هشتم، نشان خواهیم داد که چگونه میتوان از این بستهها برای بازنویسی کد پایتون استفاده کرد، چه با اجرای Python در راست و چه با گنجاندن راست در پایتون.
دو فصل پایانی کتاب Refactoring to Rust ما را با کاربردهای پیشرفته راست به چالش میکشد. فصل نهم بر روی کامپایل راست برای اجرا در مرورگرهای وب با فرمت جدیدی به نام Wasm تمرکز خواهد کرد. فصل دهم از این تکنولوژی برای ساخت یک زمانسنج جهانی استفاده خواهد کرد و روشی منعطف (اما پیچیده) برای بازنویسی یا تعامل با کد موجود فراهم میآورد.
فصلها نیازی به خواندن به ترتیب ندارند و اگر قبلاً با راست آشنا هستید، احتمالاً میتوانید دو فصل اول را نادیده بگیرید مگر اینکه بخواهید نکات تکراری را مرور کنید. اگر میخواهید به یک زبان خاص بپردازید، فصلهای ۳ و ۴ کتاب Refactoring to Rust بر روی یکپارچگی با C و C++ تمرکز دارند در حالی که فصلهای ۶ تا ۸ بر روی پایتون و فصل نهم بر روی جاوااسکریپت تمرکز میکند.
فصل دهم کتاب Refactoring to Rust همچنین میتواند بهطور مستقل خوانده شود و روشی متفاوت برای بازنویسی با تغییر محیطی که یک برنامه در آن اجرا میشود، به جای تغییر کد خود ارائه میدهد.
بازنویسی بیشتر هنری است تا علمی. هم کتاب مارتین فاولر و هم کتاب ما الگوهایی برای پیروی ارائه میدهند؛ این به عهده شماست که این تکنیکها را بهطور مؤثر به کار ببرید.
سرفصلهای کتاب Refactoring to Rust:
- Refactoring to Rust
- brief contents
- contents
- preface
- acknowledgments
- about this book
- about the authors
- about the cover illustration
- 1 Why refactor to Rust
- 2 An overview of Rust
- 3 Introduction to C FFI and unsafe Rust
- 4 Advanced FFI
- 5 Structuring Rust libraries
- 6 Integrating with dynamic languages
- 7 Testing your Rust integrations
- 8 Asynchronous Python with Rust
- 9 WebAssembly for refactoring JavaScript
- 10 WebAssembly interface for refactoring
- index
- Refactoring to Rust – back
جهت دانلود کتاب Refactoring to Rust میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.