Spring Boot i Docker + wprowadzenie do mikroserwisów
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Wprowadzenie
- Co to jest Spring Boot?
- Spring Initializer
- Struktura wygenerowanego projektu
- Uruchamianie aplikacji
- Zarządzanie zależnościami
- Co to jest bean?
- @Scope i cykl życia
- Wstrzykiwanie zależności
- Konfiguracja za pomocą kodu
- Zaawansowane mechanizmy wyboru zależności
- Konfiguracja
- Plik application.yml i jego najważniejsze elementy
- Profile aplikacji i sposoby ich wykorzystania
- Wstrzykiwanie konfiguracji poprzez @Value
- Wstrzykiwanie konfiguracji poprzez @ConfigurationProperties
- Warunkowe tworzenie beanów na podstawie konfiguracji
- Wystawienie REST API przy użyciu Spring Web
- Podstawy wystawiania API REST za pomocą @RestController
- Obsługa operacji GET, POST, PUT, DELETE
- Przekazywanie parametrów do zapytań - query, path, body i nagłówki
- Zwracanie danych z serwera (body, statys, nagłówki)
- Upload i download plików binarnych
- Własne typy danych w API
- Walidacja poprawności zapytań
- Generowanie specyfikacji OpenAPI 3.0
- Przygotowanie testów wystawionego API
- Konsumowanie REST API
- Wykonywanie zapytań za pomocą RestTemplate
- Wykonywanie zapytań za pomocą Feign
- Generowanie klienta ze specyfikacji OpenAPI 3.0
- Wprowadzenie Cache
- Mechanizm wywoływania operacji cyklicznych
- @Scheduled i jego konfiguracja
- Wykonywanie operacji z opóźnieniem
- Wykonywanie operacji cyklicznie z odstępem czasowym
- Wykorzystanie wyrażeń cron
- Dostęp do bazy danych z wykorzystaniem Spring Data
- Tworzenie struktury bazy danych za pomocą Liquibase
- Wprowadzanie zmian w istniejącej strukturze bazy
- Tworzenie @Repository
- Definicja mapowań encji bazodanowych
- Tworzenie własnych zapytań
- Obsługa transakcji
- Bezpieczeństwo z użyciem Spring Security
- Wprowadzenie
- Uwierzytelnianie za pomocą HTTP Basic oraz OAuth2
- Zabezpieczenie na podstawie ról
- Zabezpieczenie na podstawie danych
- Odpytywanie zabezpieczonych serwisów
- Monitoring aplikacji z użyciem Spring Boot Actuator
- Healthcheck czyli informacja o zdrowiu aplikacji
- Wystawienie metryk o naszej aplikacji dla Prometheusa
- Definiowanie własnych metryk
- Docker
- Wprowadzenie i instalacja
- Podstawowe operacje
- Operacje wewnątrz kontenera
- Tworzenie własnego obrazu za pomocą Dockerfile
- Przekazywanie parametrów do obrazu
- Przechowywanie danych poza kontenerem
- Przygotowanie obrazu dla aplikacji Spring Boot
- Docker Compose
- Wprowadzenie
- Definicja kontenerów
- Przekazywanie parametrów do kontenerów
- Tworzenie sieci
- Przykład stworzenia lokalnego środowiska developerskiego
- Kubernetes
- Wprowadzenie
- Podstawowe pojęcia
- Dobre praktyki dla developera
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Szkolenie dedykowane dla programistów Java, którzy chcieliby się nauczyć tworzyć skalowalne mikroserwisy gotowe do działania w chmurze. Główny nacisk jest położony na dobre praktyki tworzenia aplikacji Spring Bootowej.
Oprócz nauki samego Spring Boota, ze szkolenia dowiesz się jak poprawnie uruchomić aplikację w kontenerze Dockerowym, jak utworzyć lokalne środowisko developerskie oraz poznasz podstawy Kubernetesa z punktu widzenia developera.
Jeżeli znasz już Spring Boota, to szkolenie naprowadzi Cię na maksymalne wykorzystanie wszystkich jego możliwości. Nauczysz się, jak sprawnie i szybko tworzyć aplikacje przy użyciu gotowych bibliotek, które odciążą Cie od nadmiernej ręcznej konfiguracji. Dzięki czemu, Twoja aplikacja będzie łatwa w późniejszym utrzymaniu.
Są to umiejętności bardzo porządane na rynku pracy. Wielu developerów piszę aplikacje Spring Bootowe, ale większość z nich nie potrafi w pełni wykorzystać jego potencjału - tutaj się tego nauczysz.
Prowadzący szkolenie: Marcin Dzierżak
Z wykształcenia mgr informatyki, absolwent Politechniki Gdańskiej. Obecnie jako konsultant realizuje rozwiązania dla klientów. Doświadczenie zdobywał przez 20 lat pracując dla klientów software house, korporacyjnych oraz administracji europejskiej. Od początku kariery związany i wierny językowi programowania Java. Zdobytą wiedzą praktyczną dzieli się na szkoleniach technicznych. W profilu "fullstack" skupia się na technologiach bazujących na językach programowania Java i JavaScript. Realizowane szkolenia mają charakter praktyczny i warsztatowy.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Java
Programista i projektant z 13-letnim doświadczeniem, specjalizujący się w Javie i full-stack development. Pracował nad dużymi projektami korporacyjnymi w sektorach fintech oraz insurtech, zdobywając bogate doświadczenie w tworzeniu systemów rozproszonych oraz integracji opartej o API i zdarzenia.
Jako specjalista w dziedzinie Java i architektury oprogramowania, zajmował się również strategicznym rozwojem kompetencji technicznych w organizacji, będąc aktywnym rekruterem technicznym, trenerem oraz mentorem. Pasjonat współpracy z ekspertami domenowymi i klientami, z zamiłowaniem do prostoty i czytelności, z zainteresowaniem Domain Driven Design (DDD) oraz innymi podejściami inżynierii oprogramowania zorientowanymi na domenę biznesową.
Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie). Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.