Rust: Building Reusable Code with Rust from Scratch

  • Course provided by Udemy
  • Study type: Online
  • Starts: Anytime
  • Price: See latest price on Udemy
Udemy

Course Description

Rust is a systems programming language with a focus on safety, especially safe concurrency, supporting both functional and imperative paradigms, syntactically similar to C++, but its designers intend it to provide better memory safety while still maintaining performance.

With this hands-on, practical course, you’ll begin from scratch by getting familiar with the basic syntax and concepts of Rust, defining functions and creating variables & much more. Then you'll learn to test your code by building a simple crate with a tested, usable, well-documented API using Cargo & RustDoc. Next, you will work with different forms of code reuse, loops, map, filter and fold to save time and resources & to use your code in a reusable manner in your apps.

By end of this course you will be able to avoid code duplication and write clean reusable code, also you'll be comfortable building various solutions in Rust

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Learning Rust begins by getting familiar with the basic syntax and concepts of Rust, from writing a Hello World program to defining functions and creating variables. Then you’ll see how to manage toolchains with Rust up and build your first command-line program. Moving on, you’ll explore Rust’s type system to write better code and put it into practice in a simple markup language. You’ll learn to use Rust’s functional programming features to perform a physics simulation and use the Rayon crate to parallelize your computations. Finally, you’ll discover the best practices and test your code by building a simple crate with a tested, usable, well-documented API using Cargo and RustDoc. By the end of the video, you’ll be comfortable building various solutions in Rust. You’ll be able to take advantage of Rust’s powerful type system and a rich ecosystem of libraries, or “crates”, available through the Cargo package manager.

The second course, Building Reusable Code with Rust will start with teaching you how to build reusable Rust code so that you can stop copying and pasting the code. Write code that can adapt to many different usages. You will reuse code by using advanced features such as traits, generics, and macros. You will work with different forms of code reuse, loops, map, filter and fold to save time and resources. Achieve higher-level reuse without sacrificing runtime performance. Organize your code into modules and crates to publish them to crates .io. By the end of the course, you will be able to avoid code duplication and write clean reusable code.

Who this course is for:

  • Discover the advantages of the Rust up toolchain manager and the Cargo build tool
  • Prevent data races and memory corruption by controlling exclusive versus shared access
  • Build powerful abstractions with traits and bounded generics
  • Create concise pipelines with closures and iterators
  • Understand generics and learn to use it to abstract algorithms for multiple data types
  • Define and enforce clear interface using traits
  • Explore how the standard library uses features such as generics, traits, and macros
  • Structure your code with modules and crates and publish them online

Instructor

Tech Knowledge in Motion
  • 3.9 Instructor Rating
  • 61,448 Reviews
  • 365,346 Students
  • 1,417 Courses

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.



