Szkolenie: Go - budowanie narzędzi CLI
Szkolenie Go - budowanie narzędzi CLI to praktyczny kurs, który uczy budowy profesjonalnych narzędzi platformowych z wykorzystaniem Cobra, Viper, Bubble Tea oraz Lipgloss
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Kod kursu:GO/CLI
Go - budowanie narzędzi CLI
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i implementowania narzędzi CLI w języku Go, z użyciem popularnych bibliotek, zgodnie z najlepszymi praktykami oraz ergonomią POSIX i GNU
Szkolenie uczy budowy interaktywnych interfejsów terminalowych z wykorzystaniem Bubble Tea oraz Lipgloss
Szkolenie pokazuje, jak dystrybuować narzędzia CLI w modelu multi-platform
Dla kogo?
Programistów posiadających praktyczną znajomość języka Go, 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 Go zgodnie z dobrymi praktykami oraz konwencjami Unix i POSIX
Uczestnik konfiguruje Cobrę i Viper, zarządzając flagami, zmiennymi środowiskowymi i plikami konfiguracyjnymi
Uczestnik buduje interaktywne interfejsy TUI z wykorzystaniem Bubble Tea, Lipgloss oraz komponentów Bubbles, tworząc nowoczesne terminalowe UI
Uczestnik dostarcza binarne artefakty CLI na wiele systemów
Uczestnik projektuje rozszerzalne narzędzia CLI z wykorzystaniem architektury plugin
Wymagania
Praktyczna umiejętność programowania w języku Go
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ń
Wygoda obsługi narzędzi wiersza poleceń oraz konwencje POSIX i GNU
Komendy, podkomendy, przełączniki, argumenty pozycyjne, przełączniki globalne
Kody wyjścia oraz obsługa sygnałów systemowych
Pliki konfiguracyjne i zmienne środowiskowe
Przewidywalna postać wyjścia: forma czytelna dla człowieka, JSON, YAML, tabele
Obsługa kolorów i formatowania zgodnie ze standardem NO_COLOR oraz na terminalach bez kolorów ANSI
Cobra i Viper w praktyce
Struktura projektu opartego o bibliotekę Cobra, generator cobra-cli
Sprawdzanie poprawności argumentów, mechanizm PersistentPreRunE, uruchamianie z kontekstem
Automatyczne dopełnianie poleceń w powłokach bash, zsh, fish i PowerShell oraz generowanie dokumentacji
Viper: łączenie wielu źródeł konfiguracji, ponowne wczytywanie, obsługa sekretów i szyfrowanie
Podkomendy z dynamicznie tworzonymi listami oraz wczytywanie ich na żądanie
Praca z plikami, wejściem standardowym i potokami, współpraca z narzędziami uniksowymi
Interaktywne interfejsy tekstowe z Bubble Tea i Lipgloss
Wzorzec Model-Update-View w Bubble Tea w praktyce
Gotowe komponenty Bubbles: pole tekstowe, lista, tabela, okno przewijane, wskaźnik pracy
Stylowanie z biblioteką Lipgloss, układy, warstwy i ich składanie
Kreatory instalacyjne, panele administracyjne, podgląd działających zadań
Obsługa myszy, klawiatury oraz skrótów klawiszowych
Dostępność interfejsów tekstowych oraz testowanie interakcji z biblioteką teatest
Dystrybucja, rozszerzalność i utrzymanie
Kompilacja na różne systemy z poziomu Go, zmienne GOOS i GOARCH, dołączanie zasobów do pliku wykonywalnego przez dyrektywę go:embed
goreleaser: automatyzacja budowania, dziennik zmian, archiwa, sumy kontrolne
Publikacja w repozytoriach Homebrew, Winget, Scoop, Snap oraz obrazy Docker
Podpisywanie artefaktów narzędziem sigstore cosign oraz generowanie listy składników oprogramowania (SBOM)
Architektura wtyczek
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

