Szkolenie Rust - budowanie narzędzi CLI to praktyczny kurs, który uczy budowy profesjonalnych aplikacji wiersza poleceń oraz narzędzi platformowych w języku Rust
Trenerzy praktycy
Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Poziom zaawansowania:
Kod kursu:RUST/CLI
rust-clirust-tuirust-cross-platform
Dostępne terminy szkolenia
Termin
Trener
Cena
Lokalizacja
Zapis
Termin:
9 lipca - 10 lipca
Trwają zapisy na szkolenie
Dostępne w Bazie Usług Rozwojowych
Trener:
Trener-Sages
Cena:
2150 PLN netto
Dowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT
Lokalizacja:
Zdalne
Zdalne
Zapytaj o inne lokalizacje - w tym celu skorzystaj z chatu
Szkolenie przygotowuje do samodzielnego projektowania i implementowania narzędzi CLI w języku Rust z użyciem popularnych bibliotek takich jak clap oraz zgodnie z konwencjami Unix i POSIX
Szkolenie uczy budowy interaktywnych interfejsów terminalowych TUI w Rust z wykorzystaniem ratatui i crossterm, z naciskiem na ergonomię i UX CLI
Szkolenie pokazuje, jak dystrybuować narzędzia CLI w modelu cross-platform oraz integrować je z ekosystemem platform wewnętrznych i DevOps
Dla kogo?
Programistów posiadających praktyczną znajomość języka Rust, odpowiedzialnych za tworzenie narzędzi wewnętrznych oraz aplikacji CLI
Inżynierów platform oraz zespołów DevOps budujących Internal Developer Platforms i własne narzędzia do automatyzacji
Efekty kształcenia
Uczestnik projektuje i implementuje aplikacje CLI w Rust zgodnie z dobrymi praktykami ergonomii, standardami Unix oraz zasadami projektowania narzędzi developerskich
Uczestnik konfiguruje clap oraz config-rs w modelu 12-factor, obsługując flagi CLI, zmienne środowiskowe i pliki konfiguracyjne w aplikacjach Rust
Uczestnik buduje interaktywne interfejsy TUI w Rust z wykorzystaniem ratatui, crossterm oraz bibliotek dialoguer i indicatif, tworząc nowoczesne narzędzia terminalowe
Uczestnik dostarcza artefakty binarne CLI na wiele systemów operacyjnych i architektur, wykorzystując cross compilation oraz publikuje je w Homebrew, Winget i Scoop
Uczestnik projektuje rozszerzalne narzędzia CLI z wykorzystaniem architektury plugin opartej o WebAssembly oraz dynamiczne biblioteki w Rust
Wymagania
Praktyczna umiejętność programowania w języku Rust, znajomość modelu ownership, traits oraz obsługi błędów z Result
Podstawowa znajomość pracy z terminalem oraz systemami kontroli wersji
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
Obsługa błędów z typem Result oraz bibliotekami anyhow i thiserror, kody wyjścia
Obsługa sygnałów systemowych i anulowania pracy z tokio::signal oraz biblioteką ctrlc
Pliki konfiguracyjne, zmienne środowiskowe i kolejność ich pierwszeństwa w duchu metodyki 12-factor
Przewidywalna postać wyjścia: forma czytelna dla człowieka, JSON, YAML, tabele
Obsługa kolorów z bibliotekami owo-colors i nu-ansi-term, zgodność ze standardem NO_COLOR oraz praca na terminalach bez kolorów ANSI
Struktura projektu opartego o clap, podejście derive kontra podejście builder
Podkomendy jako typ wyliczeniowy, sprawdzanie poprawności argumentów, własne parsery wartości
Automatyczne dopełnianie poleceń w powłokach bash, zsh, fish i PowerShell przy pomocy clap_complete
Generowanie stron podręcznika man oraz dokumentacji przy pomocy clap_mangen
config-rs oraz figment: łączenie wielu źródeł konfiguracji, biblioteka dotenvy, serializacja przez serde
Sekrety oraz współpraca z biblioteką keyring i mechanizmami szyfrowania
Praca z plikami, wejściem standardowym i potokami, współpraca z narzędziami uniksowymi
Tryb pełnego przerysowania kadru w każdej klatce
Widgety: Block, List, Table, Paragraph, Chart, Gauge oraz wykresy
Układy oparte o Constraint i Direction, składanie widoków z mniejszych elementów
Obsługa zdarzeń klawiatury i myszy, asynchroniczna pętla zdarzeń z tokio
Motywy kolorystyczne, dostępność oraz skróty klawiszowe w stylu vim i emacs
Paski postępu i wskaźniki pracy z biblioteką indicatif, pytania do użytkownika z dialoguer i inquire
Testowanie interakcji z TestBackend oraz porównywanie zrzutów stanu z biblioteką insta
Kompilacja na różne systemy
Dołączanie zasobów do pliku wykonywalnego przez rust-embed oraz makra include_str! i include_bytes!
cargo-dist i cargo-release: automatyzacja budowania, dziennik zmian, archiwa, sumy kontrolne
Publikacja w repozytoriach Homebrew, Winget, Scoop, AUR, instalacja przez cargo install oraz obrazy Docker
Podpisywanie artefaktów narzędziem sigstore cosign oraz generowanie listy składników oprogramowania (SBOM) przy pomocy cargo-auditable
Mechanizmy samodzielnej aktualizacji oraz kanały wydań
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