Spring framework - wydajność aplikacji
Czas trwania szkolenia:3 dni (24h)
Kod kursu:SPRING/PERFORMANCE
Poziom zaawansowania:
O szkoleniu Spring framework - wydajność aplikacji
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
Dla kogo?
- Programistów znających i wykorzystujących Spring framework, chcących poprawić wydajność tworzonych aplikacji
Wymagania
- Praktyczna znajomość Spring framework
Zalety
- Praktyczne/warsztatowe szkolenie prezentujące efektywne techniki strojenia wydajności
- Duża dawka cennej wiedzy z zakresu wykorzystania narzędzi do profilowania i mierzenia wydajności
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Omówienie podstawowych zagadnień związanych z tematem wydajności
- Poznanie istotnych narzędzi umożliwiających pomiar i strojenie wydajności
- Przyswojenie praktycznych technik pozwalających na poprawę wydajności aplikacji Spring
- Zapoznanie z możliwościami GraalVM i metodami budowania obrazów natywnych
Program
Wprowadzenie do zagadnień związanych z wydajnością
- Czym jest wydajność i jak ją mierzyć?
- Profilowanie vs. benchmarking
- Wyzwania związane z mierzeniem wydajności
- Czasowa i pamięciowa złożoność obliczeniowa
- Od czego zależy wydajność aplikacji Spring?
Optymalizacja aplikacji Spring w praktyce
- Profilowanie kodu aplikacji z wykorzystaniem Java VisualVM
- Mikrobenchmarking i testy wydajnościowe w oparciu JMH (Java Microbenchmark Harness)
- Ciągłe profilowanie i monitorowanie aplikacji na przykładzie Pyroscope
- Optymalizacja wydajności przez zmianę domyślnej konfiguracji Spring
- Wydajność na poziomie warstwy dostępu do danych m.in. JPA/Hibernate
- Przetwarzanie asynchroniczne
- Wykorzystanie pamięci podręcznej
- Strojenie parametrów maszyny wirtualnej
- Testy obciążeniowe z narzędziem Gatling
- Skalowanie horyzontalne aplikacji z wykorzystaniem konteneryzacji
GraalVM i obrazy natywne
- Czym jest GraalVM oraz jakie są zalety i ograniczenia tej technologii?
- Kluczowe różnice między aplikacjami natywnymi oraz działającymi na JVM
- Spring Ahead-of-Time Processing
- Budowanie i testowanie obrazów natywnych