Szkolenie język Go
Poziom
PodstawowyCzas
24h / 3 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie Go
Szkolenie wprowadza w praktyczne podstawy języka Go oraz jego zastosowanie w aplikacjach backendowych, narzędziach infrastrukturalnych i usługach sieciowych. Obejmuje składnię języka, idiomy Go, testy, TDD, serwery HTTP, metryki Prometheus, podstawy Grafany, operatory Kubernetes oraz mikroserwisy z wykorzystaniem gRPC. Uczestnicy pracują na ćwiczeniach i zadaniach grupowych, aby po szkoleniu samodzielnie tworzyć, testować i rozwijać podstawowe aplikacje w Go z uwzględnieniem czytelności kodu, obserwowalności, ograniczeń współbieżności i dobrych praktyk utrzymaniowych.
Dla kogo jest to szkolenie?
Szkolenie przeznaczone jest dla osób, które chcą poznać podstawy języka Go, dobre praktyki oraz zdobyć wiedzę praktyczną. Szkolenie nastawione jest na pisanie kodu – naukę poprzez praktykę. Podczas szkolenia uczestnicy pracują razem z prowadzącym przy wprowadzaniu nowych konceptów oraz wykorzystują zdobytą wiedzę podczas ćwiczeń indywidualnych i zadań grupowych. Jeśli chcesz nauczyć się języka Go i poznać jego zastosowanie przy tworzeniu serwerów HTTP, mikroserwisów, metryk aplikacyjnych oraz podstaw operatorów Kubernetesa, to szkolenie jest właśnie dla Ciebie.
obsługa terminala systemu Linux
podstawowa znajomość programowania w dowolnym językuwiedza z architektury mikroserwisów będzie przydatna, ale nie jest wymagana
podstawowa wiedza z architektury mikroserwisów będzie przydatna, ale nie jest wymagana
wiedza z architektury Kubernetesa będzie Twoim atutem
Czego nauczysz się na tym szkoleniu?
- Nauczysz się rozumieć podstawowe zasady języka Go, jego składnię, idiomy i organizację kodu
- Nauczysz się tworzyć proste aplikacje, serwery HTTP oraz testy jednostkowe w Go
- Nauczysz się stosować TDD w podstawowych scenariuszach programistycznych
- Dowiesz się, jak wystawiać i analizować metryki aplikacyjne z wykorzystaniem Prometheus i Grafany
- Poznasz podstawy tworzenia operatorów Kubernetes w Go
- Nauczysz się tworzyć prosty mikroserwis z wykorzystaniem gRPC
- Zrozumiesz podstawowe ryzyka związane z obserwowalnością, współbieżnością, obsługą błędów i utrzymaniem aplikacji w Go
Program szkolenia
Dzień 1
1. Wprowadzenie do szkolenia i integracja grupy
- Cele szkolenia i zakres pracy warsztatowej
- Organizacja środowiska pracy
- Zasady pracy indywidualnej i grupowej
- Przegląd zastosowań języka Go
2. Wprowadzenie do Go, TDD i ćwiczenia
- Składnia języka Go i podstawowe konstrukcje
- Struktura projektu i organizacja kodu
- Typy danych, funkcje, pakiety i moduły
- Obsługa błędów i idiomy języka Go
- Testy jednostkowe i podstawy TDD
- Ćwiczenia praktyczne z podstaw języka Go
Dzień 2
3. Zadanie grupowe z wykorzystaniem podstaw Go – funkcjonalny serwer HTTP
- Struktura serwera HTTP
- Routing i obsługa żądań
- Obsługa odpowiedzi i kodów statusu HTTP
- Walidacja danych wejściowych
- Obsługa błędów w aplikacji HTTP
- Testy podstawowych elementów serwera
4. Prometheus Go client – wprowadzenie
- Podstawy obserwowalności aplikacji
- Metryki aplikacyjne i ich typy
- Biblioteka Prometheus Go client
- Rejestracja i ekspozycja metryk
- Ograniczenia i ryzyka błędnie dobranych metryk
5. Zadanie grupowe – rozszerzenie serwera HTTP i customowe metryki aplikacji
- Rozszerzenie istniejącego serwera HTTP
- Metryki liczby żądań i czasu odpowiedzi
- Metryki błędów i statusów HTTP
- Endpoint dla metryk Prometheus
- Weryfikacja poprawności eksportowanych metryk
6. Zadanie grupowe – customowe metryki w Grafanie
- Podstawowa konfiguracja źródła danych
- Wizualizacja metryk aplikacyjnych
- Dashboard dla serwera HTTP
- Analiza trendów i anomalii
- Czytelność i utrzymywalność dashboardów
Dzień 3
7. Operatory Kubernetes – Operator Framework
- Rola operatorów w ekosystemie Kubernetes
- Podstawowe pojęcia: CRD, kontroler i reconciliation loop
- Struktura projektu w Operator Framework
- Cykl życia zasobu zarządzanego przez operatora
- Ograniczenia i ryzyka automatyzacji operacyjnej
8. Zadanie grupowe – customowy operator z wykorzystaniem Operator Framework
- Definicja zasobu własnego
- Logika kontrolera
- Obsługa zmian stanu zasobu
- Testowanie podstawowego scenariusza działania operatora
- Analiza błędów i zachowania operatora
9. Operatory Kubernetes – Kubebuilder
- Rola Kubebuilder w tworzeniu operatorów
- Struktura projektu Kubebuilder
- Definicje API i kontrolery
- Generowanie manifestów
- Porównanie Kubebuilder i Operator Framework
10. Zadanie grupowe – customowy operator z wykorzystaniem Kubebuilder
- Model zasobu własnego
- Implementacja kontrolera
- Manifesty Kubernetes
- Uruchomienie operatora w środowisku testowym
- Weryfikacja scenariusza reconciliation
11. Mikroserwisy z wykorzystaniem gRPC
- Podstawy architektury mikroserwisowej
- Rola gRPC w komunikacji między usługami
- Definicje kontraktów w Protocol Buffers
- Typy komunikacji gRPC
- Obsługa błędów i ograniczenia komunikacji synchronicznej
12. Przykładowa implementacja
- Struktura przykładowego mikroserwisu
- Definicja pliku proto
- Implementacja serwera gRPC
- Implementacja klienta gRPC
- Testowanie komunikacji między usługami
13. Zadanie grupowe – mikroserwisy z wykorzystaniem gRPC
- Projekt prostego scenariusza mikroserwisowego
- Implementacja kontraktu komunikacyjnego
- Implementacja usługi i klienta
- Obsługa błędów i walidacja danych
- Weryfikacja działania komunikacji gRPC
14. Podsumowanie szkolenia
- Przegląd najważniejszych elementów języka Go
- Podsumowanie pracy z testami, HTTP, metrykami, operatorami i gRPC
- Najczęstsze ryzyka w utrzymaniu aplikacji Go
- Dobre praktyki dalszego rozwoju kodu
- Kierunki dalszej nauki i rozwoju kompetencji