Course Outline
Advanced Ownership
- Understanding lifetimes and borrowing
- Exploring smart pointers: Box, Rc, and Arc
- Working with reference cycles using Weak and Unsync
- Advanced ownership patterns and techniques
Asynchronous Programming with Async/Await
- Introduction to asynchronous programming in Rust
- Working with async/await syntax
- Composing futures and working with async libraries
- Exploring the async ecosystem and libraries
Traits and Generics
- Advanced trait usage and associated types
- Implementing generic functions, structs, and enums
- Bounds and trait objects
- Exploring trait coherence and orphan rules
Advanced Error Handling
- Creating custom error types
- Advanced error handling techniques: try!, ? operator, custom error chains
- Error handling strategies and patterns
Macros
- Procedural macros: attribute and function-like macros
- Declarative macros: macro_rules! and the match-like syntax
- Advanced macro usage and metaprogramming
Performance Optimization
- Profiling and benchmarking Rust code
- Identifying performance bottlenecks
- Optimization techniques: data structures, algorithms, and compiler flags
- Writing high-performance Rust code
FFI (Foreign Function Interface)
- Interfacing Rust with C/C++ code
- Exposing Rust APIs to other languages
- Handling data types and memory management in FFI
Unsafe Rust
- Understanding unsafe blocks and unsafe functions
- Working with raw pointers and mutable aliasing
- Safe abstractions around unsafe code
Advanced Concurrency
- Advanced synchronization primitives: Mutex, RwLock, and Condvar
- Implementing lock-free and wait-free data structures
- Channels and message passing
- Exploring advanced concurrency patterns
Web Development with Rust
- Overview of web development in Rust
- Exploring Rust web frameworks: Rocket, Actix, Warp, etc.
- Interacting with databases
- Deployment options and considerations
Advanced Troubleshooting
- Advanced techniques for debugging and resolving complex issues in Rust programs
- Profiling and optimizing performance in real-world scenarios
- Strategies for handling edge cases and unusual behavior
Summary and Next Steps
Requirements
- Proficiency in Rust Fundamentals or equivalent experience
- Experience with systems-level programming
- Intermediate-level programming experience
Audience
- Developers
Delivery Options
Private Group Training
Our identity is rooted in delivering exactly what our clients need.
- Pre-course call with your trainer
- Customisation of the learning experience to achieve your goals -
- Bespoke outlines
- Practical hands-on exercises containing data / scenarios recognisable to the learners
- Training scheduled on a date of your choice
- Delivered online, onsite/classroom or hybrid by experts sharing real world experience
Private Group Prices RRP from €4560 online delivery, based on a group of 2 delegates, €1440 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Contact us for an exact quote and to hear our latest promotions
Public Training
Please see our public courses
Testimonials (1)
I liked the interactive examples we worked on, the trainer was extremely knowledgeable in almost every subject we had questions about, and gave excellent advise for our real-world use-cases relating to some of the material in the training.