Description
Rust Programming Course Part 2: Advanced Rust Concepts and Real Projects. This training course takes an in-depth look at the concepts and principles of professional Rust programming. In this course, while learning theoretical topics, you will also improve your practical skills by studying and applying real-life examples.
This hands-on course will teach you how to organize Rust programs using functions, structures, and traits. You’ll learn how to use these techniques to achieve familiar object-oriented programming goals such as abstraction, encapsulation, inheritance, and polymorphism. You’ll also learn how Rust solves important problems such as generics and multithreading. One of the key goals of this course is to understand how to properly structure large Rust applications. To achieve this goal, the course provides comprehensive guidance on two real-world applications. The first program shows how to implement a CSV file parser, and the second program shows how to access a relational database. These programs are designed to teach you the skills needed to use Rust effectively and efficiently.
What you’ll learn in Rust Programming Part 2: Advanced Rust Concepts and Real-World Projects:
- Structuring Rust code. This section discusses the details of defining functions, closures such as lambda expressions, and structures.
- Advanced Rust programming concepts. This section covers defining characteristics, working with generic data types, and implementing multithreading and parallelism. You will also learn about dynamic heap allocation and integration with other programming languages.
- Rust in the real world. This section shows how to use Rust for real-world applications. The focus is on how to implement a CSV file parser and how to use Rust to access a relational database.
This course is suitable for people who:
- Developers who want to learn the details of writing efficient, well-structured programs in Rust.
- People with previous experience with object-oriented programming languages.
Course details
- Publisher: Oreily
- Instructor: Andy Olsen
- Level of training: from beginner to advanced
- Duration of training: 12 hours 58 minutes
Course headings
- Introduction
- Programming in Rust. Part 2: Introduction
- Module 3: Structuring Rust Code
- module introduction
- Lesson 8: A Closer Look at Functions
- Learning Objectives
- 8.1 Transferring parameter values
- 8.2 Transfer of reference parameters – Part 1
- 8.3 Transfer of reference parameters – Part 2
- 8.4 Transfer of variable reference parameters
- 8.5 Returning a value
- 8.6 Returning a link
- 8.7 Returning a mutable reference
- Lesson 9: Nested Functions and Closures
- Learning Objectives
- 9.1 Nested functions
- 9.2 Getting started with closures
- 9.3 Using pin type with closures
- 9.4 Capturing variables by reference
- 9.5 Collecting Variables by Value – Part 1
- 9.6 Collecting Variables by Value – Part 2
- 9.7 Iterating through the collection
- Lesson 10: Defining Simple Structures
- Learning Objectives
- 10.1 Determination of design type
- 10.2 Creating and using structure instances
- 10.3 Passing structure parameters by value
- 10.4 Passing structure parameters by reference
- 10.5 Returning structures by value
- 10.6 Returning structures by reference
- Lesson 11: Implementing Functionality in a Structure
- Learning Objectives
- 11.1 Implementation of simple functionality
- 11.2 Implementing mutable functionality
- 11.3 Organizing code into modules
- 11.4 Definition of related functions
- 11.5 Definition of linked data
- Module 4: Advanced Rust Programming Concepts
- module introduction
- Lesson 12: Identifying Traits
- Learning Objectives
- 12.1 Basic character traits
- 12.2 Technical specifications
- 12.3 Inheritance and polymorphism
- 12.4 Inheritance of traits
- 12.5 Implementing the Display trait
- 12.6 Implementing the Debug trait
- 12.7 Implementing the Drop trait
- 12.8 Implementing the Clone trait
- 12.9 Implementing the copy trait
- Lesson 13: Generics
- Learning Objectives
- 13.1 General structures
- 13.2 General functions
- 13.3 Type restrictions
- 13.4 Implementing the PartialEq trait
- 13.5 Implementation of Eq and Hash features
- 13.6 Implementing the PartialOrd trait
- 13.7 Implementation of the Ord trait
- 13.8 Understanding how closures work
- 13.9 Passing Closures to Functions – Part 1
- 13.10 Passing Closures to Functions – Part 2
- Lesson 14: Multithreading and Concurrency
- Learning Objectives
- 14.1 Creating a stream
- 14.2 Joining a topic
- 14.3 Merging multiple streams
- 14.4 State capture
- 14.5 Capturing state via explicit movement
- 14.6 Transferring data between threads using channels
- Lesson 15: Additional Rust Techniques
- Learning Objectives
- 15.1 Introduction to boxing
- 15.2 Using boxing in practice. Part 1.
- 15.3 Using boxing in practice. Part 2.
- 15.4 Reference counting
- 15.5 Definition of unsafe code
- 15.6 Integration with other languages
- Module 5: Real Rust in Action
- module introduction
- Lesson 16: Rust Project #1: Implementing a CSV Parser
- Learning Objectives
- 16.1 Understanding the Application Scenario – Part 1
- 16.2 Understanding the Application Scenario – Part 2
- 16.3 Understanding application structure
- 16.4 Command line analysis
- 16.5 Reading and writing data to a file
- 16.6 Implementation of the menu system
- 16.7 Storing Date Information – Part 1
- 16.8 Saving date information – Part 2
- 16.9 Saving date information – Part 3
- 16.10. Further actions for data processing. Part 1.
- 16.11. Further actions for data processing. Part 2.
- Lesson 17: Rust Project #2: Relational Database Access
- Learning Objectives
- 17.1 Getting started
- 17.2 Understanding application structure
- 17.3 Connecting to the database
- 17.4 Executing a simple SQL statement
- 17.5 Executing a Parameterized SQL Statement
- 17.6 Executing a data selection query
- 17.7 Summing up
- Summary
- Programming in Rust. Part 2: Summary
course images
Example video course
installation instructions
Once extracted, watch using your favorite player.
English subtitles
Quality: 720p
Download link
Password for file(s): www.downloadly.ir
size
2.5 GB