| Tytuł: | Java - zagadnienia zaawansowane, techniki OO, funkcyjne oraz wzorce |
| Kod: | advanced-Java Pro |
| Kategoria: | Zaawansowana Java |
| Forma: | 50% wykłady / 50% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Szkolenie zostało opracowane z myślą o uczestnikach pragnących poszerzyć swoje kompetencje programistyczne w pragmatycznym kierunku.
Materiał został dobrany na podstawie wieloletnich doświadczeń programistów biorących udział w wielu projektach - nie jest to rodzaj bezproduktywnych łamigłówek znanych z niektórych testów certyfikacyjnych.
Zakres szkolenia został rozszerzony o zaawansowane zagadnienia Object Oriented, testowania i aspekty architektury aplikacji.
Wyróżniki szkolenia
- Realne problemy i pragmatyczne rozwiązania
- Software Craftsmanship
- Zaawansowane wzorce i techniki obiektowe
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Nowości w świecie Javy- Wyrażenia Lambda, Optional/Stream/CompletableFuture, java.time, lepsza inferencja typów, poprawki w HashMap
- G1GC, JPMS, Unified JVM logging, VarHandles, Stackwalker, Collections Factory Methods, Spin-wait hints
- Local-variable type-inference, Parallel Full GC dla G1, Time-Based Release Versioning
- Epsilon, Http Client, LocalVariable syntax for Lambdas, Flight Recorder, Low-overhead heap profiling, ZGC
- Project Amber, Valhalla, Loom
- Wyrażenia Lambda, Optional/Stream/CompletableFuture, java.time, lepsza inferencja typów, poprawki w HashMap
-
Uczenie się myślenia funkcyjnego - krótkie ćwiczenia praktyczne w formule TDD- lambdy
- monady
- streamy
- Własne Collectors oraz Spliterators (na przykładzie Collectora do ImmutableSet i Sliding Window Spliteratora)
- lambdy
-
Wybór praktycznych wzorców projektowych GoF oraz ich odświeżone wersje w wykorzystaniem receptur funkcyjnych- Command
- Strategy
- Template Method
- Observer
- Decorator
- Chain of Responsibility
- Command
-
SOLID i design na przykładzie problemów z domen biznesowych- Single Responsibility Principle
- Open-closed Principle
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
- Pułapki Dziedziczenia
- Wstęp do Hexagonal Architecture i niebetonowania domeny frameworkami
- Single Responsibility Principle
-
Praktyczny wstęp do concurrency- Wątki, definicja, tworzenie
- Przegląd java.util.concurrent
- ExecutorService
- Przegląd
- Dobre praktyki
- Przegląd
- Dlaczego Parallel Streams nie nadają się na produkcję
- Dlaczego lepiej nie korzystać z Executors
- CompletableFuture
- Zadanie: własny scheduler uruchamiający zadania rownolegle
- Zadanie: własny prymitywny GC
- Wątki, definicja, tworzenie
-
Receptury "effective java"- Sealed classes w Javie
- Bezpieczny wątkowo i wydajny lazy init
- Jak sobie poradzić z wyjątkami w lambdach
- Sealed classes w Javie
-
Użyteczne biblioteki- Lombok
- Guava/Commons (tylko te części które wciąż mają zastosowanie)
- Vavr
- Lombok
-
Wstęp do programowania reaktywnego z wykorzystaniem Project Reactor
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.