Expected Outcomes

  1. This course is aimed at developers, C/C++, Rust & System developers who are familiar with programming and want to learn how to code in Rust and re-use Rust code and libraries from scratch. Course content 2 sections • 68 lectures • 6h 16m total length Expand all sections Learning Rust 41 lectures • 4hr 14min The Course Overview Preview 01:34 Bindings and Mutability 02:15 Built-In Types 12:00 Imports and Namespaces 07:24 The Standard Library 04:24 Recursive Fibonacci 05:14 Dynamic Fibonacci 07:23 Installing Rust with Rustup Preview 02:17 Managing Toolchains with Rustup 02:29 Creating Projects with Cargo 08:15 Exploring the Crate Ecosystem 05:16 Rustdoc and the Documentation Ecosystem 04:36 Adding Dependencies with Cargo 14:01 Motivation for the Borrow Checker Preview 03:53 Ownership, Borrowing, and RAII 06:27 Shared and Exclusive Access 12:26 Fighting with the Borrow Checker 02:10 Strings, Strs, Vecs, and Slices 03:26 Understanding Borrow Checker Errors 01:14 Structured Data 08:20 Enumerations 04:35 Match Expressions 10:56 Designing a Markup Language 04:37 Implementing the Markup Language 13:19 Introduction to Traits 02:05 Built-In Traits 03:00 Writing Your Own Traits 07:58 Generic Functions 05:40 Generic Types 02:02 Trait Objects and Dynamic Dispatch 04:13 Closures 06:08 Iterators 05:17 Map, Filter, and Fold 05:05 Building a Barycenter Finder 10:58 Parallelizing the Barycenter Finder 11:10 Breaking Up Code with Modules 03:47 Error Handling 03:00 API Design 02:34 Unit Testing 18:00 Integration Testing 06:48 Documentation 07:27 Test Your Knowledge 5 questions Building Reusable Code with Rust 27 lectures • 2hr 3min The Course Overview Preview 03:15 Setting Up the Rust Development Environment 03:54 Exploring Code Reuse in Rust 03:15 Loops and Iterators 05:40 Using Functional Programming Loops 13:49 Functions in Rust 03:06 Exploring Generics Preview 02:26 Use Generic Functions to Reuse Algorithms 03:49 Reuse Structures in Enums and Structs 02:30 Working with Generic in Struct Methods 03:43 Generics in the Rust Standard Library – Part I 03:45 Generics in the Rust Standard Library – Part II 05:48 Exploring Traits 03:12 Using Trait Bounds and Trait Objects to Communicate Interfaces 03:41 Associated Types versus Generics and Trait Inheritance 02:56 Exploring Traits, Generics, and Performance 03:30 Traits in the Rust Standard Library – Part I 07:42 Traits in the Rust Standard Library – Part II 06:24 Write Code with Code – Metaprogramming in Rust 02:28 Use Declarative Macros to Write Less Code 04:05 Using Procedural Macros for Custom Derive 04:43 Macros in the Rust Standard Library – Part I 04:55 Macros in the Rust Standard Library – Part II 05:39 Introducing Crates 05:05 Using Modules to Define the Structure of Crates 04:27 Using a Crate with Cargo.toml 06:06 Publishing to crates.io 02:47 Test Your Knowledge 5 questions Requirements This course is aimed at developers, C/C++ developers & system developers who are familiar with programming and want to learn how to code in Rust and re-use Rust codessss. Description Rust is a systems programming language with a focus on safety, especially safe concurrency, supporting both functional and imperative paradigms, syntactically similar to C++, but its designers intend it to provide better memory safety while still maintaining performance. With this hands-on, practical course, you’ll begin from scratch by getting familiar with the basic syntax and concepts of Rust, defining functions and creating variables & much more. Then you'll learn to test your code by building a simple crate with a tested, usable, well-documented API using Cargo & RustDoc. Next, you will work with different forms of code reuse, loops, map, filter and fold to save time and resources & to use your code in a reusable manner in your apps. By end of this course you will be able to avoid code duplication and write clean reusable code, also you'll be comfortable building various solutions in Rust Contents and Overview This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible. The first course, Learning Rust begins by getting familiar with the basic syntax and concepts of Rust, from writing a Hello World program to defining functions and creating variables. Then you’ll see how to manage toolchains with Rust up and build your first command-line program. Moving on, you’ll explore Rust’s type system to write better code and put it into practice in a simple markup language. You’ll learn to use Rust’s functional programming features to perform a physics simulation and use the Rayon crate to parallelize your computations. Finally, you’ll discover the best practices and test your code by building a simple crate with a tested, usable, well-documented API using Cargo and RustDoc. By the end of the video, you’ll be comfortable building various solutions in Rust. You’ll be able to take advantage of Rust’s powerful type system and a rich ecosystem of libraries, or “crates”, available through the Cargo package manager. The second course, Building Reusable Code with Rust will start with teaching you how to build reusable Rust code so that you can stop copying and pasting the code. Write code that can adapt to many different usages. You will reuse code by using advanced features such as traits, generics, and macros. You will work with different forms of code reuse, loops, map, filter and fold to save time and resources. Achieve higher-level reuse without sacrificing runtime performance. Organize your code into modules and crates to publish them to crates .io. By the end of the course, you will be able to avoid code duplication and write clean reusable code. Who this course is for: Discover the advantages of the Rust up toolchain manager and the Cargo build tool Prevent data races and memory corruption by controlling exclusive versus shared access Build powerful abstractions with traits and bounded generics Create concise pipelines with closures and iterators Understand generics and learn to use it to abstract algorithms for multiple data types Define and enforce clear interface using traits Explore how the standard library uses features such as generics, traits, and macros Structure your code with modules and crates and publish them online Show more Show less Featured review Angel Figueroa 15 courses 1 review Rating: 5.0 out of 5 a year ago the course is good to grasp a bit for rust, the only thing is one of the exercises describing default implementations on traits is not okay. It's trying to access struct fields in this case self.name, and that's not possible. just minor issue. Show more Show less Instructor Packt Publishing Tech Knowledge in Motion 3.9 Instructor Rating 61,448 Reviews 365,346 Students 1,417 Courses Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work. With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now. From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer. Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6777b4e3b801e5ec',m:'3607bcbb5dcc50fe6db02aabcbb1db4057c60eab-1627743735-1800-AYA/+oUN4v2FL73ighfTLOnL6EoIijam6bBhHG+N4rc66DYTgwexlHGvcUz4y+nzVZkqCGwxkNQQfHgjgrwRiMl62pxANJqvQIrZERBXI+msggVKVISLFxfk9N+k9+gnc+g1/z8Ae/dqCMDduYp+HZgg0733Qi8uWZq95CPXIGKdL6J+GaX1UxL6F9Qn4gnv9g==',s:[0x87c5d03fa6,0x59d490017c],}})();