دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1
نویسندگان: Daye Macleod
سری:
ISBN (شابک) : 1633438236, 9781633438231
ناشر: Manning
سال نشر: 2024
تعداد صفحات: 569
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 11 مگابایت
در صورت تبدیل فایل کتاب Learn Rust in a Month of Lunches (Final Release) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب یادگیری زنگ در یک ماه ناهار (نسخه نهایی) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Learn Rust in a Month of Lunches brief contents contents foreword preface acknowledgments about this book Who should read this book How this book is organized: A road map About the code liveBook discussion forum about the author 1 Some basics 1.1 Introducing Rust 1.1.1 A pep talk 1.1.2 Rust is like a critical spouse 1.2 Comments 1.3 Primitive types: Integers, characters, and strings 1.4 Type inference 1.5 Floats 1.6 “Hello, World!” and printing 1.7 Declaring variables and code blocks 1.8 Display and Debug 1.9 Smallest and largest numbers 1.10 Mutability (changing) 1.11 Shadowing Summary 2 Memory, variables, and ownership 2.1 The stack, the heap, pointers, and references 2.2 Strings 2.3 const and static 2.4 More on references 2.5 Mutable references 2.5.1 Rust’s reference rules 2.5.2 Situation 1: Only one mutable reference 2.5.3 Situation 2: Only immutable references 2.5.4 Situation 3: The problem situation 2.6 Shadowing again 2.7 Giving references to functions 2.8 Copy types 2.9 Variables without values 2.10 More about printing Summary 3 More complex types 3.1 Collection types 3.1.1 Arrays 3.1.2 Vectors 3.1.3 Tuples 3.2 Control flow 3.2.1 Basic control flow 3.2.2 Match statements 3.2.3 Loops Summary 4 Building your own types 4.1 A quick overview of structs and enums 4.1.1 Structs 4.1.2 Enums 4.1.3 Casting enums into integers 4.1.4 Enums to use multiple types 4.1.5 Implementing structs and enums 4.2 Destructuring 4.3 References and the dot operator Summary 5 Generics, option, and result 5.1 Generics 5.2 Option and Result 5.2.1 Option 5.2.2 Result 5.2.3 Some other ways to do pattern matching Summary 6 More collections, more error handling 6.1 Other collections 6.1.1 HashMap (and BTreeMap) 6.1.2 HashSet and BTreeSet 6.1.3 BinaryHeap 6.1.4 VecDeque 6.2 The ? operator 6.3 When panic and unwrap are good Summary 7 Traits: Making different types do the same thing 7.1 Traits: The basics 7.1.1 All you need are the method signatures 7.1.2 More complex examples 7.1.3 Traits as bounds 7.1.4 Traits are like qualifications 7.2 The From trait 7.3 The orphan rule 7.4 Getting around the orphan rule with newtypes 7.5 Taking a String and a &str in a function Summary 8 Iterators and closures Iterators and closures 8.1 Chaining methods 8.2 Iterators 8.3 Closures and closures inside iterators 8.3.1 Closures inside of methods 8.3.2 Closures: Lazy and fast 8.3.3 |_| in a closure Summary 9 Iterators and closures again! 9.1 Helpful methods for closures and iterators 9.1.1 Mapping and filtering 9.1.2 Some more iterator and related methods 9.1.3 Checking and finding items inside iterators 9.1.4 Cycling, zipping, folding, and more 9.2 The dbg! macro and .inspect Summary 10 Lifetimes and interior mutability 10.1 Types of &str 10.2 Lifetime annotations 10.2.1 Lifetimes in functions 10.2.2 Lifetime annotations in types 10.2.3 The anonymous lifetime 10.3 Interior mutability 10.3.1 Cell 10.3.2 RefCell 10.3.3 Mutex 10.3.4 RwLock Summary 11 Multiple threads and a lot more 11.1 Importing and renaming inside a function 11.2 The todo! macro 11.3 Type aliases 11.4 Cow 11.5 Rc 11.5.1 Why Rc exists 11.5.2 Using Rc in practice 11.5.3 Avoiding lifetime annotations with Rc 11.6 Multiple threads 11.6.1 Spawning threads 11.6.2 Using JoinHandles to wait for threads to finish 11.6.3 Types of closures 11.6.4 Using the move keyword Summary 12 More on closures, generics, and threads 12.1 Closures as arguments 12.1.1 Some simple closures 12.1.2 The relationship between FnOnce, FnMut, and Fn 12.1.3 Closures are all unique 12.1.4 A closure example 12.2 impl Trait 12.2.1 Regular generics compared to impl Trait 12.2.2 Returning closures with impl Trait 12.3 Arc 12.4 Scoped threads 12.5 Channels 12.5.1 Channel basics 12.5.2 Implementing a channel Summary 13 Box and Rust documentation 13.1 Reading Rust documentation 13.1.1 assert_eq! 13.1.2 Searching 13.1.3 The [src] button 13.1.4 Information on traits 13.1.5 Attributes 13.2 Box 13.2.1 Some Box basics 13.2.2 Putting a Box around traits 13.2.3 Using a Box to handle multiple error types 13.2.4 Downcasting to a concrete type Summary 14 Testing and building your code from tests 14.1 Crates and modules 14.1.1 Module basics 14.1.2 More on how the pub keyword works 14.1.3 Modules inside modules 14.2 Testing 14.2.1 Just add #[test], and now it’s a test 14.2.2 What happens when tests fail 14.2.3 Writing multiple tests 14.3 Test-driven development 14.3.1 Building a calculator: Starting with the tests 14.3.2 Putting the calculator together Summary 15 Default, the builder pattern, and Deref 15.1 Implementing Default 15.2 The builder pattern 15.2.1 Writing builder methods 15.2.2 Adding a final check to the builder pattern 15.2.3 Making the builder pattern more rigorous 15.3 Deref and DerefMut 15.3.1 Deref basics 15.3.2 Implementing Deref 15.3.3 Implementing DerefMut 15.3.4 Using Deref the wrong way Summary 16 Const, “unsafe” Rust, and external crates 16.1 Const generics 16.2 Const functions 16.3 Mutable statics 16.4 Unsafe Rust 16.4.1 Overview of unsafe Rust 16.4.2 Using static mut in unsafe Rust 16.4.3 Rust’s most famous unsafe method 16.4.4 Methods ending in _unchecked 16.5 Introducing external crates 16.5.1 Crates and Cargo.toml 16.5.2 Using the rand crate 16.5.3 Rolling some dice with rand Summary 17 Rust’s most popular crates 17.1 serde 17.2 Time in the standard library 17.3 chrono 17.3.1 Checking the code inside external crates 17.3.2 Back to chrono 17.4 Rayon 17.5 Anyhow and thiserror 17.5.1 Anyhow 17.5.2 thiserror 17.6 Blanket trait implementations 17.7 lazy_static and once_cell 17.7.1 Lazy static: Lazily evaluated statics 17.7.2 OnceCell: A cell to only write to once Summary 18 Rust on your computer 18.1 Cargo 18.1.1 Why everyone uses Cargo 18.1.2 Using Cargo and what Rust does while it compiles 18.2 Working with user input 18.2.1 User input through stdin 18.2.2 Accessing command-line arguments 18.2.3 Accessing environment variables 18.3 Using files 18.3.1 Creating files 18.3.2 Opening existing files 18.3.3 Using OpenOptions to work with files 18.4 cargo doc Summary 19 More crates and async Rust 19.1 The reqwest crate 19.2 Feature flags 19.3 Async Rust 19.3.1 Async basics 19.3.2 Checking whether a Future is ready 19.3.3 Using an async run time 19.3.4 Some other details about async Rust Summary 20 A tour of the standard library 20.1 Arrays 20.1.1 Arrays now implement Iterator 20.1.2 Destructuring and mapping arrays 20.1.3 Using from_fn to make arrays 20.2 char 20.3 Integers 20.3.1 Checked operations 20.3.2 The Add trait and other similar traits 20.4 Floats 20.5 Associated items and associated constants 20.5.1 Associated functions 20.5.2 Associated types 20.5.3 Associated consts 20.6 bool 20.7 Vec 20.8 String 20.9 OsString and CString Summary 21 Continuing the tour 21.1 std::mem 21.2 Setting panic hooks 21.3 Viewing backtraces 21.4 The standard library prelude 21.5 Other macros 21.5.1 unreachable! 21.5.2 column!, line!, file!, and module_path! 21.5.3 thread_local! 21.5.4 cfg! Summary 22 Writing your own macros 22.1 Why macros exist 22.2 Writing basic macros 22.3 Reading macros from the standard library 22.4 Using macros to keep your code clean Summary 23 Unfinished projects: Projects for you to finish 23.1 Setup for the last two chapters 23.2 Typing tutor 23.2.1 Setup and first code 23.2.2 Developing the code 23.2.3 Further development and cleanup 23.2.4 Over to you 23.3 Wikipedia article summary searcher 23.3.1 Setup and first code 23.3.2 Developing the code 23.3.3 Further development and cleanup 23.3.4 Over to you 23.4 Terminal stopwatch and clock 23.4.1 Setup and first code 23.4.2 Developing the code 23.4.3 Further development and cleanup 23.4.4 Over to you Summary 24 Unfinished projects, continued 24.1 Web server word-guessing game 24.1.1 Setup and first code 24.1.2 Developing the code 24.1.3 Further development and cleanup 24.1.4 Over to you 24.2 Laser pointer 24.2.1 Setup and first code 24.2.2 Developing the code 24.2.3 Further development and cleanup 24.2.4 Over to you 24.3 Directory and file navigator 24.3.1 Setup and first code 24.3.2 Developing the code 24.3.3 Further development and cleanup 24.3.4 Over to you Summary index Symbols A B C D E F G H I J K L M N O P Q R S T U V W Y Z Learn Rust in a Month of Lunches -back