Opis szkolenia

Szkolenie przeznaczone jest dla osób zainteresowanych implementowaniem systemów i aplikacji w języku Java. Podczas szkolenia nabędziesz wiedzę z zakresu programowania obiektowego, konstrukcji językowych, typów danych oraz API języka w sposób pozwalający na samodzielne tworzenie aplikacji oraz rozwiązywanie problemów implementacyjnych. W odróżnieniu od szkolenia Junior Java Developer, kurs ten jest dedykowany osobom mającym już doświadczenie w wytwarzaniu aplikacji i systemów z wykorzystaniem innego języka.

Kandydaci

Na szkolenie zapraszamy osoby ze znajomością środowiska Windows bądź Linux. Pożądane jest aby uczestnicy mieli doświadczenie w wykorzystaniu dowolnego innego języka (strukturalnego, obiektowego, funkcyjnego).

Czas trwania szkolenia

Szkolenie będzie trwało w sumie 35h i zostanie przeprowadzone w dni ustalone z firmą - zleceniodawcą. Szkolenie może zostać zorganizowane zarówno w dni powszednie jak i w dni weekendowe.

Miejsce szkolenia

Szkolenie odbędzie się w Siedzibie firmy - zleceniodawcy lub w Gdańskim Parku Naukowo-Technologicznym. Istnieje również możliwość organizacji szkolenia poza Trójmiastem

Termin szkolenia

Szkolenie odbędzie się w terminie ustalonym z firmą - zleceniodawcą

Organizacja szkolenia

Na szkolenie dostarczamy sprzęt komputerowy z zainstalowanym i skonfigurowanym środowiskiem oraz narzędziami potrzebnymi do przeprowadzenia szkolenia. Po stronie zleceniodawcy pozostaje kwestia udostępnienia stosownej sali oraz ewentualny catering.

Szczegóły szkolenia

Kurs podzielony jest na część teoretyczną i praktyczną. Każdy rodzaj zagadnienia jest wstępnie omawiany przez prowadzącego a następnie grupa przechodzi do ćwiczeń praktycznych (średnio 25% teoria, 75% praktyka). Podczas ćwiczeń praktycznych przeprowadzane są sesje programistyczne z aktywnym udziałem prowadzącego (live coding). Skupiamy się na praktycznym poznaniu najczęściej wykorzystywanych zagadnień związanych z implementacją w języku Java. Kładziemy szczególną uwagę na testowanie jednostkowe oraz zagadnienia związane z wytwarzaniem kodu dobrej jakości z uwzględnieniem technik Software Craftsmanship.

Narzędzia, które wykorzystujemy podczas kursu - IntelliJ Idea, Git, Sonar, Cobertura/Jacoco, Jenkins.

Program

  • Klasy i obiekty
  • Zasady obiektowości
  • Zasady SOLID i GRASP
  • Wprowadzenie do języka Java
    • Historia języka
    • Główne założenia języka
    • Maszyna wirtualna JVM
    • Architektura pamięci JVM
    • Ładowanie kodu do JVM
    • Problemy dotyczące ładowania klas
  • Zintegrowane środowisko wytwarzania - IDE
    • Zapoznanie się z Intellij Idea
    • Popularne skróty klawiszowe
    • Struktura projektu
    • Przygotowanie pierwszego projektu
    • Narzędzia automatyzacji build'ów - Maven
  • Podstawy języka Java
    • Typy danych
    • Operatory i kontrola przepływu
    • Aspekty obiektowości w Javie
    • Obsługa sytuacji wyjątkowych
  • Podstawowe biblioteki i mechanizmy
    • Typy generyczne
    • Taksonomia kolekcji
    • Adnotacje
    • Refleksja
    • Wyrażenia regularne
    • obsługa dat i czasu
  • Mechanizmy wejścia/wyjścia
    • Przetwarzanie strumieniowe
    • Operacje na plikach
    • NIO
    • JDBC
    • Serializacja i deserializacja
  • Przetwarzanie wielowątkowe
    • Tworzenie wątków
    • Diagram stanów wątków
    • Uruchamianie wątków
    • Kończenie pracy wątków
    • Mechanizmy współpracy między wątkami
    • Mechanizmy synchronizacji wątków
  • Testowanie aplikacji Java
    • Wstęp do testowania
    • Piramida automatyzacji testów
    • Testy jednostkowe
    • Dobre praktyki testowania
    • Biblioteki JUnit / TestNG
    • Test doubles na przykładzie biblioteki Mockito
    • Test-Driven Development

Jakie technologie poznasz?

Co zyskasz dodatkowo?

  • Certyfikat ukończenia kursu wraz z rekomendacją
  • Gadżet niespodziankę