Rust - Einführung
Ziele
In dieser 3-tägigen Schulung "Rust - Einführung" lernen Sie die Grundlagen der Programmiersprache Rust kennen. Sie erhalten einen umfassenden Überblick über die Entstehungsgeschichte, die Philosophie und die Besonderheiten von Rust im Vergleich zu anderen Programmiersprachen.
Wir werden uns intensiv mit der Einrichtung der Entwicklungsumgebung befassen, einschließlich der Installation von Rust und der Nutzung des Build-Systems Cargo. Sie werden die grundlegenden Sprachkonzepte von Rust kennenlernen, wie Variablen, Datentypen, Kontrollstrukturen und Funktionen. Des Weiteren werden wir uns mit den Themen Fehlerbehandlung, Modulstruktur und Sichtbarkeit, Datenstrukturen und Iterationen, sowie grundlegenden Konzepten der nebenläufigen Programmierung in Rust beschäftigen.
Das Ziel dieser Schulung ist es, Ihnen solide Grundlagen in Rust zu vermitteln und Ihnen die Fähigkeiten zu geben, eigene Programme in Rust zu entwickeln. Durch praktische Übungen und Beispiele werden Sie das gelernte Wissen anwenden und vertiefen können.
Zielgruppe
- Entwickler
Voraussetzungen
Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:
- Grundlegende Programmiererfahrung in anderen Programmiersprachen
Lernmethodik
Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.
Agenda
Einführung
- Entstehungsgeschichte und Hintergrund der Technologie Rust
- Grundphilosophie der Programmiersprache
- Besonderheiten gegenüber anderen Programmiersprachen
Entwicklungsumgebung
- Installieren und Konfigurieren von Rust (Rustup, Systempakete)
- Verwendung des Build-Systems (cargo, rustc)
- Paketmanagement (crates.io)
- Unit Tests
- Dokumentation: rustdoc
- Entwicklungsumgebung / IDE / CI
Grundlagen
- Elementare Typen
- Variablen und Veränderlichkeit
- Strukturen
- Aufzählungen (Aufzählung, match, Option)
- Derive-Makros
- Kontrollfluss
- Funktionen
- Anonyme Funktionen (Closures)
Zugriff und Referenzen
- Ressourcen: Besitz, exklusiver Zugriff, geteilter Zugriff,
- sharing XOR mutability
- Eigenschaften von verschiedenen Referenzarten, Markierung “Copy”
- Smart Pointer (sharing XOR mutability at runtime)
- Konsequenzen für API Design, Ressourcenmanagement, Multithreading
Collections + Iteration
- Vektoren, Mengen und Tabellen
- Iteratoren (Kombinatoren)
- Strings, byte strings, Slices
Polymorphie
- Traits und Generics
- Standard - Traits
- Operatorüberladung (assoziierte Typen)
- Lifetimes
- Typen mit Referenzen
Fehlermanagement
- Panic
- Option und Result
- Propagation
- Error definition (enumeration und erasure)
Module und Sichtbarkeit
- Library und Binary Crates
- examples und example binaries
- Sichtbarkeit (public APIs)
- Konditionelle Kompilation
- Crate-weite Doku und Annotationen (warnings, no-std, …)
Multithreading
- Gemeinsame Nutzung von Daten
- Inter-Thread-Kommunikation
- Markierungen für Senden und Synchronisieren von Daten
Asynchrone Programmierung
- Big Picture: Futures, Exekutoren, Event Loops
- Hierarchische Zustandsautomaten
- Unstrukturierte Nebenläufigkeit und Parallelität
- Channel-Topologien
Ausblick auf Fortgeschrittene Themen
- Makros
- Verwendung von C/C++-Code innerhalb von Rust (bindgen, cxx)
- Verwendung von Rust-Code innerhalb von C/C++ (shared lib, dynamic lib)
- Tooling für Inter-language translation
- WebAssembly
- Embedded und bare-metal Entwicklung
Ökosystem
- Serialisierung (Bibliothek: serde)
- Non-blocking IO (Bibliothek: tokio)
- Datenbankabfragen
- Webserver
Open Badge - Ihr digitaler Kompetenznachweis
Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erlangen Sie nicht nur Fachkenntnisse und Fähigkeiten, sondern bekommen zusätzlich zu Ihrem Teilnahmezertifikat ein Open Badge als digitalen Nachweis Ihrer Kompetenz.
Sie können diesen in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com Konto abrufen. Ihre verdienten Badges lassen sich problemlos in sozialen Netzwerken integrieren und weitergeben.
Kundenbewertungen
188 Teilnehmende
Gesicherte Termine
Termin | Standort | Aktion |
---|---|---|
08.07. - 10.07.2024 | Nürnberg | |
08.07. - 10.07.2024 | Virtual Classroom (online) | |
12.08. - 14.08.2024 | München | |
12.08. - 14.08.2024 | Virtual Classroom (online) |
Kurz vor Durchführung
Termin | Standort | Aktion |
---|---|---|
22.05. - 24.05.2024 | Hamburg | |
18.06. - 20.06.2024 | München | |
03.07. - 05.07.2024 | Köln | |
28.08. - 30.08.2024 | Nürnberg |