The the Complete Rust Programming Reference Guide : (Record no. 10751)
[ view plain ]
000 -LEADER | |
---|---|
fixed length control field | 11531nam a22005173i 4500 |
001 - CONTROL NUMBER | |
control field | EBC5779695 |
003 - CONTROL NUMBER IDENTIFIER | |
control field | MiAaPQ |
005 - DATE AND TIME OF LATEST TRANSACTION | |
control field | 20240724113724.0 |
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS | |
fixed length control field | m o d | |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION | |
fixed length control field | cr cnu|||||||| |
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION | |
fixed length control field | 240724s2019 xx o ||||0 eng d |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
International Standard Book Number | 9781838826383 |
Qualifying information | (electronic bk.) |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
Canceled/invalid ISBN | 9781838828103 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (MiAaPQ)EBC5779695 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (Au-PeEL)EBL5779695 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (OCoLC)1103221534 |
040 ## - CATALOGING SOURCE | |
Original cataloging agency | MiAaPQ |
Language of cataloging | eng |
Description conventions | rda |
-- | pn |
Transcribing agency | MiAaPQ |
Modifying agency | MiAaPQ |
050 #4 - LIBRARY OF CONGRESS CALL NUMBER | |
Classification number | QA76.76.A65 .S537 2019 |
082 0# - DEWEY DECIMAL CLASSIFICATION NUMBER | |
Classification number | 005.3 |
100 1# - MAIN ENTRY--PERSONAL NAME | |
Personal name | Sharma, Rahul. |
245 14 - TITLE STATEMENT | |
Title | The the Complete Rust Programming Reference Guide : |
Remainder of title | Design, Develop, and Deploy Effective Software Systems Using the Advanced Constructs of Rust. |
250 ## - EDITION STATEMENT | |
Edition statement | 1st ed. |
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE | |
Place of production, publication, distribution, manufacture | Birmingham : |
Name of producer, publisher, distributor, manufacturer | Packt Publishing, Limited, |
Date of production, publication, distribution, manufacture, or copyright notice | 2019. |
264 #4 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE | |
Date of production, publication, distribution, manufacture, or copyright notice | ©2019. |
300 ## - PHYSICAL DESCRIPTION | |
Extent | 1 online resource (685 pages) |
336 ## - CONTENT TYPE | |
Content type term | text |
Content type code | txt |
Source | rdacontent |
337 ## - MEDIA TYPE | |
Media type term | computer |
Media type code | c |
Source | rdamedia |
338 ## - CARRIER TYPE | |
Carrier type term | online resource |
Carrier type code | cr |
Source | rdacarrier |
505 0# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Cover -- Title Page -- Copyright -- About Packt -- Contributors -- Table of Contents -- Preface -- Chapter 1: Getting Started with Rust -- What is Rust and why should you care? -- Installing the Rust compiler and toolchain -- Using rustup.rs -- A tour of the language -- Primitive types -- Declaring variables and immutability -- Functions -- Closures -- Strings -- Conditionals and decision making -- Match expressions -- Loops -- User-defined types -- Structs -- Enums -- Functions and methods on types -- Impl blocks on structs -- Impl blocks for enums -- Modules, imports, and use statements -- Collections -- Arrays -- Tuples -- Vectors -- Hashmaps -- Slices -- Iterators -- Exercise - fixing the word counter -- Summary -- Chapter 2: Managing Projects with Cargo -- Package managers -- Modules -- Nested modules -- File as a module -- Directory as module -- Cargo and crates -- Creating a new Cargo project -- Cargo and dependencies -- Running tests with Cargo -- Running examples with Cargo -- Cargo workspace -- Extending Cargo and tools -- Subcommands and Cargo installation -- cargo-watch -- cargo-edit -- cargo-deb -- cargo-outdated -- Linting code with clippy -- Exploring the manifest file - Cargo.toml -- Setting up a Rust development environment -- Building a project with Cargo - imgtool -- Summary -- Chapter 3: Tests, Documentation, and Benchmarks -- Motivation for testing -- Organizing tests -- Testing primitives -- Attributes -- Assertion macros -- Unit tests -- First unit test -- Running tests -- Isolating test code -- Failing tests -- Ignoring tests -- Integration tests -- First integration test -- Sharing common code -- Documentation -- Writing documentation -- Generating and viewing documentation -- Hosting documentation -- Doc attributes -- Documentation tests -- Benchmarks -- Built-in micro-benchmark harness -- Benchmarking on stable Rust. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Writing and testing a crate - logic gate simulator -- Continuous integration with Travis CI -- Summary -- Chapter 4: Types, Generics, and Traits -- Type systems and why they matter -- Generics -- Creating generic types -- Generic functions -- Generic types -- Generic implementations -- Using generics -- Abstracting behavior with traits -- Traits -- The many forms of traits -- Marker traits -- Simple traits -- Generic traits -- Associated type traits -- Inherited traits -- Using traits with generics - trait bounds -- Trait bounds on types -- Trait bounds on generic functions and impl blocks -- Using + to compose traits as bounds -- Trait bounds with impl trait syntax -- Exploring standard library traits -- True polymorphism using trait objects -- Dispatch -- Trait objects -- Summary -- Chapter 5: Memory Management and Safety -- Programs and memory -- How do programs use memory? -- Memory management and its kinds -- Approaches to memory allocation -- The stack -- The heap -- Memory management pitfalls -- Memory safety -- Trifecta of memory safety -- Ownership -- A brief on scopes -- Move and copy semantics -- Duplicating types via traits -- Copy -- Clone -- Ownership in action -- Borrowing -- Borrowing rules -- Borrowing in action -- Method types based on borrowing -- Lifetimes -- Lifetime parameters -- Lifetime elision and the rules -- Lifetimes in user defined types -- Lifetime in impl blocks -- Multiple lifetimes -- Lifetime subtyping -- Specifying lifetime bounds on generic types -- Pointer types in Rust -- References - safe pointers -- Raw pointers -- Smart pointers -- Drop -- Deref and DerefMut -- Types of smart pointers -- Box< -- T> -- -- Reference counted smart pointers -- Rc< -- T> -- -- Interior mutability -- Cell< -- T> -- -- RefCell< -- T> -- -- Uses of interior mutability -- Summary -- Chapter 6: Error Handling. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Error handling prelude -- Recoverable errors -- Option -- Result -- Combinators on Option/Result -- Common combinators -- Using combinators -- Converting between Option and Result -- Early returns and the ? operator -- Non-recoverable errors -- User-friendly panics -- Custom errors and the Error trait -- Summary -- Chapter 7: Advanced Concepts -- Type system tidbits -- Blocks and expressions -- Let statements -- Loop as an expression -- Type clarity and sign distinction in numeric types -- Type inference -- Type aliases -- Strings -- Owned strings - String -- Borrowed strings - & -- str -- Slicing and dicing strings -- Using strings in functions -- Joining strings -- When to use & -- str versus String ? -- Global values -- Constants -- Statics -- Compile time functions - const fn -- Dynamic statics using the lazy_static! macro -- Iterators -- Implementing a custom iterator -- Advanced types -- Unsized types -- Function types -- Never type ! and diverging functions -- Unions -- Cow -- Advanced traits -- Sized and ?Sized -- Borrow and AsRef -- ToOwned -- From and Into -- Trait objects and object safety -- Universal function call syntax -- Trait rules -- Closures in depth -- Fn closures -- FnMut closures -- FnOnce closures -- Consts in structs, enums, and traits -- Modules, paths, and imports -- Imports -- Re-exports -- Selective privacy -- Advanced match patterns and guards -- Match guards -- Advanced let destructure -- Casting and coercion -- Types and memory -- Memory alignment -- Exploring the std::mem module -- Serialization and deserialization using serde -- Summary -- Chapter 8: Concurrency -- Program execution models -- Concurrency -- Approaches to concurrency -- Kernel-based -- User-level -- Pitfalls -- Concurrency in Rust -- Thread basics -- Customizing threads -- Accessing data from threads -- Concurrency models with threads. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Shared state model -- Shared ownership with Arc -- Mutating shared data from threads -- Mutex -- Shared mutability with Arc and Mutex -- RwLock -- Communicating through message passing -- Asynchronous channels -- Synchronous channels -- thread-safety in Rust -- What is thread-safety? -- Traits for thread-safety -- Send -- Sync -- Concurrency using the actor model -- Other crates -- Summary -- Chapter 9: Metaprogramming with Macros -- What is metaprogramming? -- When to use and not use Rust macros -- Macros in Rust and their types -- Types of macros -- Creating your first macro with macro_rules! -- Built-in macros in the standard library -- macro_rules! token types -- Repetitions in macros -- A more involved macro - writing a DSL for HashMap initialization -- Macro use case - writing tests -- Exercises -- Procedural macros -- Derive macros -- Debugging macros -- Useful procedural macro crates -- Summary -- Chapter 10: Unsafe Rust and Foreign Function Interfaces -- What is safe and unsafe really? -- Unsafe functions and blocks -- Unsafe traits and implementations -- Calling C code from Rust -- Calling Rust code from C -- Using external C/C++ libraries from Rust -- Creating native Python extensions with PyO3 -- Creating native extensions in Rust for Node.js -- Summary -- Chapter 11: Logging -- What is logging and why do we need it? -- The need for logging frameworks -- Logging frameworks and their key features -- Approaches to logging -- Unstructured logging -- Structured logging -- Logging in Rust -- log - Rust's logging facade -- The env_logger -- log4rs -- Structured logging using slog -- Summary -- Chapter 12: Network Programming in Rust -- Network programming prelude -- Synchronous network I/O -- Building a synchronous redis server -- Asynchronous network I/O -- Async abstractions in Rust -- Mio -- Futures -- Tokio. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Building an asynchronous redis server -- Summary -- Chapter 13: Building Web Applications with Rust -- Web applications in Rust -- Typed HTTP with Hyper -- Hyper server APIs - building a URL shortener -- hyper as a client - building a URL shortener client -- Web frameworks -- Actix-web basics -- Building a bookmarks API using Actix-web -- Summary -- Chapter 14: Lists, Lists, and More Lists -- Linked lists -- A transaction log -- Adding entries -- Log replay -- After use -- Wrap up -- Upsides -- Downsides -- Doubly linked list -- A better transaction log -- Examining the log -- Reverse -- Wrap up -- Upsides -- Downsides -- Skip lists -- The best transaction log -- The list -- Adding data -- Leveling up -- Jumping around -- Thoughts and discussion -- Upsides -- Downsides -- Dynamic arrays -- Favorite transactions -- Internal arrays -- Quick access -- Wrap up -- Upsides -- Downsides -- Summary -- Further reading -- Chapter 15: Robust Trees -- Binary search tree -- IoT device management -- More devices -- Finding the right one -- Finding all devices -- Wrap up -- Upsides -- Downsides -- Red-black tree -- Better IoT device management -- Even more devices -- Balancing the tree -- Finding the right one, now -- Wrap up -- Upsides -- Downsides -- Heaps -- A huge inbox -- Getting messages in -- Taking messages out -- Wrap up -- Upsides -- Downsides -- Trie -- More realistic IoT device management -- Adding paths -- Walking -- Wrap up -- Upsides -- Downsides -- B-Tree -- An IoT database -- Adding stuff -- Searching for stuff -- Walking the tree -- Wrap up -- Upsides -- Downsides -- Graphs -- The literal Internet of Things -- Neighborhood search -- The shortest path -- Wrap up -- Upsides -- Downsides -- Summary -- Chapter 16: Exploring Maps and Sets -- Hashing -- Create your own -- Message digestion -- Wrap up -- Maps -- A location cache -- The hash function. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Adding locations. |
520 ## - SUMMARY, ETC. | |
Summary, etc. | This Learning Path is your easy reference to mastering Rust programming. It begins with an introduction to Rust data structures and algorithms and covers the entire spectrum, including memory safety, type system, concurrency, and other features of Rust 2018. |
588 ## - SOURCE OF DESCRIPTION NOTE | |
Source of description note | Description based on publisher supplied metadata and other sources. |
590 ## - LOCAL NOTE (RLIN) | |
Local note | Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | Application software-Development. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | Rust (Computer program language). |
655 #4 - INDEX TERM--GENRE/FORM | |
Genre/form data or focus term | Electronic books. |
700 1# - ADDED ENTRY--PERSONAL NAME | |
Personal name | Kaihlavirta, Vesa. |
700 1# - ADDED ENTRY--PERSONAL NAME | |
Personal name | Matzinger, Claus. |
776 08 - ADDITIONAL PHYSICAL FORM ENTRY | |
Relationship information | Print version: |
Main entry heading | Sharma, Rahul |
Title | The the Complete Rust Programming Reference Guide |
Place, publisher, and date of publication | Birmingham : Packt Publishing, Limited,c2019 |
International Standard Book Number | 9781838828103 |
797 2# - LOCAL ADDED ENTRY--CORPORATE NAME (RLIN) | |
Corporate name or jurisdiction name as entry element | ProQuest (Firm) |
856 40 - ELECTRONIC LOCATION AND ACCESS | |
Uniform Resource Identifier | <a href="https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5779695">https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5779695</a> |
Public note | Click to View |
No items available.