Szkolenie: Rust - budowanie narzędzi CLI
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)
Kod kursu:RUST/CLI
Rust - budowanie narzędzi CLI
Cele szkolenia
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
Program szkolenia
Projektowanie narzędzi wiersza poleceń w Rust
Wygoda obsługi narzędzi wiersza poleceń oraz konwencje POSIX, GNU i docopt
Komendy, podkomendy, przełączniki, argumenty pozycyjne, przełączniki globalne
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
Biblioteka clap i konfiguracja w praktyce
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
Interaktywne interfejsy tekstowe z ratatui i crossterm
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
Dystrybucja, rozszerzalność i utrzymanie
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ń
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

