دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: 1 نویسندگان: Vesa Kaihlavirta سری: ISBN (شابک) : 1785885308, 9781785885303 ناشر: Packt Publishing سال نشر: 2017 تعداد صفحات: 347 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 7 مگابایت
در صورت تبدیل فایل کتاب Mastering Rust: Advanced concurrency, macros, and safe database به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب تسلط بر زنگ: همزمانی پیشرفته ، ماکرو و پایگاه داده ایمن نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ویژگی های کلیدی • اگر می خواهید مفاهیم اصلی در سطح پیشرفته Rust را یاد بگیرید، این کتاب برای شما مناسب است! • از طریق این کتاب، برخی از ویژگی های منحصر به فرد Rust مانند کدگذاری در سیستم های نوع بیانی، تغییرپذیری، مالکیت را درک خواهید کرد. • پس از خواندن این کتاب، می توانید برنامه قدیمی C یا C++ خود را به محیط Rust منتقل کنید. توضیحات کتاب اگر برنامههای همزمان شبهای بیخوابی به شما میدهند، Rust زبان اصلی شماست. این کتاب پر از مثالها و توضیحات واقعی، به شما نشان میدهد که چگونه میتوانید برنامههای مقیاسپذیر و قابل اعتماد برای سازمان خود بسازید. ما مفاهیم سطح بزرگی را به شما آموزش خواهیم داد که Rust را به یک زبان عالی تبدیل می کند. بهبود عملکرد، استفاده از ژنریک، ساخت ماکروها و کار با رشته ها تنها برخی از موضوعاتی است که به آنها خواهیم پرداخت. ما در مورد مجموعه ابزارهای رسمی و راه هایی برای کشف بیشتر صحبت خواهیم کرد. این کتاب حاوی ترکیبی از تئوری است که با کارهای عملی آمیخته شده است، بنابراین شما مهارت ها و همچنین دانش را به دست می آورید. از آنجایی که برنامه نویسی را نمی توان تنها با خواندن یاد گرفت، ما تمرین ها (و راه حل هایی) را برای چکش کردن مفاهیم ارائه می دهیم. پس از خواندن این کتاب، میتوانید Rust را برای پروژه سازمانی خود پیادهسازی کنید، نرمافزار را پیادهسازی کنید و بهترین شیوههای کدنویسی در Rust را بدانید. آنچه خواهید آموخت • الگوهای تست واحد را با ابزار استاندارد Rust پیاده سازی کنید • با فلسفه های مختلف مدیریت خطا و نحوه استفاده عاقلانه از آنها آشنا شوید • قدردانی از توانایی Rust برای حل مشکلات تخصیص حافظه به طور ایمن بدون جمع آوری زباله • با نحوه کار همزمانی در Rust آشنا شوید و از مفاهیم اولیه همزمانی مانند رشته ها و ارسال پیام استفاده کنید. • از پسوندهای نحوی استفاده کنید و خودتان بنویسید • با Iron یک Web API ایجاد کنید • از دیزل برای ایجاد انتزاعات پایگاه داده ایمن استفاده کنید
Key Features • If you want to learn the advanced-level core concepts of Rust, then this book is the one for you! • Through this book, you will appreciate some of the unique features of Rust such as coding in expressive type systems, mutability, ownership • After reading this book, you will be able to migrate your legacy C or C++ application to a Rust environment Book Description If concurrent programs are giving you sleepless nights, Rust is your go-to language. Filled with real-world examples and explanations, this book will show you how you can build scalable and reliable programs for your organization. We'll teach you big level concepts that make Rust a great language. Improving performance, using generics, building macros, and working with threads are just some of the topics we'll cover. We'll talk about the official toolsets and ways to discover more. The book contains a mix of theory interspersed with hands-on tasks so you acquire the skills as well as the knowledge. Since programming cannot be learned by just reading, we provide exercises (and solutions) to hammer the concepts in. After reading this book, you will be able to implement Rust for your enterprise project, deploy the software, and will know the best practices of coding in Rust. What you will learn • Implement unit testing patterns with the standard Rust tools • Get to know the different philosophies of error handling and how to use them wisely • Appreciate Rust's ability to solve memory allocation problems safely without garbage collection • Get to know how concurrency works in Rust and use concurrency primitives such as threads and message passing • Use syntax extensions and write your own • Create a Web API with Iron • Use Diesel to build safe database abstractions
Preface......Page 23
What this book covers......Page 25
What you need for this book......Page 28
Who this book is for......Page 30
Conventions......Page 32
Reader feedback......Page 34
Customer support......Page 36
Downloading the example code......Page 38
Errata......Page 40
Piracy......Page 42
Questions......Page 44
Getting Your Feet Wet......Page 46
What is Rust and why should you care?......Page 48
Installing Rust compiler and Cargo......Page 50
Using rustup.rs......Page 52
A tour of the language and trying it out......Page 55
Constants and variables......Page 58
Loops......Page 61
Compound data......Page 63
Enums and pattern matching......Page 67
Struct methods......Page 70
Using other pieces of code in your module......Page 73
Sequences......Page 75
Exercise - fix the word counter......Page 78
Summary......Page 81
Using Cargo to Build Your First Program......Page 83
Cargo and crates......Page 85
Founding a project - cargo init......Page 88
Dependencies, building, and running......Page 91
Running tests - cargo test......Page 94
Cargo.toml - project metadata......Page 98
Editor integrations......Page 101
Final exercise - starting our project......Page 108
Summary......Page 110
Unit Testing and Benchmarking......Page 112
Motivation and high-level view......Page 114
Annotations......Page 116
Assert macros......Page 120
Integration or black box tests......Page 122
Documentation tests......Page 124
Benchmarks......Page 127
Integrating with Travis......Page 130
Founding a city-builder game......Page 134
Final exercise - fixing the tests......Page 139
Summary......Page 141
Types......Page 143
String types......Page 145
String slices......Page 147
The String type......Page 150
Byte strings......Page 153
Takeaways and tasks......Page 155
Arrays and slices......Page 157
Takeaways and tasks......Page 160
Generic types......Page 162
Takeaways and tasks......Page 165
Traits and implementations......Page 167
Takeaways and tasks......Page 173
Constants and statics......Page 175
Summary......Page 177
Error Handling......Page 179
Option and Result......Page 181
Unwrapping......Page 185
Mapping of the Option/Result values......Page 187
Early returns and the try! macro......Page 190
The ? operator......Page 193
Panicking......Page 195
Custom errors and the Error trait......Page 198
Exercise......Page 203
Summary......Page 206
Memory, Lifetimes, and Borrowing......Page 208
LLVM......Page 210
Function variables and the stack......Page 215
The heap......Page 220
Memory safety......Page 223
Ownership......Page 226
Copy trait......Page 229
Function parameters and patterns......Page 232
Borrowing......Page 235
Lifetimes......Page 240
Globals......Page 242
References as function parameters......Page 244
Structs and struct fields......Page 246
Impl signatures......Page 248
The Drop trait......Page 250
Collector types......Page 252
Box......Page 254
Interior mutability for Copy types - Cell......Page 256
Interior mutability for move types - RefCell......Page 259
Practical uses of interior mutability......Page 263
Reference collected memory: Rcand Arc ......Page 266
Inspecting memory usage with std::mem......Page 271
Final exercises......Page 273
Summary......Page 275
Concurrency......Page 277
Problems with concurrency......Page 279
Closures......Page 282
Exercises......Page 285
Threads......Page 287
Exercises......Page 290
Sharing the Copy types......Page 292
Channels......Page 294
Exercises......Page 297
Locks and mutexes......Page 299
Exercises......Page 302
Atomic Rc......Page 304
Exercises......Page 308
The final exercise......Page 310
Summary......Page 312
Macros......Page 314
Introduction to metaprogramming......Page 316
Dissecting println!......Page 319
Exercises......Page 323
Debugging macros......Page 325
Macro keywords......Page 330
block......Page 332
expr......Page 334
ident......Page 336
item......Page 338
meta......Page 340
pat......Page 342
path......Page 344
stmt......Page 346
tt......Page 348
ty......Page 350
Repeating constructs......Page 352
Example - an HTTP tester......Page 355
Exercises......Page 358
Summary......Page 360
Compiler Plugins......Page 362
Basics of compiler plugins......Page 364
The minimal compiler plugin......Page 367
Building a compiler plugin via Cargo......Page 370
Code generation as a workaround......Page 372
Aster......Page 375
Linter plugins......Page 378
Macros 1.1 - custom derives......Page 382
Exercises......Page 387
Summary......Page 389
Unsafety and Interfacing with Other Languages......Page 391
Unsafety......Page 393
Calling C code from Rust......Page 397
Connecting external libraries to Rust code......Page 400
Creating Ruby extensions with Ruru......Page 404
JavaScript/Node.js and Neon......Page 409
Exercises......Page 414
Summary......Page 416
Parsing and Serialization......Page 418
Parsing fundamentals......Page 420
nom......Page 423
Chomp......Page 428
Other parser libraries......Page 433
Serde......Page 435
Exercises......Page 441
Summary......Page 443
Web Programming......Page 445
Introduction to Rust and web programming......Page 447
Hyper as a client......Page 449
Hyper as a server......Page 458
Rocket......Page 461
Other web frameworks......Page 470
Exercises......Page 472
Summary......Page 474
Data Storage......Page 476
SQLite......Page 478
PostgreSQL......Page 481
Connection pooling with r2d2......Page 487
Diesel......Page 491
Summary......Page 497
Debugging......Page 499
Introduction to debugging......Page 501
GDB - basics......Page 504
GDB - threads......Page 509
LLDB - quick overview......Page 514
Editor integration with Visual Studio Code......Page 517
Exercises......Page 524
Summary......Page 526
Solutions and Final Words......Page 528
Chapter 1 - Getting Your Feet Wet......Page 530
Exercise - fix the word counter......Page 532
Chapter 2 - Using Cargo to Build Your First Program......Page 534
Exercise - starting our project......Page 536
Chapter 3 - Unit Testing and Benchmarking......Page 538
Exercise - fixing the tests......Page 540
Chapter 4 - Types......Page 543
Exercise - various throughout the chapter......Page 545
Chapter 5 - Error Handling......Page 550
Exercise solutions......Page 552
Chapter 6 - Memory, Lifetimes, and Borrowing......Page 556
Exercises......Page 558
Chapter 7 - Concurrency......Page 561
Exercises......Page 563
Chapter 8 - Macros......Page 568
Exercises......Page 570
Chapter 9 - Compiler Plugins......Page 573
Exercises......Page 575
Chapter 10 - Unsafety and Interfacing with Other Languages......Page 577
Exercises......Page 579
Chapter 11 - Parsing and Serialization......Page 582
Exercises......Page 584
Chapter 12 - Web Programming......Page 587
Exercises......Page 589
Chapter 13 - Data Storage......Page 592
Chapter 14 - Debugging......Page 594
Exercises......Page 596