Opis kursu
- Profesjonalne przygotowanie do pracy na stanowisku programisty w wybranym języku programowania oraz powiązanymi z nim bibliotekami oraz frameworkami.
- Nauka od podstaw po zaawansowane rozwiązania komercyjne.
- Zoptymalizowany kod napisany zgodnie z dobrymi praktykami programistycznymi.
- Szkolenie według planu dopasowanego do najnowszych standardów IT.
- Nagrania ze spotkań grupowych, które możesz oglądać kiedy tylko chcesz.
- Ogromna ilość zadań teoretycznych i praktycznych o różnym poziomie trudności.
- Wsparcie mentora przy rozwiązywaniu problemów związanych z pytaniami teoretycznymi, zadaniami praktycznymi i projektami komercyjnymi.
- Elastyczny kontakt z mentorem.
- Profesjonalne przygotowanie do rozmowy kwalifikacyjnej.
- Profesjonalnie przygotowane portfolio z rozbudowanymi projektami komercyjnymi.
- Skuteczne techniki nauki programowania.

PROMOCJA – pierwsze spotkanie GRATIS
Już teraz
zapisz się na kurs
- Spring Boot Aplikacje Webowe
Zostaw swoje namiary, a skontaktuję się z Tobą w sprawie kursu
Plan kursu
- Omówienie architektury frameworka Spring
- Przegląd wersji Spring oraz wprowadzanych w nich zmian
- Omówienie zasady działania kontenera Spring
- Omówienie zasady działania kontekstu aplikacji Spring
- Wzorzec projektowy Dependency Injection (DI)
- Wzorzec projektowy Inversion of Control (IoC)
- Cykl życia komponentu Spring
- Konfiguracja pierwszej aplikacji Spring
- Przegląd adnotacji frameworka Spring
- Automatyczne wiązanie komponentów
- Wiązanie komponentów za pomocą konfiguracja Java
- Łączenie kilku konfiguracji
- Rozwiązanie problemu niejednoznaczności podczas wstrzykiwania komponentów
- Zasięg komponentów
- Spring Expression Language (SpEL)
- Pobieranie zewnętrznych danych konfiguracyjnych
- Różne sposoby wstrzykiwania danych konfiguracyjnych do działającej aplikacji webowej.
- Programowanie aspektowe z wykorzystaniem frameworka Spring
- Praktyczne przykłady wykorzystania programowania aspektowego
- Zarządzanie profilami
- Zagadnienia uzupełniające
- Omówienie architektury frameworka Spring Boot
- Moduły Spring Boot Starters
- Pluginy wspomagające pracę z aplikacjami Spring Boot
- Praca z narzędziem Spring Initializr
- Spring Boot CLI
- Sposoby autokonfiguracji aplikacji Spring Boot
- Konfiguracja aplikacji Spring Boot z poziomu plików konfiguracyjnych properties, YAML oraz wiersza poleceń
- Konfiguracja aplikacji Spring Boot z wykorzystaniem adnotacji i klas Java
- Profile aplikacji
- Przegląd wbudowanych serwerów aplikacji Spring Boot
- Zagadnienia uzupełniające
- Omówienie architektury aplikacji webowej
- Omówienie standardów HTTP, REST, JSON oraz innych powiązanych
- Omówienie roli klasy DispatcherServlet
- Przedstawienie modelu przepływu danych w aplikacji webowej Spring Boot
- Konfiguracja aplikacji webowej Spring Boot
- Zarządzanie kontekstem aplikacji webowej
- Praca ze zmiennymi środowiskowymi
- Omówienie pojęcia kontrolera
- Adnotacja @RestController
- Implementacja REST API z wykorzystaniem REST kontrolerów
- Przekazywanie request params oraz query strings
- Praca z nagłówkami
- Przechwytywanie i zarządzanie ciałem żądania
- Serializacja i deserializacja JSON
- Dobre praktyki serializacji danych
- Przygotowanie prawidłowego formatu zwracanych danych
- Implementacja własnych serializerów i deserializerów
- Różne sposoby walidowania danych (Hibernate Validator, Spring Validator, własna klasa walidująca)
- Zarządzanie sesją oraz cookies
- Analiza kodów HTTP
- Globalne przechwytywanie wyjątków
- Obsługa zdarzeń synchronicznych i asynchronicznych
- Websockets
- Zarządzanie zasobami statycznymi
- Internacjonalizacja
- Konfiguracja loggerów
- Omówienie założeń architektury wielowarstwowej
- Implementacja kompletnej aplikacji webowej z wykorzystaniem architektury wielowarstwowej
- Omówienie założeń architektury Domain-Driven Design
- Implementacja kompletnej aplikacji webowej z wykorzystaniem architektury Domain-Driven Design
- Testowanie REST API aplikacji webowej z wykorzystaniem narzędzi zewnętrznych
- Omówienie zastosowania klasy RestTemplate
- Implementacja komunikacji pomiędzy aplikacjami webowymi z wykorzystaniem RestTemplate
- Implementowanie architektury RESTful Web Services
- Generowanie dokumentacji aplikacji webowej
- Wysyłanie wiadomości email z poziomu aplikacji webowej Spring Boot
- Konfiguracja mechanizmu interceptors
- Monitorowanie parametrów aplikacji za pomocą Spring Boot Actuator
- Konfiguracja automatycznego przeładowania aplikacji za pomocą Spring Boot DevTools
- Zagadnienia uzupełniające
- Przypomnienie zagadnień związanych z JPA / Hibernate
- Omówienie architektury frameworka Spring Data i Spring Data JPA
- Konfiguracja aplikacji Spring Boot do pracy ze Spring Data JPA
- Przygotowanie konfiguracji do pracy z wieloma bazami danych
- Implementacja warstwy mapującej tabele bazy danych
- Mapowanie złożonych struktur danych
- Zarządzanie danymi w bazie danych z wykorzystaniem biblioteki Liquibase
- Przegląd typów i adnotacji Spring Data JPA
- Implementacja zapytań z wykorzystaniem mechanizmu Query Method
- Przekazywanie parametrów w mechanizmie Query Method
- Sortowanie wyników zapytań – klasa Sort
- Implementacja zapytań modyfikujących oraz usuwających
- Projekcje
- Wykorzystanie procedur składowanych
- Implementacja mechanizmu Query By Example
- Zarządzanie transakcyjnością (isolation level, propagation)
- Wyjaśnienie różnicy pomiędzy repozytorium oraz DAO
- Implementacja kompletnej warstwy bazodanowej w aplikacji webowej
- Zagadnienia uzupełniające
- Przegląd możliwości frameworka Spring Boot do testowania aplikacji webowych
- Przygotowanie komunikacji bazodanowej na potrzeby testów
- Zastosowanie frameworków JUnit oraz Mockito w testach aplikacji webowych
- Zastosowanie różnych bibliotek do zarządzania asercjami
- Testowanie warstwy bazodanowej
- Testowanie warstwy biznesowej
- Testowanie warstwy webowej
- Testy integracyjne aplikacji webowej
- Zagadnienia uzupełniające
- Omówienie architektury frameworka Spring Security
- Wdrożenie podstawowych możliwości zabezpieczających frameworka Spring Security
- Przechowywanie użytkowników w pamięci aplikacji
- Przygotowanie warstwy bazodanowej do przechowywania zarejestrowanych użytkowników w bazie danych
- Różne sposoby szyfrowania haseł z wykorzystaniem Spring Security
- Implementacja modułu rejestracji użytkownika
- Implementacja mechanizmu aktywacji konta zarejestrowanego użytkownika
- Implementacja mechanizmu przypominania hasła użytkownika
- Autentykacja oraz autoryzacja
- Omówienie standardu JWT
- JWT Debugger
- Zarządzanie danymi przesyłanymi w tokenie JWT
- Omówienie zasady działania i przygotowanie access token.
- Omówienie zasady działania i przygotowanie refresh token.
- Dobre praktyki szyfrowania danych w tokenach JWT
- Omówienie zasady działania filtrów Spring Boot
- Przygotowanie filtra realizującego proces autentykacji
- Przygotowanie filtra realizującego proces autoryzacji
- Konfiguracja mechanizmu security w aplikacji webowej
- Implementacja obsługi błędów mechanizmu Spring Security
- Dostosowanie aplikacji do pracy z użytkownikami o różnych uprawnieniach
- Testowanie warstwy security aplikacji webowej
- Zagadnienia uzupełniające
- Omówienie zasady działania aplikacji asynchronicznych
- Prezentacja założeń aplikacji reaktywnych
- Wprowadzenie do biblioteki Spring Reactor oraz framework Spring WebFlux
- Konfiguracja aplikacji Spring Boot do pracy z mechanizmami reaktywnymi
- Analiza działania i sposoby tworzenia instancji typów reaktywnych Mono oraz Flux
- Omówienie zasady działania strumieni reaktywnych
- Implementacja i zarządzanie wątkami z wykorzystaniem schedulers
- Przegląd metod zarządzających typami oraz strumieniami reaktywnymi
- Przegląd metod realizujących mechanizm backpressure
- Przegląd metod realizujących przechwytywanie i obsługę błędów
- Testowanie mechanizmów reaktywności
- Zagadnienia uzupełniające
- Omówienie architektury reaktywnej aplikacji webowej
- Konfiguracja aplikacji webowej Spring Boot WebFlux
- Praca ze zmiennymi środowiskowymi
- Routing prosty oraz zagnieżdżony
- Implementacja reaktywnego REST API
- Przekazywanie request params oraz query strings
- Praca z nagłówkami
- Przechwytywanie i zarządzanie ciałem żądania
- Serializacja i deserializacja JSON
- Dobre praktyki serializacji danych
- Przygotowanie prawidłowego formatu zwracanych danych
- Implementacja własnych serializerów i deserializerów
- Różne sposoby walidowania danych
- Zarządzanie sesją oraz cookies
- Analiza kodów HTTP
- Globalne przechwytywanie wyjątków
- Zarządzanie zasobami statycznymi
- Internacjonalizacja
- Konfiguracja loggerów
- Omówienie założeń architektury wielowarstwowej
- Implementacja kompletnej reaktywnej aplikacji webowej z wykorzystaniem architektury wielowarstwowej
- Omówienie założeń architektury Domain-Driven Design
- Implementacja kompletnej reaktywnej aplikacji webowej z wykorzystaniem architektury Domain-Driven Design
- Testowanie REST API reaktywnej aplikacji webowej z wykorzystaniem narzędzi zewnętrznych
- Implementowanie reaktywnej architektury RESTful Web Services
- Generowanie dokumentacji aplikacji webowej
- Wysyłanie wiadomości email z poziomu reaktywnej aplikacji webowej
- Dostosowanie aplikacji webowej niereaktywnej do pracy z mechanizmami reaktywności
- Przygotowanie reaktywnej warstwy bazodanowej w oparciu o framework Spring Boot Data Reactive MongoDd
- Przygotowanie konfiguracji do pracy z wieloma bazami danych
- Implementacja warstwy mapującej kolekcje z bazy danych
- Mapowanie złożonych struktur danych
- Implementacja kompletnej warstwy bazodanowej w aplikacji webowej
- Przygotowanie komunikacji bazodanowej na potrzeby testów
- Zastosowanie frameworka Spring WebFlux w testach aplikacji webowych
- Zastosowanie różnych bibliotek do zarządzania asercjami
- Testowanie warstwy bazodanowej
- Testowanie warstwy biznesowej
- Testowanie warstwy webowej
- Testy integracyjne aplikacji webowej
- Przygotowanie warstwy bazodanowej do przechowywania zarejestrowanych użytkowników w bazie danych
- Różne sposoby szyfrowania haseł z wykorzystaniem Spring Security
- Implementacja modułu rejestracji użytkownika
- Implementacja mechanizmu aktywacji konta zarejestrowanego użytkownika
- Implementacja mechanizmu przypominania hasła użytkownika
- Autentykacja oraz autoryzacja
- Zarządzanie danymi przesyłanymi w tokenie JWT
- Przygotowanie access token oraz refresh token.
- Implementacja modułu autentykacji oraz modułu autoryzacji
- Konfiguracja mechanizmu security w aplikacji webowej
- Implementacja obsługi błędów mechanizmu Spring Security
- Dostosowanie aplikacji do pracy z użytkownikami o różnych uprawnieniach
- Testowanie warstwy security aplikacji webowej
- Zagadnienia uzupełniające
- Wprowadzenie do architektury Apache Kafka
- Omówienie struktury danych gromadzonych w Kafka
- Prezentacja zasady działania brokerów
- Analiza sposobu przesyłania danych z wykorzystaniem producentów i konsumentów
- Omówienie zasady działania i przeznaczenia Zookeeper
- Zaawansowana konfiguracja systemu zarządzania wiadomościami Kafka
- Prezentacja instrukcji dostępnych w Kafka CLI
- Implementacja różnych konfiguracji systemu zarządzania wiadomościami w aplikacji Java
- Analiza zastosowania biblioteki Kafka Streams
- Architektura i struktura biblioteki Kafka Streams
- Konfiguracja aplikacji Java do pracy z Kafka Streams
- Implementacja mechanizmów Kafka Streams w aplikacji Java
- Prezentacja biblioteki Kafka Connect
- Przegląd dostępnych sources oraz sinks
- Konfiguracja aplikacji Java do pracy z Kafka Connect
- Implementacja mechanizmów Kafka Connect w aplikacji Java
- Konfiguracja aplikacji webowej Spring Boot do pracy z Kafka
- Implementacja mechanizmów Kafka w aplikacji webowej Spring Boot
- Implementacja aplikacji webowej Spring Boot wykorzystującej reaktywny API Reactor Kafka
- Omówienie architektury platformy RabbitMQ
- Analiza sposobu przesyłania danych z wykorzystaniem producentów i konsumentów
- Omówienie przeznaczenia i rodzajów RabbitMQ Exchange
- Przechwytywanie i zarządzanie błędami w systemie zarządzania wiadomościami
- Pluginy RabbitMQ
- Zaawansowana konfiguracja systemu zarządzania wiadomościami RabbitMQ
- Implementowanie struktury systemu zarządzania wiadomościami RabbitMQ z poziomu aplikacji Spring Boot
- Porównanie narzędzi Kafka oraz RabbitMQ
- Wykorzystanie mechanizmów frameworka Spring Boot oraz frameworka Spring Boot WebFlux do pracy z systemami asynchronicznego zarządzania wiadomościami
- Zagadnienia uzupełniające
- Omówienie architektury aplikacji mikroserwisowych
- Zapoznanie się ze wzorcami wdrażanymi w konfiguracjach mikroserwisowych
- Omówienie modułów i architektury frameworka Spring Cloud
- Prezentacja adnotacji Spring Cloud potrzebnych do konfigurowania środowiska mikroserwisowego
- Przygotowanie instancji Eureka Server do zarządzania pracy mikroserwisów
- Przygotowanie środowiska bazodanowego dla poszczególnych mikroserwisów
- Przygotowanie warstwy bazodanowej w oparciu o Spring Data JPA dla aplikacji w architekturze mikroserwisowej
- Rejestracja mikroserwisu w Eureka Server
- Konteneryzacja mikroserwisów (patrz punkt 11)
- Monitorowanie zarejestrowanego serwisu z poziomu Eureka Server
- Konfiguracja komunikacji pomiędzy mikroserwisami z wykorzystaniem narzędzia Spring Cloud OpenFeign
- Konfiguracja load balancing za pomocą Spring Cloud OpenFeign
- Skalowanie aplikacji webowych w architekturze mikroserwisowej
- Implementacja mechanizmu API Gateway z wykorzystaniem Spring Cloud Zuul ( dla zachowania zgodności ze starszymi wersjami aplikacji webowych Spring Boot )
- Implementacja mechanizmu API Gateway z wykorzystaniem Spring Cloud Gateway
- Implementacja warstwy security w architekturze mikroserwisowej
- Omówienie problemów związanych z przechowywaniem danych konfiguracyjnych wewnątrz aplikacji webowych
- Omówienie zasady działania Spring Cloud Config Server
- Przygotowanie zdalnego repozytorium GitHub do przechowywania danych konfiguracyjnych aplikacji
- Implementacja mechanizmu przechowywania danych konfiguracyjnych w zdalnym repozytorium GitHub z wykorzystaniem Spring Cloud Config Server
- Wykorzystanie profili aplikacji webowej Spring Boot do zarządzania zdalnymi danymi konfiguracyjnymi
- Wprowadzenie do biblioteki Resilence4j
- Prezentacja możliwości biblioteki Resilence4j
- Omówienie zasady działania mechanizmu fault tolerance
- Implementacja mechanizmu fault tolerance z wykorzystaniem biblioteki Resilence4j
- Omówienie zasady działania wzorca circuit breaker
- Implementacja wzorca circuit breaker z wykorzystaniem biblioteki Resilence4j
- Wykorzystanie Spring Boot Actuator do monitorowania stanu aplikacji mikroserwisowych
- Konfiguracja narzędzia Prometheus do wizualizacji wybranych parametrów aplikacji mikroserwisowych
- Konfiguracja narzędzia Grafana do wizualizacji wybranych parametrów aplikacji mikroserwisowych
- Omówienie mechanizmu distributed tracing
- Implementacja mechanizmu distributed tracing z wykorzystaniem Spring Cloud Sleuth
- Monitorowanie wyników działania mechanizmu distributed tracing z wykorzystaniem Spring Cloud Zipkin
- Konfiguracja systemów asynchronicznego zarządzania wiadomościami do pracy w architekturze mikroserwisowej
- Zastosowanie elementów frameworka Spring WebFlux w architekturze mikroserwisowej
- Konfiguracja reaktywnej komunikacji pomiędzy mikroserwisami z wykorzystaniem WebClient
- Implementacja reaktywnej warstwy bazodanowej w architekturze mikroserwisowej z wykorzystaniem Spring Data Reactive MongoDb
- Implementacja reaktywnej warstwy security w architekturze mikroserwisowej z wykorzystaniem mechanizmów Spring WebFlux
- Testowanie aplikacji webowych pracujących w architekturze mikroserwisowej z wykorzystaniem mechanizmów Spring WebFlux
- Zagadnienia uzupełniające
- Omówienie architektury platformy Docker
- Zasada działania obrazu oraz kontenera
- Różnica pomiędzy kontenerem Docker oraz maszyną wirtualną
- Instalacja platformy Docker
- Praca z Docker CLI
- Tworzenie i zarządzanie obrazami platformy Docker
- Image Layers
- Wprowadzenie do pracy z Docker Hub
- Osadzenie przygotowanego obrazu w repozytorium Docker Hub
- Tworzenie i zarządzanie kontenerami w platformie Docker
- Omówienie cyklu życia kontenera
- Kopiowanie plików z maszyny lokalnej do kontenera
- Kopiowanie plików z kontenera do maszyny lokalnej
- Klasyfikacja rodzajów danych przechowywanych w kontenerach
- Tworzenie i zarządzanie volumes w platformie Docker
- Różnica pomiędzy anonymous volumes oraz named volumes
- Tworzenie i zarządzanie bind mounts w platformie Docker
- Omówienie różnic pomiędzy volumes oraz bind mounts
- Tworzenie volumes tylko do odczytu
- Instalacja i uruchamianie przykładowych narzędzi z wykorzystaniem platformy Docker
- Omówienie struktury pliku konfiguracyjnego Dockerfile
- Praca z argumentami oraz zmiennymi środowiskowymi
- Konteneryzacja aplikacji webowej z wykorzystaniem Docker
- Komunikacja kontenera z zewnętrznym REST API
- Komunikacja kontenera z narzędziami osadzonymi w localhost
- Komunikacja container to container z użyciem networks w platformie Docker
- Przegląd sterowników do konfiguracji zachowania networks
- Omówienie zasady działania narzędzia Docker Compose
- Instalacja narzędzia Docker Compose
- Struktura pliku konfiguracyjnego narzędzia Docker Compose
- Przygotowanie kontenera bazy danych
- Konfiguracja kontenerów do pracy z wieloma bazami danych
- Konteneryzacja aplikacji webowej
- Przykład tworzenia utility containers
- Omówienie architektury Amazon Web Services
- Omówienie pojęcia regionu
- Omówienie pojęcia availability zone (AZ)
- Praca z Identity and Access Management (IAM)
- Wprowadzenie pojęć users, roles, groups oraz policies
- Konfiguracja konta użytkownika
- Zarządzanie budżetem
- Omówienie Amazon Machine Images (AMI)
- Wprowadzenie do serwisu Elastic Compute Cloud (EC2)
- Przygotowanie i uruchomienie instancji EC2
- Przegląd parametrów instancji EC2
- Konfiguracja Security Groups do ustawienia możliwości komunikacyjnych instancji EC2
- Komunikacja z instancją EC2 z wykorzystaniem SSH
- Komunikacja z instancją EC2 z wykorzystaniem AWS Console
- Konfiguracja Elastic IP
- Konfiguracja User Data do uruchamia operacji początkowych dla instancji EC2
- Przygotowanie instancji EC2 do pracy z kontenerami Docker
- Osadzenie skonteneryzowanej aplikacji webowej w instancji EC2
- Klasyfikacja sposobów uruchamiania instancji EC2
- EC2 Elastic Network Instances (ENI)
- Omówienie pojęć scalability oraz high availability
- Skalowanie wertykalne oraz horyzontalne
- Omówienie pojęcia load balancing
- Klasyfikacja load balancerów
- Uruchomienie serwisu Elastic Load Balancer (ELB)
- Load Balancer Stickiness
- Cross-Zone Load Balancing
- Omówienie pojęć związanych z auto scaling
- Konfiguracja Auto Scaling Group (ASG)
- Sposoby skalowania – Target Tracking Scaling
- Sposoby skalowania – Simple / Step Scaling
- Konfiguracja Elastic Block Store (EBS)
- Klasyfikacja EBS Volumes
- Konfiguracja EC2 Instance Store
- Konfiguracja Elastic File System (EFS)
- Porównanie EBS oraz EFS
- Wprowadzenie do serwisu Relational Database Service (RDS)
- Zalety i wady stosowania RDS
- Omówienie mechanizmu RDS Read Replicas
- Omówienie mechanizmu Single AZ oraz Multi AZ
- Konfiguracja usługi RDS
- RDS Encryption
- Wady i zalety pracy z bazą danych Amazon Aurora
- Konfiguracja RDS do pracy z Amazon Aurora
- Omówienie usługi Amazon ElastiCache
- Wprowadzenie do serwisu Elastic Beanstalk (EB)
- Przygotowanie środowiska Elastic Beanstalk Environment
- Klasyfikacja sposobów osadzania aplikacji w EB Environment
- Praca z Elastic Beanstalk Extensions
- Klonowanie środowiska Elastic Beanstalk
- Docker w pracy z Elastic Beanstalk
- Osadzanie aplikacji webowej w środowisku EB
- Osadzanie aplikacji webowej w środowisku EB z komunikacją bazodanową z wykorzystaniem RDS
- Load balancing oraz autoscaling aplikacji osadzonej w środowisku EB
- Przygotowanie API Gateway dla środowiska EB
- Wprowadzenie do serwisu Elastic Container Service (ECS)
- Omówienie pojęcia orkiestryzacji kontenerów
- Konfiguracja ECS
- Wprowadzenie do serwisu AWS Fargate
- Omówienie jednostki uruchomieniowej Task
- Konfiguracja Task Definition
- Omówienie i konfiguracja Service
- Przeznaczenie elementu Cluster
- Konfiguracja Cluster
- Osadzenie aplikacji webowej jako service w klastrze AWS Fargate
- Komunikacja kontenera AWS Fargate z bazą danych osadzoną w RDS
- Zarządzanie parametrami aplikacji poprzez Systems Manager
- Komunikacja kontenerów osadzonych w ramach serwisów AWS Fargate (wdrażanie architektury mikroserwisowej)
- Konfiguracja distributed tracing dla kontenerów AWS Fargate z wykorzystaniem usługi AWS X-Ray
- Konfiguracja load balancera do pracy z kontenerami AWS Fargate
- Konfiguracja auto scaling do pracy z kontenerami AWS Fargate
- Wprowadzenie do serwisu App Mesh
- Charakterystyka pojęcia proxy
- Envoy Proxy jako przykład proxy używanego w App Mesh
- Tworzenie namespace w ramach usługi App Mesh
- Tworzenie service dla skonfigurowanego namespace
- Konfiguracja URI utworzonych w usłudze Route53 do pracy ze skonfigurowanymi serwisami
- Konfiguracja Virtual Node
- Konfiguracja Virtual Service dla utworzonych serwisów
- Konfiguracja AWS Fargate do wdrożenia konfiguracji przygotowanej w ramach AWS Mesh
- Wprowadzenie do serwisu AWS CodePipeline
- Wyjaśnienie pojęcia continuous integration (CI)
- Wyjaśnienie pojęcia continuous delivery (CD)
- Przygotowanie aplikacji webowej do pracy z CI/CD
- Przygotowanie repozytorium GitHub aplikacji webowej do pracy z AWS CodePipeline
- Przygotowanie serwisu ECS do pracy z AWS CodePipeline
- Omówienie kolejnych etapów budowania i uruchamiania projektu w ramach usługi AWS CodePipeline
- Uruchomienie serwisu z aplikacją webową w ramach CI/CD
- Testowanie mechanizmu CI/CD w ramach AWS CodePipeline
- Sprawdzanie logów aplikacji z wykorzystaniem usługi CloudWatch
- Serwowanie zasobów statycznych z wykorzystaniem usługi AWS S3
- Zagadnienia uzupełniające
- Omówienie architektury Kubernetes
- Przegląd rozwiązań chmurowych pod kątem stosowania Kubernetes na przykładzie platform Google Cloud oraz AWS
- Przygotowanie platofrmy Google Cloud do pracy z Kubernetes
- Przygotowanie platformy AWS do pracy z Kubernetes
- Tworzenie i zarządzanie klastrem Kubernetes
- Przygotowanie aplikacji webowej do osadzenia w klastrze Kubernetes
- Osadzanie aplikacji webowej w klastrze Kubernetes
- Analiza możliwości Kubernetes pod kątem mechanizmów Load Balancing oraz Auto Scaling
- Analiza plików konfiguracyjnych YAML wykorzystywanych w pracy z Kubernetes
- Omówienie sposobów generowania plików konfiguracyjnych YAML
- Konfiguracja narzędzi do pracy z klastrem Kubernetes z poziomu maszyny lokalnej
- Zarządzanie różnymi wersjami aplikacji osadzanej w klastrze Kubernetes
- Konwersja konfiguracji Docker Compose do konfiguracji klastra Kubernetes
- Zastosowanie mechanizmów Kubernetes do zarządzania bazą danych w klastrze
- Centralizowanie konfiguracji z wykorzystaniem mechanizmu Config Map
- Przechowywanie wrażliwych danych z wykorzystaniem mechanizmu Secret Generic
- Przygotowanie aplikacji w architekturze mikroserwisowej do osadzenia w klastrze Kubernetes
- Osadzenie aplikacji w architekturze mikroserwisowej w klastrze Kubernetes
- Konfiguracja mechanizmu Ingress
- Wykorzystanie projektu Spring Boot Kubernetes do zarządzania aplikacją w architekturze mikroserwisowej w pracy z Kubernetes
- Logowanie błędów i zdarzeń w aplikacjach osadzonych w klastrze Kubernetes
- Konfiguracja narzędzia Istio
- Konfiguracja narzędzia Helm
- Zagadnienia uzupełniające
- Omówienie architektury GIT
- Konfiguracja i personalizacja ustawień GIT
- Klasyfikacja repozytoriów
- Tworzenie repozytorium lokalnego
- Zarządzanie plikami w ramach obszarów repozytorium
- Rozgałęzianie i scalanie
- Przegląd wszystkich operacji GIT
- Aplikacje i wtyczki do pracy z GIT
- Praca ze zdalnym repozytorium
- Dobre praktyki tworzenia repozytoriów GIT
- GitHub Pages
- Zagadnienia uzupełniające
Materiały video
-
Spring - 1 - Webflux - Testowanie kontrolerów
-
Spring - 2 - Spring Data JPA - Mapa w encji
-
Spring - 3 - Spring Data JPA - Composite Key
-
Spring - 4 - Spring Data JPA - Projekcje
-
Spring - 5 - Webflux - Globalne przechwytywanie wyjątków
-
Spring - 6 - Konfiguracja loggerów z wykorzystaniem biblioteki log4j2