[Let’s Get Rusty] Rust Developer Bootcamp

Let’s Get Rusty – Rust Developer Bootcamp [FCO]

 

About

Lets Get Rusty – Bootcamp for Rust developers

Who is this bootcamp for? Experienced developers who want to switch to Rust. Learn the language of the future. Your time is valuable ($148,688/year, literally). Learn Rust FAST with a bootcamp instead of digging through poor quality resources. Students/Graduates looking for work. Learning Rust is a great addition to a resume. Stand out from other candidates. Become a competent programmer. Gain access to a community that can help you find your first job. And you! Rust enthusiast. Rust is an innovative language that will expand your thinking! Cutting-edge technologies are created in Rust.

You will learn how to set up your development environment, configure your development environment (IDE), and install the necessary plugins. Then you’ll create your first Rust project!

 

You will learn:

• How to Set Up Your Development Environment
• Setting up your IDE and plugins
• Creating Rust Packages Using Cargo
• Variables and Data Types in Rust
• Constant and static variables
• Functions and Flow Control

Understanding memory management is critical when learning Rust! In this section, you’ll learn about memory management from the very beginning!

You will learn:

• Computer Science Masterclass Based on Rust
• How does the ownership mechanism work?
• How does the borrowing mechanism work?
• What are slices
• String types (str, &str and String)

Rust doesn’t use classes or objects! Instead, Rust uses Structs and Enums to create custom data types. In this section, you’ll learn how to create your own types!

You will learn:

• How to create structures and enumerations
• How to use implementation blocks
• Pattern matching
• Option and Result enumerations
• Vectors

How to Structure Your Rust Projects

In this section, I will explain how modules work in a clear way. I’ll also talk about structuring larger projects and publishing your work on Crates.io.

You will learn:

• Project structure overview
• Module system
• External dependencies
• Conditional compilation
• How to structure large projects
• Publishing your projects in Rust

How to Test and Document Your Code

Tests are a critical part of writing reliable code. In this section, you’ll learn how to write and structure unit and integration tests in Rust. We will also look at documentation issues.

You will learn:

• How to Write Unit Tests
• How to write integration tests
• How to structure your tests
• Comments on the documentation

Polymorphism Using Generics and Traits

Rust doesn’t support classical inheritance! Instead, polymorphism is achieved through generics and traits. In this section, you will learn how both of these mechanisms work.

You will learn:

• How to identify generics
• Trait system
• Trait Boundaries and Trait Objects
• Supertraits
• Static dispatching vs dynamic dispatching
• How to display traits
• Traits in the standard library

Advanced Memory Management

Memory management doesn’t end with owning and borrowing mechanisms! In this section you will learn about lifetimes! We’ll also look at various smart pointers in Rust.

You will learn:

• Concrete Lifetimes
• Generic Lifetimes Annotations
• Lifetimes in functions and structures
• Smart pointers and why they are useful
• Implicit Deref Coercion

Understanding Error Handling in Rust

Understanding error handling is critical when designing your Rust applications. In this section, we’ll look at how error handling works in Rust.

You will learn:

• How to generate uncorrectable errors
• How to return correctable errors
• How to propagate bugs
• Result and Option enumerations
• How to Handle Many Types of Errors
• How to use anyhow and thiserror

Functional Features in Rust

One of the most powerful features of Rust is its functionality. In this section, we’ll look at closures, function pointers, iterators, and more!

You will learn:

• Closures and function pointers
• Iterator Pattern in Rust
• Implementing the Iterator Pattern
• How to iterate through collections
• Combinators and how to use them

Concurrency and async/.await

This is probably the MOST IMPORTANT section. Understanding concurrency is critical, especially when using Rust for web projects.

You will learn:

• Basic Concurrency Concepts
• Creating Threads
• Messaging using channels
• Sharing State with Mutex
• async/.await model
• How Futures work (future results)
• What is asynchronous execution
• What is Tokio and how is it used?
• What are Tokio tasks
• Executing CPU-Blocking Code
• Data Streams

Rust’s Powerful Macro System

Macros are an extremely powerful way to extend the syntax of a language. In this section, you’ll learn about Rust’s macro system from the very beginning!

• Compilation process
• What are macros
• How to Create Declarative Macros
• How to Create Procedural Macros
• Function-like procedural macros
• Attribute-like procedural macros
• Custom procedural macros based on derived types (Custom Derive)

Insecure Rust and FFI (Foreign Function Interface)

One of Rust’s significant advantages is its ability to interact with other languages through an external function interface. In this section you will learn about insecure Rust and FFI!

You will learn:

• Insecure Rust and when to use it
• How to dereference raw pointers
• What are unsafe functions
• What are unsafe traits?
• How to change static variables
• How to Write Assembly Inline Commands in Rust
• How to Call C Code from Rust
• How to Call Rust Code from C

 

Instructor:

Hi, I’m Bogdan, the founder of Let’s Get Rusty, and I will personally be running this bootcamp. My journey learning Rust was *far* from smooth or easy. I did not have a traditional 4 year computer science degree. And although I worked for a large technology company (Salesforce), my focus has always been on front-end development. So I was completely new to low level programming. Also, when I started, there weren’t many beginner-friendly resources for learning Rust. My journey of learning Rust was long and painful… But I never gave up! I never made excuses and always kept moving forward. My experience learning Rust inspired me to help others…

 

Media Information:

MP4 | Video: h264, 1920x1080p | Audio: AAC, 44.100 KHz, 2 Ch
Genre: eLearning | Language: English | Last updated: 01/05/2024 | Duration: 105 lectures ( 9h 50m 20s ) | Author: Bogdan

Course Source: https://checkout.letsgetrusty.com/bootcamp

 

Size: 2.90GB

Leave a Comment