Java Web Developer
Przedmiot
Opis przedmiotu
Programowanie w języku Java
Wprowadzenie do programowania obiektowego. Składnia i zasady języka Java. Operatory i sterowanie przebiegiem wykonywania programu.Programowanie obiektowe. Kolekcje obiektów. Obsługa błędów. Operacje wejścia wyjścia. Programowanie współbieżne. Elementy programowania funkcyjnego i metaprogramowania.
Obsługa baz danych
Wprowadzenie do systemów baz danych. Podstawy języka SQL. Dostęp do baz danych ze środowiska Java. Architektura JDBC. Transakcje iwycofywanie zmian. Java Persistence API jako standard mapowania obiektowo-relacyjnego (ORM) na przykładzie Hibernate.
Programowanie z wykorzystaniem Spring Framework
Spring Framework Core: programowanie z wykorzystaniem komponentów, odwrócenie sterowania (Inversion of Control), zasięg komponentów,inicjalizacja stanu początkowego obiektu. Wstrzykiwanie zależności (Dependency Injection): koncepcja wstrzykiwania zależności, składanieobiektów, automatyczna konfiguracja (autowiring), cykl życia obiektów, zdarzenia kontenera. Spring Data: konfiguracja bazy danych, wzorzec DAO i jego zastosowanie w architekturze warstwowej, użyteczne sposoby korzystania ze źródeł danych w Springu. Podstawy Spring MVC: konfigurowanie kontenera Spring w aplikacji webowej, tagi Spring MVC, obsługa formularzy, obsługa wyjątków.
Projektowanie aplikacji webowych
Język HTML. Kaskadowe arkusze stylów CSS. Wprowadzenie do języka JavaScript. Najważniejsze obiekty języka JavaScript. Techniki tworzenia zaawansowanych stron WWW przy jednoczesnym użyciu HTML, CSS oraz JavaScript. Aplikacje webowe typu Server Side Rendering z wykorzystaniem frameworka Thymeleaf: integracja z frameworkiem Spring, wykorzystanie atrybutów, tworzenie szablonów, przetwarzanie formularzy. Analiza istniejących REST API. Wykorzystanie narzędzia Postman do wywoływania zapytań HTTP. Aplikacje webowe typu Single Page Application z wykorzystaniem frameworka Angular: wprowadzenie do języka TypeScript, podstawowe elementy i struktura projektu Angular, komponenty i wiązanie danych, dyrektywy, serwisy i wstrzykiwanie zależności, mechanizm przekierowań, formularze i walidacja, żądania HTTP.
Zarządzanie projektem
Założenia Agile. Zwinne zarządzanie projektem na podstawie SCRUM. System kontroli wersji na przykładzie Git i GitHub. IntelliJ IDEA jakośrodowisko programisty. Serwer aplikacji Apache Tomcat. Narzędzia do budowania aplikacji.
Projekt końcowy
Samodzielna praca nad projektem polegająca na napisaniu, uruchomieniu i udokumentowaniu programu, wykorzystującego wcześniej poznanetechnologie.