Javie - zagadnienia zaawansowane, techniki OO, funkcyjne oraz wzorce

Kod: craft-patterns-Java Pro
Kategoria: Wzorce projektowe
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 3 dni
Grupa docelowa: 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.

  1. Nowości w świecie Javy
    1. Wyrażenia Lambda, Optional/Stream/CompletableFuture, java.time, lepsza inferencja typów, poprawki w HashMap
    2. G1GC, JPMS, Unified JVM logging, VarHandles, Stackwalker, Collections Factory Methods, Spin-wait hints
    3. Local-variable type-inference, Parallel Full GC dla G1, Time-Based Release Versioning
    4. Epsilon, Http Client, LocalVariable syntax for Lambdas, Flight Recorder, Low-overhead heap profiling, ZGC
    5. Project Amber, Valhalla, Loom
  2. Uczenie się myślenia funkcyjnego - krótkie ćwiczenia praktyczne w formule TDD
    1. lambdy
    2. monady
    3. streamy
    4. Własne Collectors oraz Spliterators (na przykładzie Collectora do ImmutableSet i Sliding Window Spliteratora)
  3. Wybór praktycznych wzorców projektowych GoF oraz ich odświeżone wersje w wykorzystaniem receptur funkcyjnych
    1. Command
    2. Strategy
    3. Template Method
    4. Observer
    5. Decorator
    6. Chain of Responsibility
  4. SOLID i design na przykładzie problemów z domen biznesowych
    1. Single Responsibility Principle
    2. Open-closed Principle
    3. Liskov Substitution
    4. Interface Segregation
    5. Dependency Inversion
    6. Pułapki Dziedziczenia
    7. Wstęp do Hexagonal Architecture i niebetonowania domeny frameworkami
  5. Praktyczny wstęp do concurrency
    1. Wątki, definicja, tworzenie
    2. Przegląd java.util.concurrent
    3. ExecutorService
      1. Przegląd
      2. Dobre praktyki
    4. Dlaczego Parallel Streams nie nadają się na produkcję
    5. Dlaczego lepiej nie korzystać z Executors
    6. CompletableFuture
    7. Zadanie: własny scheduler uruchamiający zadania rownolegle
    8. Zadanie: własny prymitywny GC
  6. Receptury "effective java"
    1. Sealed classes w Javie
    2. Bezpieczny wątkowo i wydajny lazy init
    3. Jak sobie poradzić z wyjątkami w lambdach
  7. Użyteczne biblioteki
    1. Lombok
    2. Guava/Commons (tylko te części które wciąż mają zastosowanie)
    3. Vavr
  8. Wstęp do programowania reaktywnego z wykorzystaniem Project Reactor


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna