Wyślij zapytanie
Wyślij zapytanie
Wyślij zapytanie
Cel szkolenia

Celem warsztatów z języka Golang jest poszerzenie umiejętności uczestników w zakresie praktycznego wykorzystania wbudowanych mechanizmów języka oraz wybranych pakietów i narzędzi. Uczestnicy zdobędą odpowiednią wiedzę i wykonają ćwiczenia praktyczne w zakresie: obsługi wielowątkowości i błędów,  konfiguracji aplikacji, testowania, obsługi baz danych, implementacji usług w modelu RESTful oraz wykorzystania narzędzi do budowy i analizy aplikacji.

Zakres szkolenia

Zagadnienia podstawowe

  • Architektura kodu
    • Struktury, interfejsy i dynamiczne implementacje,
    • „Embedding” i promocja metod
  • Współbieżność
    • Kontrola cyklu życia i propagacja danych pomiędzy goroutinami – konteksty oraz „wait groups”
    • Synchronizacja dostępu do danych: Mutex, RWMutex
    • Komunikacja międzyprocesowa: kanały, instrukcja select
  • Zdarzenia oparte na czasie: timers, tickers
  • Obsługa błędów
    • Własne hierarchie błędów,
    • Sprawdzanie rodzaju błędu,
    • Sytuacje wyjątkowe: panic/recover
  • Logowanie strukturalne na przykładzie slog
  • Zasoby wbudowane w aplikację: pakiet embed
  • Konfiguracja aplikacji z wykorzystaniem pakietu koanf

Testowanie

  • Listy i mapy w testowaniu: table/map driven tests
  • Równoległe wykonywanie testów,
  • Porównywanie rezultatów testu: deep equal oraz pakiet golden files
  • Symulowanie danych i fragmentów logiki
    • Koncepcja preparowania danych i wstrzykiwania zależności: mocks, stubs, fakes
    • Podmiana funkcji (higher-order, monkey patching)
    • Wykorzystanie interfejsów
  • Testowanie HTTP
    • obsługa wywołań
    • testowanie implementacji klienta
  • Uruchamianie testów i benchmarking
  • Testowanie za pomocą danych losowych: fuzz testing

Bazy danych

  • Wykorzystanie mapowania obiektowo-relacyjnego na przykładzie pakietu gorm lub ent
  • Generacja modeli i zapytań na podstawie SQL: pakiet sqlc
  • Zarządzanie strukturą bazy i migracjami: atlas

Usługi RESTful

  • Obsługa żądań HTTP
    • Routing: standardowy router Golang oraz Gin
    • Ekstrakcja parametrów żądania
    • Serwowanie plików i zasobów wbudowanych,
    • Rozszerzanie procesu przetwarzania żądań: middleware oraz kontekst wywołania
  • Bezpieczeństwo
    • Serwer z obsługą TLS
    • Kontrola dostępu za pomocą JSON Web Token
  • Generacja kodu na podstawie specyfikacji: OpenAPI codegen
  • Swagger UI: serwowanie bezpośrednie oraz pakiet swag

Narzędzia

  • Narzędzie wspomagające budowanie projektu: mage
  • Statyczna analiza kodu z wykorzystaniem golangci-lint
  • Profilowanie
Korzyści

Uczestnicy warsztatów nauczą się:

  • Tworzyć poprawny kod w języku Golang z wykorzystaniem własnych, rozbudowanych typów, mechanizmów współbieżności, systemu obsługi błędów i zdarzeń czasowych.
  • Testować kod z użyciem kompletu narzędzi oferowanych w ramach języka Go, takich jak unit testing, benchmarking i fuzzing
  • Implementować efektywne usługi w modelu REST oraz korzystać z narzędzi do analizy ich działania
  • Praktycznie wykorzystywać relacyjne bazy danych
Adresaci

Programiści na średnim lub wyższym poziomie zaawansowania, z doświadczeniem w innych językach programowania, zaznajomieni  z podstawową składnią języka Golang.

Cel szkolenia

