Programowanie w języku Rust

Cele szkolenia

Uczestnicy szkolenia poznają:

  • sposoby tworzenia projektów i zarządzania zależnościami przy pomocy menadżera Cargo
  • składnię języka, model obiektowości (traity) i elementy programowania funkcyjnego
  • mechanizmy języka, które istotnie poprawiają bezpieczeństwo kodu, takie jak kontrola czasu życia zmiennych, filozofia zarządzania pamięcią i thread safety

Plan szkolenia

Wprowadzenie do Rust

  • Przegląd narzędzi - kompilator, debugger, Cargo
  • Struktura projektu i zarządzanie zależnościami w projekcie

Podstawy składni Rust

  • Podstawowe typy danych
  • Stałe i zmienne
  • Wyrażenia
  • Instrukcje wyboru i pętle
  • Funkcje
  • Tablice, slices i kolekcje
  • Krotki (Tuples)

Struktury

  • Struktury z nazwanymi polami
  • Struktury na bazie krotki
  • Unit-like structs
  • Ułożenie elementów struktury w pamięci
  • Definiowanie metod z impl
  • Struktury generyczne
  • Implementacja podstawowych traitów

Enums and Pattern Matching

  • Enums
  • Matching using patterns
  • Refutable Patterns with if let and while let

Ownership & Borrow

  • Koncepcja ownership w Rust
  • Move & Copy
  • Referencje
  • Pożyczanie zmiennych
    • Sharing vs. Mutating
    • Bezpieczeństwo referencji w Rust
    • Adnotacje czasu życia zmiennych

Zarządzanie pamięcią

  • Zarządzanie zasobami w Rust - trait Drop
  • Stos i sterta
  • Smart pointery w Rust'cie
    • Box, Rc and Arc
  • Interior mutability: Cell<T> and RefCell<T>

Obsługa błędów

  • Panic - zwijanie stosu
  • Koncepcja obsługi błędów w języku Rust
    • Zwracanie, obsługa i propagacja błędów
    • Obsługa błędów w main()
    • Deklarowanie własnych typów błędów

OOP w Rust

  • Definiowanie struktur
  • Implementacja funkcjonalności dla struktur
  • Trait'y
  • Idiomy i wzorce projektowe OOP

Programowanie funkcyjne

  • Anonimowe funkcje i domknięcia
  • Idiomy i wzorce projektowe FP

Organizacja kodu w projekcie

  • Crates
  • Moduły i pakiety
  • Zarządzanie zależnościami - menadżer pakietów Cargo

Programowanie współbieżne

  • Tworzenie wątków - Fork-Join Parallelism
  • Mechanizmy synchronizacji - pisanie kod thread safe
    • Muteksy i współdzielenie danych między wątkami
  • Message Passing z wykorzystaniem kanałów channels

Testy

  • Pisanie i uruchamianie testów jednostkowych
  • Organizacja testów w projekcie

Wymagania

Znajomość podstaw programowania.

Czas trwania

4 dni po 8 godzin lekcyjnych
Wycena szkolenia zamkniętego

Szkolenie zamknięte w siedzibie Klienta.

Klient zapewnia salę szkoleniową i sprzęt.

Zapytaj o termin i cenę
Wycena szkolenia zdalnego

Szkolenie live online. Warsztaty z trenerem.

Zapytaj o termin i cenę
Terminy szkoleń otwartych
zdalne
16-19.6.2025
3990 PLN Zgłoś udział

Pasuje Ci inny termin?

Wyślij zapytanie