Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages Rust Programming Language

Hands-On Systems Programming with Rust

Take advantage of Rust to ensure safety and concurrency
Rating: 4.3 out of 54.3 (55 ratings)
496 students
Created by Packt Publishing
Last updated 3/2020
English
English
30-Day Money-Back Guarantee

What you'll learn

  • Explore Rust's package registry for discovering and sharing code
  • Use multithreading to unlock the power of multiple cores
  • Get to know data-flow rate and speed through a pipeline
  • Display time-based statistics using stderr
  • Build your own middleware project to control the flow of data between two processes
  • Best practices and techniques to set up your project for success
  • Test and publish your own project on crates .io

Course content

5 sections • 26 lectures • 2h 15m total length

  • Preview03:20
  • Systems Programming in Rust
    05:58
  • Configuring Your Editor/IDE
    04:13
  • The Many Faces of Cargo
    09:46
  • Preview Finished Project
    01:03
  • Layout the Skeleton of the Project
    02:49
  • Test your knowledge
    5 questions

  • Preview08:44
  • Inspecting Values with dbg!()
    04:44
  • Working Effectively with cargo fmt and cargo clippy
    04:45
  • Handling Errors Gracefully
    06:12
  • Handling Command Line Arguments with Clap
    05:28
  • Reading/Writing Files, Buffered I/O, and Traits
    05:32
  • Test your knowledge
    5 questions

  • Working Effectively with Organized Library Modules
    11:02
  • Separate Input, Statistics, and Output Threads
    12:21
  • Operating with MPSC Channels for Data Flow in Sequence
    08:21
  • Refactor Code to Use Crossbeam Channels
    06:51
  • Test your knowledge
    4 questions

  • Working with Instant
    01:57
  • Calculate a Delta Time Using Instants
    03:24
  • Use Durations to Create an Ergonomic Timer Struct
    02:57
  • Using Timer and Output Progress Statistics at a Steady Rate
    03:58
  • Applying Crossterm and Colorizing the Output
    04:53
  • Test your knowledge
    4 questions

  • Creating a Library and Organizing it into Modules
    04:32
  • Writing and Running Tests on Your Code
    02:48
  • Documenting Your Code
    03:25
  • Understanding the Ins and Outs of Semantic Versioning
    02:03
  • Publishing Your Project as a Crate on crates.io
    04:22
  • Test your knowledge
    4 questions

Requirements

  • Prior knowledge of basic programming concepts is required. A working knowledge of Rust is assumed.

Description

Scripting languages will provide safety, but not concurrency and speed, while traditional systems programming languages such as C and C++ will definitely give you speed and some concurrency, but forget about safety! If you need safety, concurrency, and speed, then Rust is the only viable option.

In this course, you will learn how Rust guarantees memory and thread safety at compile-time, yet uses zero-cost abstractions without the runtime overhead of a garbage collector. You'll learn how to monitor the flow of data through a pipeline by building your own middleware utility. You'll learn how to utilize I/O to interact with the command line, work with standard library mpsc channels to perform data flows, and create an ergonomic timer for your project. You'll apply key concepts in every section while creating your own middleware tool in Rust along the way.

By the end of this practical course, you will feel comfortable designing safe, consistent, parallel, and high-performance applications in Rust using systems programming.

This course should appeal to intermediate Linux and general Unix programmers, network programmers, and C/C++ programmers interested in learning different approaches to concurrency. Prior knowledge of basic programming concepts is required, and a working knowledge of Rust is assumed.

About the Author

Nathan Stocks has spent the last 20 years working in software development, mostly in the field of backend infrastructure. He fell in love with Rust in 2016 and began teaching it in 2017. For the past several years, he has focused on systems-level programming. He maintained the AVbin audio library (written in C) from 2011-2013. He has had tons of fun learning, using, and teaching Rust at conferences and online. He also loves Python and PostgreSQL, and still occasionally suffers from nightmares about C and C++.

He currently works at GitHub, managing the Git Storage team, and spends his nights in pursuit of someday creating a successful indie game in Rust.

Who this course is for:

  • If you are already a software developer and want to learn systems programming in Rust practically and quickly, this course is for you!
  • This course will greatly appeal to intermediate Linux and general Unix programmers, network programmers, and C / C++ programmers interested in learning different approaches to concurrency.

Instructor

Packt Publishing
Tech Knowledge in Motion
Packt Publishing
  • 3.9 Instructor Rating
  • 59,187 Reviews
  • 355,019 Students
  • 1,418 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.



  • Udemy for 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
  • Featured courses
Udemy
© 2021 Udemy, Inc.