Celem warsztatów z języka Golang jest poszerzenie umiejętności uczestników w zakresie praktycznego wykorzystania wbudowanych mechanizmów języka oraz wybranych pakietów i narzędzi. Uczestnicy zdobędą odpowiednią wiedzę i wykonają ćwiczenia praktyczne w zakresie: obsługi wielowątkowości i błędów,  konfiguracji aplikacji, testowania, obsługi baz danych, implementacji usług w modelu RESTful oraz wykorzystania narzędzi do budowy i analizy aplikacji.

Zakres szkolenia

Zagadnienia podstawowe

  • Architektura kodu
    • Struktury, interfejsy i dynamiczne implementacje,
    • „Embedding” i promocja metod
  • Współbieżność
    • Kontrola cyklu życia i propagacja danych pomiędzy goroutinami – konteksty oraz „wait groups”
    • Synchronizacja dostępu do danych: Mutex, RWMutex
    • Komunikacja międzyprocesowa: kanały, instrukcja select
  • Zdarzenia oparte na czasie: timers, tickers
  • Obsługa błędów
    • Własne hierarchie błędów,
    • Sprawdzanie rodzaju błędu,
    • Sytuacje wyjątkowe: panic/recover
  • Logowanie strukturalne na przykładzie slog
  • Zasoby wbudowane w aplikację: pakiet embed
  • Konfiguracja aplikacji z wykorzystaniem pakietu koanf

Testowanie

  • Listy i mapy w testowaniu: table/map driven tests
  • Równoległe wykonywanie testów,
  • Porównywanie rezultatów testu: deep equal oraz pakiet golden files
  • Symulowanie danych i fragmentów logiki
    • Koncepcja preparowania danych i wstrzykiwania zależności: mocks, stubs, fakes
    • Podmiana funkcji (higher-order, monkey patching)
    • Wykorzystanie interfejsów
  • Testowanie HTTP
    • obsługa wywołań
    • testowanie implementacji klienta
  • Uruchamianie testów i benchmarking
  • Testowanie za pomocą danych losowych: fuzz testing

Bazy danych

  • Wykorzystanie mapowania obiektowo-relacyjnego na przykładzie pakietu gorm lub ent
  • Generacja modeli i zapytań na podstawie SQL: pakiet sqlc
  • Zarządzanie strukturą bazy i migracjami: atlas

Usługi RESTful

  • Obsługa żądań HTTP
    • Routing: standardowy router Golang oraz Gin
    • Ekstrakcja parametrów żądania
    • Serwowanie plików i zasobów wbudowanych,
    • Rozszerzanie procesu przetwarzania żądań: middleware oraz kontekst wywołania
  • Bezpieczeństwo
    • Serwer z obsługą TLS
    • Kontrola dostępu za pomocą JSON Web Token
  • Generacja kodu na podstawie specyfikacji: OpenAPI codegen
  • Swagger UI: serwowanie bezpośrednie oraz pakiet swag

Narzędzia

  • Narzędzie wspomagające budowanie projektu: mage
  • Statyczna analiza kodu z wykorzystaniem golangci-lint
  • Profilowanie
Korzyści

Uczestnicy warsztatów nauczą się:

  • Tworzyć poprawny kod w języku Golang z wykorzystaniem własnych, rozbudowanych typów, mechanizmów współbieżności, systemu obsługi błędów i zdarzeń czasowych.
  • Testować kod z użyciem kompletu narzędzi oferowanych w ramach języka Go, takich jak unit testing, benchmarking i fuzzing
  • Implementować efektywne usługi w modelu REST oraz korzystać z narzędzi do analizy ich działania
  • Praktycznie wykorzystywać relacyjne bazy danych
Adresaci

Programiści na średnim lub wyższym poziomie zaawansowania, z doświadczeniem w innych językach programowania, zaznajomieni  z podstawową składnią języka Golang.

Liczebność grupy: 8-15 uczestników

Czas trwania: 4 dni

Dostępny język: PL / EN

Dostępny język materiałów: PL

Forma kursu
Szkolenie organizowane w formie otwartej (dla osób indywidualnych).

Pobierz materiały

Pobierz

Dziękujemy!

Przepraszamy, coś poszło nie tak.

Odśwież stronę i spróbuj ponownie.

