Seminarinformationen

Seminar - Ziel

In dieser 3-tägigen Schulung "Rust - Einführung" erhalten Sie eine fundierte Einführung in die Programmiersprache Rust. Sie lernen die Entstehung, die Philosophie und die einzigartigen Merkmale von Rust im Vergleich zu anderen Programmiersprachen kennen.

Der Kurs beginnt mit der Einrichtung der Entwicklungsumgebung, einschließlich der Installation von Rust und der Nutzung des Build-Systems Cargo. Sie werden die grundlegenden Sprachkonzepte von Rust wie Variablen, Datentypen, Kontrollstrukturen und Funktionen erlernen. Zudem werden wir uns mit wichtigen Themen wie Fehlerbehandlung, Modulstruktur und Sichtbarkeit, Datenstrukturen, Iterationen und grundlegenden Aspekten der nebenläufigen Programmierung in Rust befassen.

Das Ziel dieser Schulung ist es, Ihnen ein solides Fundament in Rust zu vermitteln und Ihnen die notwendigen Fähigkeiten zu geben, um eigene Programme in Rust zu entwickeln. Durch praktische Übungen und Beispiele haben Sie die Gelegenheit, das erlernte Wissen anzuwenden und weiter zu vertiefen.

Teilnehmer - Zielgruppe

  • Entwickler

Kurs - Voraussetzungen

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

  • Grundlegende Programmiererfahrung in mindestens einer anderen Programmiersprache

Seminardauer

  • 3 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

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

Weitere Schulungen zu Thema Rust

Rust - Fortgeschrittenenkurs

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 3-tägigen Schulung "Rust - Fortgeschrittenenkurs" erweitern Sie Ihre Rust-Kenntnisse, mit dem Fokus auf fortgeschrittene Konzepte. Der Kurs bietet praxisorientierte Einblicke in Themen wie asynchrone Funktionen, Ownership, fortgeschrittene Programmierung, ...

Rust - Moderne Webentwicklung

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 3-tägigen Schulung "Rust - Moderne Webentwicklung" erhalten Sie einen umfassenden Überblick über Backend-Web-Frameworks in Rust sowie verschiedene Ansätze der Webentwicklung. Die Agenda umfasst eine detaillierte Vergleichsanalyse der Frameworks Actix, ...

Rust - GUI-Entwicklung

- u.a. in Hamburg, Köln, Wien, Darmstadt, Jena

In dieser 3-tägigen Schulung "Rust - GUI-Entwicklung" erwerben Sie umfassende Kenntnisse in der GUI-Entwicklung mit Rust. Zu Beginn des Kurses wird eine Analyse nativer und webbasierten Ansätze durchgeführt, sowie eine kritische Betrachtung des Fehlens eines ...

Rust Security - Sichere Entwicklung robuster Anwendungen

- u.a. in Frankfurt am Main, Hamburg, Zürich, Essen, Freiburg

In dieser 2-tägigen Schulung "Rust Security - Sichere Entwicklung robuster Anwendungen" lernen Sie, wie Sie mit Rust sichere und zuverlässige Anwendungen entwickeln. Sie werden verstehen, wie die einzigartigen Sicherheitsmechanismen von Rust – insbesondere ...