Codacy Badge Build Status

Java Enterprise Online Project

Наиболее востребованные технологии /инструменты / фреймворки Java Enterprise: Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins.

27.09: Старт проекта

04.10: 1-е занятие

  • Разбор домашнего задания вступительного занятия (вместе с Optional)
  • Обзор используемых в проекте технологий. Интеграция ПО
  • Maven
  • WAR. Веб-контейнер Tomcat. Сервлеты
  • Логирование
  • Уровни и зависимости логгирования. JMX
  • Домашнее задание 1-го занятия (HW1 + Optional)

11.10: 2-е занятие

  • Разбор домашнего задания HW1 + Optional
  • Библиотека vs Фреймворк. Стандартные библиотеки Apache Commons, Guava
  • Слои приложения. Создание каркаса приложения
  • Обзор Spring Framework. Spring Context
  • Пояснения к HW2. Обработка Autowired
  • Домашнее задание (HW2 + Optional)

18.10: 3-е занятие

  • Разбор домашнего задания HW2 + Optional
  • Жизненный цикл Spring контекста
  • Тестирование через JUnit
  • Spring Test
  • Базы данных. Обзор NoSQL и Java persistence solution без ORM
  • Настройка Database в IDEA
  • Скрипты инициализации базы. Spring Jdbc Template
  • Подготовка тестовых данных и тестирование UserService
  • Логирование тестов
  • Домашнее задание (HW3 + Optional)

25.10: 4-е занятие

  • Разбор домашнего задания HW3 + Optional
  • Методы улучшения качества кода
  • Spring: инициализация и популирование DB
  • Подмена контекста при тестировании
  • ORM. Hibernate. JPA
  • Поддержка HSQLDB
  • Домашнее задание (HW4 + Optional)

01.11: 5-е занятие

  • Разбор вопросов
  • Разбор домашнего задания HW4 + Optional
  • Транзакции
  • Профили Maven и Spring
  • Пул коннектов
  • Spring Data JPA
  • Spring кэш
  • Домашнее задание (HW5 + Optional)

08.11: 6-е занятие

  • Разбор домашнего задания HW5 + Optional
  • Кэш Hibernate
  • Spring Web
  • JPS, JSTL, internationalization
  • Динамическое изменение профиля при запуске
  • Конфигурирование Tomcat через maven plugin. Jndi-lookup
  • Spring Web MVC
  • Spring Internationalization
  • Домашнее задание (HW6 + Optional)

Большое ДЗ + выпускной проект + подтягиваем "хвосты".

22.11: 7-е занятие

  • Разбор домашнего задания HW6 + Optional
  • Автогенерация DDL по модели
  • Тестирование Spring MVC
  • Миграция на JUnit 5
  • REST контроллеры
  • Тестирование REST контроллеров. Jackson
  • jackson-datatype-hibernate. Тестирование через матчеры
  • Тестирование через SoapUi. UTF-8
  • Домашнее задание (HW7 + Optional)

29.11: 8-е занятие

  • Разбор домашнего задания HW7 + Optional
  • WebJars. jQuery и JavaScript frameworks
  • Bootstrap
  • AJAX. Datatables. jQuery
  • jQuery notifications plugin
  • Добавление Spring Security
  • Домашнее задание (HW8 + Optional)

06.12: 9-е занятие

  • Разбор домашнего задания HW8 + Optional
  • Spring Binding
  • Spring Validation
  • Перевод DataTables на Ajax
  • Форма login / logout
  • Реализация собственного провайдера авторицазии
  • Принцип работы Spring Security. Проксирование
  • Spring Security Test
  • Cookie. Session
  • Домашнее задание (HW9 + Optional)

13.12: 10-е занятие

  • Разбор домашнего задания HW10 + Optional
  • Spring Security Taglib. Method Security Expressions
  • Интерсепторы. Редактирование профиля. JSP tag files
  • Форма регистрации
  • Обработка исключений в Spring
  • Encoding password
  • Миграция на Spring 5
  • Защита от межсайтовой подделки запросов (CSRF)
  • Домашнее задание (HW10)

20.12: 11-е занятие

  • Разбор домашнего задания HW10 + Optional
  • Рефакторинг
  • Фильтруем JSON через @JsonView
  • Деплой приложения в Heroku
  • Возможные доработки приложения
  • Опрос участников проекта
  • Домашнее задание по проекту: составление резюме