Seminare
Seminare

Rust - Einführung

Seminar - PROKODA GmbH

Rust - Einführung
Termin Ort Preis*
12.08.2024- 14.08.2024 München 1.660,05 €
*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:

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
Teilnahmevoraussetzungen:

Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

  • Grundlegende Programmiererfahrung in anderen Programmiersprachen
Zielgruppe:

Zielgruppe

  • Entwickler
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha