Giter Club home page Giter Club logo

topjava's Introduction

Codacy Badge

Java Enterprise Online Project

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

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

30.05 Дедлайн на сдачу HW0

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

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

08.06 Дедлайн подачи заявки на дипломную программу

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

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

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

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

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

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

Начало выполнения выпускного проекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Разбор домашнего задания HW10 + Optional
  • Локализация datatables, ошибок валидации
  • Защита от XSS (Cross Site Scripting)
  • Обработка ошибок 404 (NotFound)
  • Доступ к AuthorizedUser
  • Ограничение модификации пользователей
  • Деплой приложения на собственный выделенный сервер
  • Домашнее задание (HW11): сокрытия полей в Swagger
  • Составление резюме. Собеседование. Разработка ПО. Возможные доработки приложения

21.08: Миграция на Spring-Boot

  • Ревью вашего резюме
  • Основы Spring Boot. Spring Boot maven plugin
  • Lombok, база H2, ApplicationRunner
  • Spring Data REST + HATEOAS
  • Миграция приложения подсчета калорий на Spring Boot

10.09.23: Дедлайн на сдачу выпускного проекта

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

topjava's People

Contributors

osandman avatar javaops avatar javawebinar avatar li0n13 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.