Rust Programming Part 2: Rust Advanced Concepts and Real-World Projects

Video description

13 Hours of Video Instruction

Rust programming for real-world applications.

Rust Programming Part 2: Rust Advanced Concepts and Real-World Projects dives into professional Rust Programming concepts and practices while exploring hands-on skills through demonstrations of real-world applications.

This hands-on course will look at how to organize Rust applications into functions, structures, and traits. You will learn how to use these techniques to achieve familiar object-oriented goals such as abstraction, encapsulation, inheritance, and polymorphism. You will also learn how Rust deals with important issues such as generic types and multithreading.

A key objective of the course is for you to understand how to structure large applications properly in Rust. To this end, the course presents a detailed walkthrough of two complete real-world applications. The first application shows how to implement a CSV file parser, and the second application shows how to access a relational database. These applications were designed so you can learn the skills needed to start using Rust effectively and efficiently.

Topics included in this course:

  • Structuring Rust Code dives into the details of how to define functions closures (for example, lambdas), and structs.
  • Advanced Rust Programming Concepts delves into defining traits, working with generics, and implementing multithreading and concurrency. You will also learn about dynamic heap allocation and integration with other programming languages.
  • Real-World Rust in Action shows you how to use Rust for real-world applications. It focuses on how to implement a CSV file parser and how to use Rust to access a relational database.

Demo files for this course are available for download from https://www.informit.com/store/rust-programming-essentials-video-course-9780138201647.

About the Instructor

Andy Olsen is a freelance consultant, instructor, and developer with more than 30 years of experience in IT. Andy began his professional career as a C/C++ developer and transitioned into Java, C#, and other languages as the years passed. Andy is actively involved in a wide range of technologies including full-stack development, cloud native applications, data science, and more. Andy is passionate about technology education and runs training courses around the world across diverse market sectors.

Skill Level:

  • Intermediate

Learn How To:

  • Use object-oriented programming techniques
  • Implement concurrency
  • Explore additional Rust techniques
  • Implement file handling
  • Access a database

Course requirement:

  • None

Who Should Take This Course:

  • Developers that need to learn the details of how to write efficient and well-structured Rust applications
  • People with prior OO language experience

About Pearson Video Training:

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Sams, and Que. Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.

Table of contents

  1. Introduction
    1. Rust Programming Part 2: Introduction
  2. Module 3: Structuring Rust Code
    1. Module introduction
  3. Lesson 8: A Closer Look at Functions
    1. Learning objectives
    2. 8.1 Passing value parameters
    3. 8.2 Passing reference parameters - Part 1
    4. 8.3 Passing reference parameters - Part 2
    5. 8.4 Passing mutable reference parameters
    6. 8.5 Returning a value
    7. 8.6 Returning a reference
    8. 8.7 Returning a mutable reference
  4. Lesson 9: Nested Functions and Closures
    1. Learning objectives
    2. 9.1 Nested functions
    3. 9.2 Getting started with closures
    4. 9.3 Using type inference with closures
    5. 9.4 Capturing variables by reference
    6. 9.5 Capturing variables by value - Part 1
    7. 9.6 Capturing variables by value - Part 2
    8. 9.7 Iterating over a collection
  5. Lesson 10: Defining Simple Structs
    1. Learning objectives
    2. 10.1 Defining a struct type
    3. 10.2 Creating and using struct instances
    4. 10.3 Passing struct parameters by value
    5. 10.4 Passing struct parameters by reference
    6. 10.5 Returning structs by value
    7. 10.6 Returning structs by reference
  6. Lesson 11: Implementing Functionality in a Struct
    1. Learning objectives
    2. 11.1 Implementing simple functionality
    3. 11.2 Implementing mutable functionality
    4. 11.3 Organizing code into modules
    5. 11.4 Defining associated functions
    6. 11.5 Defining associated data
  7. Module 4: Advanced Rust Programming Concepts
    1. Module introduction
  8. Lesson 12: Defining Traits
    1. Learning objectives
    2. 12.1 Trait essentials
    3. 12.2 Trait techniques
    4. 12.3 Inheritance and polymorphism
    5. 12.4 Trait inheritance
    6. 12.5 Implementing the Display trait
    7. 12.6 Implementing the Debug trait
    8. 12.7 Implementing the Drop trait
    9. 12.8 Implementing the Clone trait
    10. 12.9 Implementing the Copy trait
  9. Lesson 13: Generics
    1. Learning objectives
    2. 13.1 Generic structs
    3. 13.2 Generic functions
    4. 13.3 Type constraints
    5. 13.4 Implementing the PartialEq trait
    6. 13.5 Implementing the Eq and Hash traits
    7. 13.6 Implementing the PartialOrd trait
    8. 13.7 Implementing the Ord trait
    9. 13.8 Understanding how closures work
    10. 13.9 Passing closures into functions - Part 1
    11. 13.10 Passing closures into functions - Part 2
  10. Lesson 14: Multithreading and Concurrency
    1. Learning objectives
    2. 14.1 Spawning a thread
    3. 14.2 Joining a thread
    4. 14.3 Joining multiple threads
    5. 14.4 Capturing state
    6. 14.5 Capturing state via an explicit move
    7. 14.6 Communicating data between threads by using channels
  11. Lesson 15: Additional Rust Techniques
    1. Learning objectives
    2. 15.1 Introduction to boxing
    3. 15.2 Using boxing in practice - Part 1
    4. 15.3 Using boxing in practice - Part 2
    5. 15.4 Reference counting
    6. 15.5 Defining unsafe code
    7. 15.6 Integrating with other languages
  12. Module 5: Real-World Rust in Action
    1. Module introduction
  13. Lesson 16: Rust Project #1: Implementing a CSV Parser
    1. Learning objectives
    2. 16.1 Understanding the application scenario - Part 1
    3. 16.2 Understanding the application scenario - Part 2
    4. 16.3 Understanding the application structure
    5. 16.4 Parsing the command line
    6. 16.5 Reading and writing data in a file
    7. 16.6 Implementing a menu system
    8. 16.7 Storing date information - Part 1
    9. 16.8 Storing date information - Part 2
    10. 16.9 Storing date information - Part 3
    11. 16.10 Going further with date processing - Part 1
    12. 16.11 Going further with date processing - Part 2
  14. Lesson 17: Rust Project #2: Accessing a Relational Database
    1. Learning objectives
    2. 17.1 Getting started
    3. 17.2 Understanding the application structure
    4. 17.3 Connecting to a database
    5. 17.4 Executing a simple SQL statement
    6. 17.5 Executing a parameterized SQL statement
    7. 17.6 Executing a query to select data
    8. 17.7 Wrapping up
  15. Summary
    1. Rust Programming Part 2: Summary

Product information

  • Title: Rust Programming Part 2: Rust Advanced Concepts and Real-World Projects
  • Author(s): Andy Olsen
  • Release date: September 2023
  • Publisher(s): Pearson
  • ISBN: 013831683X