Błąd przesyłania pliku

Żaden plik nie został przesłany

Nieprawidłowy rozmiar pliku (maks. 5 MB)

Nieprawidłowy format pliku

Pusty plik

Przetwarzanie...

Pobierz materiały

Pobierz

Jeśli masz pytania dotyczące naszych szkoleń, skontaktuj się z ekspertami Sii

Natalia i Agata

Zespół Praktyki Szkoleniowej

Skontaktuj się z ekspertami

Natalia i Agata

Załączony plik:

  • danieltroc.pdf

Dopuszczalne pliki: DOC, DOCX, PDF (max 5MB)

Dziękujemy za wypełnienie formularza.

Zapoznamy się z treścią Twojej wiadomość i skontaktujemy się z Tobą tak szybko, jak będzie to możliwe.

Przepraszamy, coś poszło nie tak i Twoja wiadomość nie została dostarczona.

Odśwież stronę i spróbuj ponownie

Błąd przesyłania pliku

Żaden plik nie został przesłany

Nieprawidłowy rozmiar pliku (maks. 5 MB)

Nieprawidłowy format pliku

Pusty plik

Przetwarzanie...

Może Cię również zainteresować

Języki programowaniaZostań Developerem

Zostań Developerem C# / .NET z opcją stażu w Sii

Czas trwania:
10 dni
Języki programowania

Korzyści z zastosowania języka Rust w projekcie informatycznym

Czas trwania:
1 dzień
Języki programowania

Rust dla średniozaawansowanych

Czas trwania:
2 dni
Języki programowania

Wstęp do programowania z użyciem języka Rust

Czas trwania:
2 dni
Języki programowaniaZostań Developerem

Zostań Developerem Java

Czas trwania:
8 dni
Języki programowaniaZostań Developerem

Zostań Developerem Front-end z opcją stażu w Sii

Czas trwania:
8 dni
Języki programowaniaZostań Developerem

Zostań Developerem C# / .NET

Czas trwania:
6 dni
Języki programowaniaZostań Developerem

Zostań Developerem Java z opcją stażu w Sii

Czas trwania:
10 dni
Języki programowaniaZostań Developerem

Zostań Developerem Python

Czas trwania:
6 dni
Języki programowaniaRozwiązania testerskie

Programowanie w języku Java dla testerów

Czas trwania:
4 dni
Języki programowaniaRozwiązania testerskie

GIT – praktyczne podejście do pracy grupowej

Czas trwania:
2 dni
Języki programowania

Python - tworzenie aplikacji sieciowych

Czas trwania:
2 dni
Języki programowania

JavaScript – podstawy programowania

Czas trwania:
3 dni
Języki programowania

ReactJS – podstawy programowania

Czas trwania:
3 dni
Języki programowania

Mikroserwisy – podstawy programowania

Czas trwania:
3 dni
Języki programowania

Angular16 – podstawy programowania

Czas trwania:
3 dni
Języki programowania

AngularJS – podstawy programowania

Czas trwania:
4 dni
Języki programowania

Java - podstawy programowania

Czas trwania:
4 dni

ITIL®, PRINCE2® są zarejestrowanymi znakami handlowymi należącymi do firmy AXELOS Limited i używanymi za jej zgodą. Wszelkie prawa zastrzeżone.
AgilePM® jest zastrzeżonym znakiem towarowym Agile Business Consortium Limited. Wszelkie prawa zastrzeżone.
Kursy AgilePM® są oferowane przez Sii, spółkę stowarzyszoną z Quint Wellington Redwood, akredytowaną organizację szkoleniową The APM Group Ltd.
Lean IT® Association jest zastrzeżonym znakiem towarowym Lean IT Association LLC. Wszelkie prawa zastrzeżone.
SIAM™ jest zastrzeżonym znakiem towarowym EXIN Holding B.V.
Wszystkie ceny podane na stronie to ceny netto. Należy doliczyć podatek VAT 23%.

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?

Einige Inhalte sind nicht in deutscher Sprache verfügbar.
Sie werden auf die deutsche Homepage weitergeleitet.

Möchten Sie fortsetzen?