Trwają zapisy do grupy

Szkolenie: Zaawansowane programowanie w języku Rust

Szkolenie Zaawansowane programowanie w języku Rust to praktyczny kurs, który uczy wykorzystania typów generycznych, traits, smart pointers, makr, programowania wielowątkowego i asynchronicznego oraz integracji z kodem zewnętrznym, rozwijając kompetencje w zakresie wydajnych i bezpiecznych aplikacji systemowych

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:2 dni (16h)

Poziom zaawansowania:

Kod kursu:RUST/PROGADV

optymalizacjabezpieczne-programowanieprogramowanie-systemowerust-zaawansowany

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Lokalizacja
  • Zapis

Termin:

28 maja - 29 maja
Trwają zapisy na szkolenieTrwają zapisy na szkolenie
Oferta specjalnaOferta specjalna

Trener:

Łukasz Andrzejewski

Cena:

2365 PLN netto
Dowiedz się więcej o cenach szkoleń - zapraszamy do kontaktuDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Zapytaj o inne lokalizacje - w tym celu skorzystaj z chatuZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

13 sierpnia - 14 sierpnia
Trwają zapisy na szkolenieTrwają zapisy na szkolenie
Dostępne w Bazie Usług RozwojowychDostępne w Bazie Usług Rozwojowych

Trener:

Trener-Sages

Cena:

2365 PLN netto
Dowiedz się więcej o cenach szkoleń - zapraszamy do kontaktuDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Zapytaj o inne lokalizacje - w tym celu skorzystaj z chatuZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

8 października - 9 października
Trwają zapisy na szkolenieTrwają zapisy na szkolenie

Trener:

Łukasz Andrzejewski

Cena:

2365 PLN netto
Dowiedz się więcej o cenach szkoleń - zapraszamy do kontaktuDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Zapytaj o inne lokalizacje - w tym celu skorzystaj z chatuZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

3 grudnia - 4 grudnia
Trwają zapisy na szkolenieTrwają zapisy na szkolenie
Dostępne w Bazie Usług RozwojowychDostępne w Bazie Usług Rozwojowych

Trener:

Trener-Sages

Cena:

2365 PLN netto
Dowiedz się więcej o cenach szkoleń - zapraszamy do kontaktuDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Zapytaj o inne lokalizacje - w tym celu skorzystaj z chatuZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Zaawansowane programowanie w języku Rust

Cele szkolenia

  • Szkolenie przygotowuje do samodzielnego projektowania i implementowania zaawansowanych rozwiązań w języku Rust, z wykorzystaniem typów generycznych, traits oraz smart pointers

  • Szkolenie uczy stosowania makr oraz metaprogramowania w celu automatyzacji i optymalizacji kodu w projektach Rust

  • Szkolenie pokazuje, jak efektywnie realizować programowanie wielowątkowe i asynchroniczne, zapewniając bezpieczeństwo i wydajność aplikacji

  • Szkolenie omawia zasady zarządzania pamięcią oraz wykorzystania unsafe Rust i FFI, przygotowując do integracji z kodem zewnętrznym


Dla kogo?

  • Programistów posiadających podstawową znajomość języka Rust, chcących rozwinąć umiejętności w zakresie zaawansowanych technik programistycznych

  • Osób realizujących projekty wymagające wysokiej wydajności, bezpieczeństwa pamięci i integracji z kodem zewnętrznym

  • Specjalistów IT zainteresowanych programowaniem systemowym, wielowątkowością i asynchronicznością w Rust


Efekty kształcenia

  • Uczestnik projektuje zaawansowane struktury danych z użyciem generyków i traits

  • Uczestnik implementuje i testuje makra deklaratywne oraz proceduralne

  • Uczestnik analizuje i stosuje wzorce programowania wielowątkowego i asynchronicznego

  • Uczestnik integruje aplikacje Rust z kodem C i Python przez FFI

  • Uczestnik kontroluje zarządzanie pamięcią i wykorzystuje smart pointers


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 szkolenia

Pobierz program w PDF

Zaawansowane elementy języka i wzorce

  • const generics – parametryzowanie typów wartościami znanymi w czasie kompilacji

  • Cechy nadrzędne (super traits), cechy rozszerzające (extension traits) oraz implementacje obejmujące wiele typów (blanket implementations)

  • Cechy znacznikowe Send, Sync, Sized, Unpin oraz struktury opakowujące

  • Typy fantomowe PhantomData i struktury znacznikowe

  • Etykietowanie struktur dodatkowymi informacjami

  • Inteligentne wskaźniki zarządzające własnością i mutowalność wewnętrzna: Box, Rc, Arc, Cell, RefCell, OnceCell oraz OnceLock

Metaprogramowanie przy pomocy makr

  • Czym jest metaprogramowanie i po co się je stosuje

  • Jak działają makra w języku Rust i kiedy warto po nie sięgnąć

  • Porównanie makr deklaratywnych i proceduralnych

  • Makra deklaratywne (macro_rules!): dopasowanie wzorców, elementy składni, powtórzenia, higiena identyfikatorów, najczęstsze pułapki

  • Makra proceduralne: trzy rodzaje – tryb funkcyjny, automatyczne wyprowadzanie cech (derive) oraz atrybuty

  • Praca z drzewem składniowym przy pomocy bibliotek syn i quote, generowanie kodu, raportowanie błędów

  • Atrybuty pomocnicze i przyjmowanie argumentów konfigurujących zachowanie makra

  • Higiena, zasięg nazw oraz odwołania do typów spoza miejsca rozwinięcia makra

  • Testowanie makr

  • Diagnostyka i rozwijanie makr przy pomocy cargo-expand

Programowanie wielowątkowe

  • Model wątków w Rust: wątki systemu operacyjnego, koszt ich tworzenia i czym różnią się od zadań asynchronicznych

  • Uruchamianie wątków przez std::thread::spawn, oczekiwanie na zakończenie przez join oraz przekazywanie wartości zwracanych

  • Wątki z zasięgiem (std::thread::scope) – bezpieczne pożyczanie danych ze stosu funkcji nadrzędnej

  • Przekazywanie własności do wątku, rola domknięć move oraz wymagania cech Send i Sync

  • Współdzielenie danych tylko do odczytu poprzez Arc, łączenie Arc z mechanizmami synchronizacji do współdzielenia danych do zapisu

  • Muteksy: std::sync::Mutex, problem zatrutego muteksa po panice, typowe pułapki przy zagnieżdżonych blokadach

  • Blokady do odczytu i zapisu (RwLock): kiedy dają realny zysk, a kiedy sprowadzają się do droższego muteksa

  • Typy atomowe (AtomicBool, AtomicUsize i pozostałe) oraz porządki pamięci: Relaxed, Acquire, Release, AcqRel, SeqCst – co naprawdę gwarantują

  • Synchronizacja punktowa: bariery (Barrier), jednorazowa inicjalizacja (Once, OnceLock, LazyLock), zmienne warunkowe (Condvar)

  • Kanały do komunikacji między wątkami: std::sync::mpsc, biblioteka crossbeam-channel, kanały ograniczone i nieograniczone, wybór między różnymi odbiorcami (select)

  • Pule wątków na bazie rayon i przetwarzanie równoległe kolekcji

  • Zakleszczenia, sytuacje braku postępu i zagłodzenie wątków – jak je rozpoznać i jak im zapobiegać

  • Lokalne dane wątku (thread_local!) – zastosowania i ograniczenia

Programowanie asynchroniczne

  • Kod asynchroniczny z użyciem async i await – idea oraz powody, dla których powstał

  • Model asynchroniczny w Rust: słowa kluczowe async i await, typ Future, mechanizm Pin

  • Wprowadzenie do biblioteki Tokio: uruchamianie zadań i konfiguracja środowiska wykonawczego

  • Wymiana danych między zadaniami: kanały oraz mechanizmy synchronizacji

  • Wzorce współbieżności: aktorzy, pule wątków, ograniczanie tempa pracy oraz limitowanie liczby żądań

Współpraca z kodem zewnętrznym (Foreign Function Interface)

  • Deklarowanie zewnętrznych funkcji i zmiennych

  • Budowanie kontraktów łączących kod w językach Rust i C

  • Budowanie kontraktów łączących kod w językach Rust i Python

Autorem szkolenia jest Łukasz Andrzejewski

Od ponad 17 lat z pasją dzielę się wiedzą jako trener, wspierając rozwój kompetencji technologicznych wśród specjalistów IT na różnych etapach ich kariery. W ostatnich 5 latach przeszkoliłem ponad 2000 osób, prowadząc szkolenia zarówno otwarte, jak i dedykowane, dla czołowych firm z sektorów bankowości, ubezpieczeń i IT – m.in. Santander Bank Polska, ERGO Hestia, Asseco Poland oraz Orange. Specjalizuję się w szerokim zakresie technologii – od rozwiązań z ekosystemu Java, przez nowoczesny frontend,…

Wybrane opinie

Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

4.8
Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowanaŚrednia ocen Sages w serwisie Google Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowana

28.04.2026

Uczestnik szkoleniaAgentic Coding z AI - Claude Code i Cline w praktyce

Vitalii Shulhan, Accenture Sp.z.o.o

Trainer was prepared well and provided us with good-quality materials, new useful knowledge that I will definitely use in the future

Więcej opinii