{"product_id":"rust-for-rustaceans-pidiomatic-programming-for-experienced-developers-p","title":"Rust for Rustaceans","description":"\u003cp style=\"box-sizing: border-box; margin: 0px 0px 10px; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003eFor developers who’ve mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects.\u003c\/p\u003e\u003cp style=\"box-sizing: border-box; margin: 0px 0px 10px; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003eAuthor \u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eJon Gjengset\u003c\/span\u003e takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You’ll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async\/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more.\u003c\/p\u003e\u003cp style=\"box-sizing: border-box; margin: 0px 0px 10px; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003e\u003cstrong\u003eYou'll Learn:\u003c\/strong\u003e\u003c\/p\u003e\u003cul style=\"box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003e\n\u003cli style=\"box-sizing: border-box;\"\u003eHow to design reliable, idiomatic, and ergonomic Rust programs based on best principles\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box;\"\u003eEffective use of declarative and procedural macros, and the difference between them\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box;\"\u003eHow asynchrony works in Rust – all the way from the Pin and Waker types used in manual implementations of Futures, to how async\/await saves you from thinking about most of those words\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box;\"\u003eWhat it means for code to be unsafe, and best practices for writing and interacting with unsafe functions and traits\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box;\"\u003eHow to organize and configure more complex Rust projects so that they integrate nicely with the rest of the ecosystem\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box;\"\u003eHow to write Rust code that can interoperate with non-Rust libraries and systems, or run in constrained and embedded environments\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp style=\"box-sizing: border-box; margin: 0px 0px 10px; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003eBrimming with practical, pragmatic insights that you can immediately apply, \u003ci style=\"box-sizing: border-box;\"\u003eRust for Rustaceans\u003c\/i\u003e helps you do more with Rust, while also teaching you its underlying mechanisms.\u003cspan style=\"color: rgb(0, 0, 0); font-size: 17px; font-weight: 700;\"\u003e \u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"field-label\" style=\"box-sizing: border-box; font-weight: 700; color: rgb(0, 0, 0); font-size: 17px; margin: 10px 0px; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003eTable of contents \u003c\/div\u003e\u003cdiv class=\"field-items\" style=\"box-sizing: border-box; font-family: Arial, Helvetica, Verdana, sans-serif;\"\u003e\u003cdiv class=\"field-item even\" style=\"box-sizing: border-box;\"\u003e\n\u003cp style=\"box-sizing: border-box; margin: 0px 0px 10px;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eForeword\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003ePreface\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eAcknowledgments\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"box-sizing: border-box; margin: 0px 0px 10px;\"\u003e\u003cstrong\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eIntroduction\u003c\/span\u003e\u003c\/strong\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 1:\u003c\/span\u003e Foundations\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 2:\u003c\/span\u003e Types\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 3:\u003c\/span\u003e Designing Interfaces\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 4:\u003c\/span\u003e Error Handling\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 5:\u003c\/span\u003e Project Structure\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 6:\u003c\/span\u003e Testing\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 7:\u003c\/span\u003e Macros\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 8:\u003c\/span\u003e Asynchronous Programming\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 9:\u003c\/span\u003e Unsafe Code\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 10:\u003c\/span\u003e Concurrency (and Parallelism)\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 11:\u003c\/span\u003e Foreign Function Interfaces\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 12:\u003c\/span\u003e Rust Without the Standard Library\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eChapter 13:\u003c\/span\u003e The Rust Ecosystem\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box; font-weight: 700;\"\u003eIndex\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e","brand":"No Starch Press","offers":[{"title":"Paperback","offer_id":50506261168198,"sku":"9781718501850","price":3939.0,"currency_code":"INR","in_stock":true},{"title":"E-Book","offer_id":50506261200966,"sku":"9781718501850-2","price":3939.0,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0754\/2797\/1142\/files\/RustforRustaceans_cover.png?v=1790324496","url":"https:\/\/cb-india.com\/products\/rust-for-rustaceans-pidiomatic-programming-for-experienced-developers-p","provider":"Computer Bookshop (India) Pvt Ltd","version":"1.0","type":"link"}