Narzędzia deweloperskie
◦ Środowisko programistyczne Intellij
◦ narzędzia języka Java
Java podstawy
◦ Pierwsza aplikacja
◦ struktura aplikacji w Java
- struktura i znaczenie katalogów
- pakiety
- pliki Intellij
- External Libraries
- klasa startowa
◦ uruchamianie projektu
- kompilacja
- walidacja
- uruchamianie pliku .jar
◦ Typy danych w Java
- liczbowe
- zmiennoprzecinkowe
- znaki i łańcuchy znaków
- wartości logiczne
◦ zmienne
- definicja zmiennych
- przypisywanie, odczytywanie i zmiana wartości
- inicjalizacja zmiennych
◦ operatory wbudowane w język Java
◦ instrukcje warunkowe
◦ pętle
- for
- foreach
- while
- do-while
- instrukcje break i continue
◦ tablice
- definicja tablic
- inicjalizacja tablic
- iteracja po tablicach
- tablice dwuwymiarowe oraz wielowymiarowe
Obiektowość w Java
◦ klasy i obiekty
- zawartość klas
- konstrukcja obiektów
- typy wyliczeniowe
- referencje
- typy niemutowalne
- klasy wewnętrzne
◦ metody
- definicja metod
- funkcje i procedury
- metody inline
- przekazywanie parametrów
- wartości zwracane
- przesłanianie metod
- przeciążanie metod
◦ enkapsulacja
- modifikatory dostępu
- getter’y
- setter’y
- ukrywanie metod
◦ dziedziczenie
◦ polimorfizm
◦ abstrakcja w języku Java
- interfejsy
- implementacja interfejsów
- klasy abstrakcyjne
- metody abstrakcyjne
- klasy anonimowe
◦ static oraz final
◦ konwersja i rzutowanie
Narzędzia wbudowane w Java
◦ kolekcje
- listy
- zbiory
- mapy
- kolejki
- operacje na kolekcjach
- sortowanie kolekcji
◦ wyjątki
- przechwytywanie wyjątków
- przekazywanie wyjątków
- tworzenie własnych wyjątków
- podział wyjątków
◦ wielowątkowość
- thread
- runnable
- executor’y wątków
- pule wątków
- synchronizacja wątków
◦ strumienie wejścia/wyjścia
◦ obsługa plików
◦ typy generyczne
◦ strumienie oraz wyrażenia lambda
◦ zarządzanie pamięcią – GC
◦ debugowanie aplikacji
Bazy danych
◦ relacyjne bazy danych
- uruchamianie serwera baz danych
- zasada działania
- tworzenie baz danych
- relacje
◦ język SQL
- wstawianie rekordów do bazy
- zapytania
- modyfikacja danych
- usuwanie rekordów
- JOIN
- operacje na zbiorach danych
- grupowanie wyników
- sortowanie
- zapytania zagnieżdżone
- klucze prywatne
- auto inkrementacja
- wartości domyślne
◦ JDBC
- połączenie Java z bazą danych
- operacje na bazie danych przy użyciu Java
Technologie i narzędzia
◦ Maven
- zarządzanie zależnościami
- budowanie aplikacji
- wtyczki do Maven
- etapy budowania projektu
- zdalne repozytorium Maven
◦ GIT
- tworzenie repozytorium
- inicjalizacja projektu git
- dodawanie zdalnego repozytorium do projektu
- tworzenie commit’ów
- wrzucanie zmian do zdalnego repozytorium
- pobieranie repozytorium
- uaktualnianie lokalnych źródeł
- gałęzie
◦ Spring Boot
- uruchamianie kontenera HTTP
- kontenery wbudowane w Spring
◦ Spring IoC
- beany
- konteksty
- wstrzykiwanie zależności (Dependency Injection)
◦ AspectJ
- programowanie aspektowe
- punkty przecięcia
- wywoływanie aspektów
◦ Metody konfiguracji Spring
- pliki XML
- Klasy konfiguracyjne
- Adnotacje
◦ Spring MVC
- wzorzec MVC
- kontrolery
- szablony widoków
- mapowanie zapytań
- metody zapytań HTTP
- przekazywanie modelu do widoków
◦ Thymeleaf
◦ Hibernate
- konfiguracja hibernate
- ORM
- zapytanie w hibernate
- HQL
- zapytania przy pomocy kryteriów
- sesje
- transakcje
◦ XML i JSON
◦ JavaFX
- budowa aplikacji okienkowych
- kontrolki
- reagowanie na akcje uzytkownika
- FXML
- model MVC w JavaFX
◦ Podstawy front-end’u
◦ Testowanie aplikacji w Java
◦ WebServices
REST- definicja API przy pomocy JSONSchema
- generacja API przy pomocy Maven
- klient REST API
- provider REST API
▪ SOAP
- definicja API przy pomocy xsd i WSDL
- generacja API przy pomocy Maven
- klient SOAP API
- provider SOAP API
◦ Scrum
◦ Dokumentacje w IT
◦ UML
- diagramy przypadków użycia
- diagramy klas
- diagramy sekwencji
- diagramy aktywności