Grundlagen der Rust-Programmierung
- Rust-Philosophie: Memory Safety, Concurrency und Performance
- Installation und Einrichtung der Rust-Toolchain mit rustup
- Grundlegende Syntax, Variablen und Datentypen
- Funktionen, Module und Crate-Organisation
- Pattern Matching und Enums als algebraische Datentypen
- Grundlagen der Fehlerbehandlung mit Result und Option
- Cargo: Package Manager, Build System und Dependency Management
- Memory Management ohne Garbage Collector: Stack vs. Heap
- Ownership-Regeln und Move Semantics
- Borrowing: Immutable und Mutable References
- Der Borrow Checker: Compile-time Speichersicherheit
- Ownership-Patterns: Clone, Copy und Drop Traits
- Smart Pointers: Box, Rc, Arc und ihre Anwendungsfälle
- Typische Ownership-Probleme lösen und vermeiden
- Lifetime-Annotations und ihre Bedeutung
- Lifetime Elision Rules verstehen und anwenden
- Generic Lifetimes in Structs und Functions
- Lifetime Bounds und Higher-Ranked Trait Bounds
- Static Lifetimes und globale Daten
- Lifetime-Probleme debuggen und beheben
- Advanced Patterns: Selbstreferenzierende Structs
- Struct-Definition und Implementierung von Methods
- Trait-System: Definition und Implementierung von Verhalten
- Generic Types und Generic Functions
- Associated Types und Associated Constants
- Trait Bounds und Where Clauses
- Trait Objects und Dynamic Dispatch
- Derive Macros und automatische Trait-Implementierung
- Result-Type und systematische Fehlerbehandlung
- Option-Type für nullable Werte
- Error Propagation mit dem ?-Operator
- Custom Error Types und Error Traits
- Panic-Handling und Recovery-Strategien
- Testing-Framework und Unit Tests in Rust
- Documentation Tests und Test-Driven Development
- Thread-basierte Parallelität mit std::thread
- Message Passing mit Channels (mpsc)
- Shared State Concurrency mit Mutex und RwLock
- Atomic Operations und lock-free Programming
- Rayon: Data Parallelism und parallel Iterators
- Thread Safety: Send und Sync Traits verstehen
- Deadlock-Vermeidung und Performance-Optimierung
- Future Trait und asynchrone Grundlagen
- async/await Syntax und Verwendung
- Tokio Runtime und asynchrone Ökosystem
- Asynchrone I/O-Operationen und Networking
- Stream-Processing und asynchrone Iteratoren
- Error Handling in asynchronem Code
- Performance-Vergleich: Async vs. Threading
- Unsafe Rust: Wann und wie Raw Pointers verwenden
- Foreign Function Interface (FFI) mit C/C++
- Procedural Macros und Code-Generierung
- Zero-Cost Abstractions in der Praxis
- Memory Layout und Performance-Optimierung
- WebAssembly-Targets und Browser-Integration
- Embedded Programming mit no_std
- Command-Line Tools mit clap und structopt
- Web Services mit Actix-web oder Warp
- Database Integration mit Diesel oder SQLx
- Parsing und Serialization mit serde
- Network Programming und Protocol Implementation
- Cross-Platform Desktop Applications
- Performance Profiling und Optimization Techniques