Bestellung
Wenn Sie an diesem Seminar teilnehmen wollen, füllen Sie folgendes Formular aus.Die mit * gekennzeichneten Felder müssen ausgefüllt werden.
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.
Einführung
- Entstehungsgeschichte
- Grundphilosophie
- Besonderheiten
- Vorteile
Entwicklungsumgebung
- Installieren und Konfigurieren (Rustup)
- Verwendung Build-System (cargo, rustc)
- Paketmanagement (crates)
- Entwicklungsumgebung: VSCode
- Unit Tests
- Dokumentation: rustdoc
- Konditionelles Kompilieren
Grundlagen
- Programmaufbau
- Elementare Typen
- Variablen und Veränderlichkeit
- Structs
- Enums
- Standard Traits
- Derive-Makros
- Kontrollfluss
- Funktionen
- Unit Tests
Collections und Iteration
- Vektoren, HashMaps und HashSets
- Iteratoren (Kombinatoren)
- Strings, Byte-Strings, Slices
Polymorphie
- Traits und Generics
- Standard - Traits
- Operatorüberladung (assoziierte Typen)
- Typen mit Referenzen
Fehlermanagement
- Panic
- Option und Result
- Error definition (enumeration und erasure)
Speichermanagement
- Der Borrow Checker
- Stack- und Heap-Speicher
- Smart Pointer
Multithreading
- Gemeinsame Nutzung von Daten
- Inter-Thread-Kommunikation
- Markierungen für Senden und Synchronisieren von Daten
Asynchrone Programmierung
- Parallelität / Nebenläufigkeit
- Futures, Exekutoren, Event Loops
- Tokio Multithreaded
- Thread-sichere Datenstrukturen
- Asynchrone Channel-Topologien
- Streams
Aspekte der Objektorientierung
- Abstraktion: Structs & Enums
- Kopplung: use
- Kapselung: mod, pub
- Polymorhpie: Traits & Generics
- Operatorüberladung (assoziierte Typen)
Lifetimes
Ökosystem
- Serialisierung (Bibliothek: serde)
- Non-blocking IO (Bibliothek: tokio)
- Datenbankabfragen
- Webserver
Ausblick auf Fortgeschrittene Themen