Zaawansowane programowanie w języku Rust
Podczas szkolenia uczestnicy nauczą się zaawansowanego programowania w języku Rust. Jest to język ogólnego przeznaczenia, określany mianem nowoczesnego i niezwykle wydajnego języka programowania.
2150 PLN+23% VAT (2644 PLN brutto / 1 os.)Czas trwania szkolenia:2 dni (16h)
Kod kursu:RUST/PROGADV
Zaawansowane programowanie w języku Rust
Cele szkolenia
Solidne wprowadzenie do programowania wielowątkowego w języku Rust
Poszerzenie i uporządkowanie wiedzy na temat unikalnego modelu zarządzania pamięcią
Omówienie zagadnień związanych z integracją (FFI) oraz wykorzystaniem unsafe Rust
Zaprezentowanie metod budowania usług sieciowych z użyciem jednego z najpopularniejszych frameworków (Actix Web)
Dla kogo?
Programistów, znających podstawy języka Rust, chcących poszerzyć swoją wiedzę o zagadnienia zaawansowane
Zalety
Szkolenie ma charakter warsztatowy - duża ilość przykładów i ćwiczeń ułatwiających przyswojenie zdobywanej wiedzy
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Podstawowa umiejętność programowania w języku Rust, znajomość koncepcji Ownership i modelu zarządzania pamięcią
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program
Makra
Czym jest metaprogramowanie?
Zasada działania i zastosowanie makr w języku Rust
Makra deklaratywne vs. proceduralne
Tworzenie i testowanie makr w praktyce
Programowanie bez gwarancji bezpieczeństwa
Czym jest unsafe Rust?
Przykłady unsafe Rust (blocks, functions, traits)
Raw pointers
Unions
Asynchroniczność i programowanie wielowątkowe
Uruchamianie i koordynowanie pracy wątków
Bezpieczne współdzielenie stanu (Atomics, Mutexes, RwLocks)
Komunikacja między wątkami z wykorzystaniem kanałów (Channels)
Scoped threads
Kod asynchroniczny z wykorzystaniem async/await
Wprowadzenie do Tokio runtime
Integracja z kodem zewnętrznym (Foreign Functions Interface)
Deklarowanie funkcji oraz zmiennych zewnętrznych
Tworzenie i użycie kontraktów na poziomie Rust/C
Tworzenie i użycie kontraktów na poziomie Rust/Python