KURS SPRING APLIKACJE WEBOWE

Podobne dokumenty
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Kurs MATURA Z INFORMATYKI

Architektura mikroserwisów na platformie Spring IO

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Program szkolenia: REST i Microservices w PHP

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

IT Camp Junior Java Developer. Cel kursu

Podstawy frameworka Spring

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Szkolenie wycofane z oferty

Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop Spis treści

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Asseco dla Zdrowia r.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Cena szkolenia. Opis kursu

Programowanie Komponentowe WebAPI

Program szkolenia: Symfony, nowoczesny framework PHP

SZKOLENIE TWORZENIE SYSTEMÓW

Forum Client - Spring in Swing

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

Konspekt pracy inżynierskiej

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Szkolenie autoryzowane. MS Zaawansowany użytkownik programu SharePoint 2016

Cena szkolenia. Opis kursu

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Cena szkolenia. Opis kursu

Programowanie MorphX Ax

Piotr Bubacz Cloud Computing

Programowanie.NET - kurs zaawansowany

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Tajniki ASP.NET Core 2.0 : wzorzec MVC, konfiguracja, routing, wdrażanie i jeszcze więcej / Ricardo Peres. Warszawa, 2018.

Część I Rozpoczęcie pracy z usługami Reporting Services

Techniki efektywnego testowania kodu dla programistów Java (Spock

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Spis treści. Wprowadzenie 13

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Szczegółowy opis zamówienia:

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

REFERAT PRACY DYPLMOWEJ. Temat pracy: Projekt i realizacja warstwy serwerowej gry internetowej

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

Zapytanie ofertowe

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

SPECYFIKACJA WDROŻENIA SKLEPU MAGENTO

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Zaawansowane Aplikacje Internetowe

Ekspert MS SQL Server Oferta nr 00/08

Paweł Rajba

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Web frameworks do budowy aplikacji zgodnych z J2EE

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Spring Web MVC, Spring DI

REFERAT O PRACY DYPLOMOWEJ

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Załącznik 2 utworzenie projektu

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

Specyfikacja implementacyjna aplikacji mobilnej

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

Tester oprogramowania 2014/15 Tematy prac dyplomowych

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Posiada (TAK / NIE. Zrzut ekranu. Opis funkcji

I. Opis przedmiotu zamówienia

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

OPIS i SPECYFIKACJA TECHNICZNA

PRZEWODNIK PO PRZEDMIOCIE

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Zespół Szkół Ponadgimnazjalnych nr 1 im. ks. Stanisława Konarskiego w Jędrzejowie

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Transkrypt:

KURS SPRING APLIKACJE WEBOWE

Cena szkolenia Cena szkolenia wynosi 100 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu oraz ilości czasu, którą będzie potrzebował do realizacji zadań i projektów zleconych w ramach szkolenia. Opis kursu Szkolenie przygotowuje do pracy na stanowisku Junior Java Developer, Java Developer lub podobnym. Po zakończeniu szkolenia uczestnik kursu będzie w stanie tworzyć oraz rozwijać aplikacje webowe, aplikacje RESTful web services oraz aplikacje w architekturze mikroserwisowej. Aplikacje wykorzystają framework Spring Boot 2 oraz jego pochodne, które zagwarantują sprawną komunikację bazodanową, bezpieczeństwo oraz wykorzystanie aspektów programowania asynchronicznego. Aplikacje zostaną skonteneryzowane za pomocą platformy Docker i umieszczone w chmurze z wykorzystaniem serwisów Amazon Web Servieces. Podczas szkolenia uczestnik kursu pozna również wiele innych narzędzi wspomagających pracę z opisanymi wyżej technologiami. W ramach szkolenia uczestnik kursu rozwiąże ogromną ilość zadań teoretycznych i praktycznych, które skutecznie przygotują go do rozmowy kwalifikacyjnej. Wiedza uczestnika kursu będzie systematycznie sprawdzana w trakcie próbnych rozmów kwalifikacyjnych, które odbywają się w języku polskim lub angielskim. Po zakończeniu szkolenia uczestnik kursu będzie posiadał kilka dużych projektów, które potwierdzą jego praktyczne umiejętności posługiwania się narzędziami i językami programowania, które pojawiły się w kursie. Każdy kolejny etap projektu będzie indywidualnie sprawdzony i oceniony przez mentora. Zagwarantuje to zgodność projektu z przyjętymi założeniami oraz dobrymi praktykami programistycznymi, jak również wymusi systematyczną pracę nad projektem. Dodatkowo 2

uczestnik kursu otrzyma zadania rozwijania lub modyfikowania istniejących już projektów oraz ich analizy pod kątem wyszukiwania błędów. Szkolenie zawsze odbywać się będzie w formie spotkań indywidualnych, dzięki czemu tempo kursu zostanie dopasowane do konkretnych potrzeb uczestnika kursu. Potrzebne aplikacje i narzędzia Komputer / laptop z dowolnym systemem operacyjnym i zainstalowanym zestawem narzędzi do budowania aplikacji pojawiających się w trakcie szkolenia. Potrzebne oprogramowanie zostanie szczegółowo opisane oraz zainstalowane na pierwszym darmowym spotkaniu testowym lub w momencie, kiedy nastąpi konieczność jego wykorzystania w trakcie szkolenia. Aplikacje potrzebne do nawiązania połączenia: Team Viewer oraz Skype. Na życzenie uczestnika kursu będzie możliwość używania innej aplikacji zdalnego pulpitu lub komunikatora głosowego. Na pierwszym darmowym spotkaniu testowym oceniona zostanie jakość połączenia. Na tej podstawie przeprowadzona będzie konfiguracja, która pozwoli zapewnić najlepszą jakość dźwięku oraz obrazu podczas szkoleń. Umiejętności potrzebne przed rozpoczęciem kursu Kurs przeznaczony jest dla osób, które ukończyły kurs Java / Kotlin lub posiadają wiedzę z całego zakresu tego kursu. Istnieje możliwość rozpoczęcia szkolenia od wybranego punktu w planie szkolenia. Kurs poprzedzony jest wtedy szczegółową rozmową kwalifikacyjną w języku polskim lub angielskim. Na podstawie rozmowy zostanie oceniony poziom uczestnika kursu z zakresu materiału przed wybranym punktem w planie szkolenia. 3

Plan szkolenia 1. Spring - zagadnienia podstawowe Omówienie architektury frameworka Spring Przegląd wersji Spring oraz wprowadzanych w nich zmian Omówienie zasady działania kontenera Spring Omówienie zasady działania kontekstu aplikacji Spring Wzorzec projektowy Dependency Injection (DI) Wzorzec projektowy Inversion of Control (IoC) Cykl życia komponentu Spring Konfiguracja pierwszej aplikacji Spring Przegląd adnotacji frameworka Spring Automatyczne wiązanie komponentów Wiązanie komponentów za pomocą konfiguracja Java Wiązanie komponentów za pomocą plików XML Import oraz łączenie konfiguracji Rozwiązanie problemu niejednoznaczności podczas wstrzykiwania komponentów Zasięg komponentów Różne sposoby wstrzykiwania wartości w czasie wykonywania 2. Aplikacje webowe z wykorzystaniem Spring Web MVC Omówienie architektury frameworka Spring Web MVC Omówienie roli klasy DispatcherServlet Analiza adnotacji frameworka Spring Web MVC Omówienie roli kontenera aplikacji webowych Konfiguracja i uruchomienie kontenera aplikacji webowych Konfiguracja i uruchomienie pierwszej aplikacji webowej 3. Spring Boot zagadnienia podstawowe Omówienie architektury frameworka Spring Boot Uproszczenia aplikacji wynikające z zastosowania frameworka Spring Boot Proste dołączanie modułów - Spring Boot Starters Autokonfiguracja Spring Boot Spring Boot CLI Monitorowanie stanu aplikacji - Spring Boot Actuator 4

Konfiguracja i uruchomienie pierwszej aplikacji Spring Boot Spring Initializr Zarządzanie konfiguracją aplikacji Spring Boot z poziomu plików konfiguracyjnych (properties oraz YAML) Zarządzanie konfiguracją aplikacji Spring Boot z poziomu konfiguracji Java Zarządzanie profilami aplikacji Narzędzia modułu DevTools Profile aplikacji 4. Aplikacje webowe z wykorzystaniem Spring Boot Konfiguracja aplikacji Spring Boot do pracy z frameworkiem Spring Web MVC Implementacja kontrolerów Zarządzanie parametrami zapytania oraz parametrami ścieżki Filtrowanie danych z wykorzystaniem parametrów Zarządzanie widokami Omówienie architektury biblioteki Bootstrap Praca z modułami webjars Przegląd komponentów Bootstrap Omówienie architektury biblioteki Thymeleaf Sposoby osadzania danych w widoku za pomocą biblioteki Thymeleaf Analiza komponentów biblioteki Thymeleaf Omówienie zasady działania formularzy Implementacja i zarządzanie polami formularza Zarządzanie zasobami statycznymi Implementacja mechanizmu multipart Walidacja danych w formularzu Hibernate Validator Walidacja danych w formularzu Spring Validator Nawigacja pomiędzy widokami Przechwytywanie i obsługa wyjątków Implementacja strony informującej o błędach Internacjonalizacja Szyfrowanie przesyłanych danych 5

5. Warstwa bazodanowa aplikacji webowej Spring Data JPA Omówienie architektury aplikacji bazodanowej Omówienie architektury wielowarstwowej Omówienie architektury frameworka Spring Data i Spring Data JPA Konfiguracja aplikacji Spring Boot do pracy ze Spring Data JPA Implementacja warstwy mapującej tabele bazy danych Zarządzanie danymi w bazie danych z wykorzystaniem biblioteki Liquibase Przegląd interfejsów Spring Data JPA dla warstwy repozytoryjnej Implementacja zapytań z wykorzystaniem mechanizmu query methods Przekazywanie parametrów w mechanizmie query method Sortowanie wyników zapytań klasa Sort Implementacja zapytań modyfikujących oraz usuwających Projekcje Wykorzystanie procedur składowanych Implementacja mechanizmu Query By Example Zarządzanie transakcyjnością Implementacja warstwy serwisowej Wykorzystanie warstwy bazodanowej w aplikacji webowej 6. RESTful Web Services Omówienie formatu JSON Omówienie standardu REST Serializacja i deserializacja JSON Omówienie architektury aplikacji RESTful web service Implementacja serwisu REST Przygotowanie warstwy zarządzania danymi Różne sposoby implementacji REST kontrolerów Przesyłanie i analiza nagłówków Analiza kodów odpowiedzi HTTP Testowanie REST API z wykorzystaniem zewnętrznych klientów REST Omówienie zasady działania klasy RestTemplate Implementacja aplikacji klienta REST Przesyłania plików w aplikacjach RESTful web services Przechwytywanie i obsługa wyjątków Zarządzanie REST API z wykorzystaniem platformy Swagger 6

7. Testowanie aplikacji webowych Spring Boot Konfiguracja komunikacji bazodanowej na potrzeby testów Zastosowanie frameworków JUnit oraz Mockito w testach aplikacji webowych Przygotowanie testowej warstwy repozytoryjnej Testy jednostkowe warstwy repozytoryjnej Testy jednostkowe warstwy kontrolerów Testy integracyjne aplikacji webowej 8. Bezpieczeństwo aplikacji webowych Omówienie architektury frameworka Spring Security Testowanie podstawowych możliwości zabezpieczających frameworka Spring Security Przechowywanie użytkowników w pamięci aplikacji Implementacja mechanizmu rejestracji użytkowników zapisanych w bazie danych Implementacja formularza logowania Implementacja obsługi błędów mechanizmu Spring Security Dostosowanie konfiguracji Spring Security do potrzeb implementowanej aplikacji Implementacja mechanizmu aktywacji nowych użytkowników z wykorzystaniem adresu e-mail Implementacja mechanizmu przypominania hasła użytkownika z wykorzystaniem adresu e-mail Implementacja mechanizmu wylogowania Nadawanie uprawnień użytkownikom aplikacji Dostosowanie aplikacji do pracy z użytkownikami o różnych uprawnieniach Mechanizmy biblioteki Thymeleaf współpracujące ze Spring Security Bezpieczeństwo aplikacji RESTful web services Omówienie standardu JWT JWT Debugger Zarządzanie danymi przesyłanymi w tokenie JWT Implementacja aplikacji do zarządzania bezpieczeństwem RESTful web service z wykorzystaniem standardu JWT Omówienie standardu OAuth2 Implementacja aplikacji do zarządzania bezpieczeństwem RESTful web service z wykorzystaniem standardu OAuth2 7

9. Programowanie reaktywne Omówienie zasady działania aplikacji asynchronicznych Prezentacja założeń aplikacji reaktywnych Operatory reaktywne Biblioteka Spring Reactor oraz framework Spring WebFlux Konfiguracja aplikacji Spring Boot do pracy z mechanizmami reaktywnymi Analiza działania i sposoby tworzenia instancji typów reaktywnych Mono oraz Flux Strumienie reaktywne Przegląd metod zarządzających typami oraz strumieniami reaktywnymi Przegląd metod realizujących mechanizm backpressure Przegląd metod realizujących obsługę błędów Testowanie mechanizmów reaktywności Przygotowanie warstwy bazodanowej dla aplikacji reaktywnych na przykładzie bazy danych MongoDB Implementacja aplikacji reaktywnego RESTful web service Testowanie reaktywnego REST API z wykorzystaniem zewnętrznych klientów REST Implementacja aplikacji reaktywnego klienta Dostosowanie aplikacji niereaktywnych do pracy z mechanizmami reaktywności 10. Konteneryzacja aplikacji webowych Omówienie architektury platformy Docker Instalacja platformy Docker Przegląd poleceń platformy Docker Tworzenie i zarządzanie obrazami platformy Docker Tworzenie i zarządzanie kontenerami platformy Docker Instalacja i uruchamianie przykładowych aplikacji / narzędzi z wykorzystaniem platformy Docker Omówienie struktury pliku Dockerfile Dokeryzowanie aplikacji webowej Spring Boot Omówienie zasady działania narzędzia Docker Compose Instalacja narzędzia Docker Compose Przygotowanie pliku konfiguracyjnego narzędzia Docker Compose Dokeryzowanie aplikacji webowych Spring Boot z wykorzystaniem narzędzia Docker Compose 8

11. Systemy zarządzania wiadomościami Omówienie architektury narzędzia Kafka Wyjaśnienie pojęć niezbędnych do prawidłowego zarządzania systemem przesyłania wiadomości Omówienie roli serwisu ZooKeeper Instalacja i konfiguracja narzędzi potrzebnych do prawidłowej pracy systemu zarządzania wiadomościami Implementacja przykładowego systemu zarządzania wiadomościami Implementacja narzędzia Kafka z wykorzystaniem platformy Docker Konfiguracja aplikacji webowej Spring Boot wykorzystującej system zarządzania wiadomościami Omówienie architektury reaktywnego API Reactor Kafka Konfiguracja aplikacji webowej Spring Boot wykorzystującej reaktywny system zarządzania wiadomościami 12. Mikroserwisy Omówienie architektury aplikacji mikroserwisowych Omówienie modułów frameworka Spring Cloud Konfigurowanie aplikacji Spring Cloud Implementacja serwera Spring Cloud Config Implementacja klienta Spring Cloud Config Przechowywanie i zarządzanie danymi konfiguracyjnymi w zdalnym repozytorium Wykorzystanie profili aplikacji w zarządzaniu danymi konfiguracyjnymi Omówienie architektury projektu Spring Cloud Netflix Prezentacja komponentów platformy Netflix OSS Implementacja serwera Eureka Implementacja i rejestracja klienta w serwerze Eureka Przygotowanie warstwy bazodanowej do pracy z mikroserwisami przy użyciu frameworka Spring Data JPA Implementacja standardu REST do komunikacji pomiędzy klientami Eureka z wykorzystaniem klasy RestTemplate Konfiguracja mechanizmu load balancing Implementacja standardu REST do komunikacji pomiędzy klientami Eureka z wykorzystaniem Spring Cloud Netflix FeignClient Zastosowanie mechanizmów programowania reaktywnego do komunikacji pomiędzy klientami Eureka 9

Konfiguracja mechanizmu API Gateway za pomocą Netflix Zuul Proxy Konfiguracja i zarządzanie filtrami Zuul Implementacja reaktywnych systemów zarządzania wiadomościami w oparciu o narzędzie Kafka Omówienie zasady działania mechanizmów obsługujących błędy Analiza wzorca circuit-breaker Implementacja wzorca circuit-breaker z wykorzystaniem biblioteki Hystrix Konfiguracja ustawień Hystrix za pomocą atrybutów adnotacji Mechanizm Hystrix Metrics Stream we współpracy ze Spring Actuator Monitorowanie stanu aplikacji za pomocą Hystrix Dashboard Monitorowanie staniu aplikacji za pomocą Turbine Wykorzystanie narzędzi monitorowania i logowania aplikacji mikroserwisowych Spring Cloud Sleuth oraz Zipkin Implementacja oraz konfiguracja Spring Cloud Bus Bezpeczeństwo aplikacji mikroserwisowych implementacja Spring Security z wykorzystaniem standardu JWT Konteneryzacja aplikacji mikroserwisowych za pomocą platformy Docker 13. Umieszczanie aplikacji webowych w chmurze Omówienie architektury Amazon Web Services Konfiguracja konta AWS Konfiguracja i uruchomienie serwisu Amazon EC2 Konteneryzacja aplikacji webowej Umieszczenie aplikacji webowej w bibliotece kontenerów Docker Hub Instalacja platformy Docker w serwisie Amazon EC2 Instalacja JDK w serwisie Amazon EC2 Uruchomienie kontenera Docker aplikacji webowej w serwisie Amazon EC2 Konfiguracja i uruchomienie serwisu Amazon ECS Uruchomienie kontenera Docker aplikacji webowej w serwisie Amazon ECS Umieszczanie w chmurze aplikacji w architekturze mikroserwisowej 10

14. Zagadnienia dodatkowe Programowanie aspektowe w Spring Zastosowanie języka Kotlin w aplikacjach Spring Boot Implementacja mechanizmu realizującego płatności internetowe Wysyłanie wiadomości e-mail Generowanie plików PDF Wykorzystanie biblioteki Redis do implementacji mechanizmu cache Implementacja aplikacji full-stack we współpracy z frameworkiem Angular 11