Разработка enterprise приложений на Java

Hibernate, Spring, REST, "web service", "web sockets", Maven, Git, Jenkins, Redis, Angular

Информация о курсе:


Стоимость: 5 000 грн в месяц

Длительность курса: 3 месяца (67,5 часов)
Субботние группы: 15 занятий х 4,5 часа

Дата начала курса:


 
7 сентября 10:00-14:30 
(занятия проходят по субботам)

Записаться в группу

 

Требования к участникам: владение фундаментальными технологиями Java ("Core Java") на уровне первой "Основы программирования на JAVA" и второй "Профессиональное программирование на JAVA" части курса. Уверенное владение классами и объектами в роли компонентов, взаимодействующих между собой в сложных структурах.

 

Реляционные базы данны

  • Проектирование информационных систем с помощью UML
  • Создание современных реляционных баз данных
  • Управление транзакциями в БД
  • Работа с базой данных через JDBC. Паттерн DAO. Технология объектно-реляционного отображения ORM.
  • Java рефлексия и создание собственного DAO

Фреймворк Hibernate

  • Спецификация JPA
  • Основы использования Hibernate
  • Сущности, наследование
  • Отношения сущностей
  • JPA Query Language
  • Кеширование в Hibernate

Системы автоматизации разработки проекта

  • Системы управления версиями (обзор)
  • Работа в системе Git. Общественные репозитории Github, Bitbucket
  • Системы автоматической сборки проектов (обзор)
  • Работа со сборщиком проектов Maven
  • Непрерывная интеграция (CI) с помощью Jenkins

Основы frontend разработки

  • Основы технологии Single Page Application
  • Язык программирования JavaScript
  • Формат обмена данными JSON
  • Технология AJAX
  • Bootstrap
  • Основы фреймворка Angular 7
  • Связывание шаблона и модели

Сервлеты и JSP

  • Обработка HTTP запросов через сервлеты. Понятие о REST.
  • JSP страницы
  • Тэги и JSTL
  • Паттерны для разработки приложений взаимодействующих с пользователем (MVC, MVP, MVVW) – Command, Observer.
  • Сессии и cookies
  • Создание веб-приложения с помощью сервлетов и MVC
  • Вспомогательные сервлет-технологии – Listeners, Filters

Основы внедрения зависимостей

  • Принципы SOLID
  • Java reflection
  • Внедрение зависимостей (dependency injection)

Основы фреймворка Spring

  • Spring IoC контейнер и инъекция зависимостей
  • Обзор способов конфигурирования Spring-приложения
  • Spring MVC
  • Spring + Hibernate

Создание Frontend

  • Язык программирования JavaScript
  • Формат обмена данными JSON
  • Технология AJAX
  • Фреймворк Bootstrap

Технология WebSockets

  • Основы протокола WebSocket
  • Взаимодействие Java/Javascript приложений через WebSocket
  • Использование WebSocket в фреймворке Spring
  • Создание Java Message Service приложения

Security в Web-разработке

  • Протокол OAuth2
  • Spring Security
  • Keycloak · Формат jwt –токена
  • Realm, clients, users в keycloak
  • Plugins в Keycloak
  • Связь Spring Security и Keycloak
  • Keycloak admin client.

Messaging

  • Messaging in Spring
  • Kafka
  • Пакет spring-cloud-stream

Основы NoSQL и in-memory баз данных

  • Работа с БД Redis

Вспомогательные технологии для проектов

  • Логгирование. Log4j2
  • Тестирование. jUnit. Mocks.
  • Документирование. Swagger, Spring.RestDocs

Практическая работа: учебный веб проект с полным стеком технологий