Skip to content

Commit 981b38c

Browse files
committed
init
0 parents  commit 981b38c

4 files changed

Lines changed: 208 additions & 0 deletions

File tree

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.idea
2+
out
3+
target
4+
*.iml
5+
log
6+
*.patch

README.md

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
Java Enterprise Online Project
2+
===============================
3+
4+
Наиболее востребованные технологии /инструменты / фреймворки Java Enterprise:
5+
Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins.
6+
7+
- [Вступительное занятие](https://github.com/JavaOPs/topjava)
8+
- [Описание и план проекта](https://github.com/JavaOPs/topjava/blob/master/description.md)
9+
- [Wiki](https://github.com/JavaOPs/topjava/wiki)
10+
- [Wiki Git](https://github.com/JavaOPs/topjava/wiki/Git)
11+
- [Wiki IDEA](https://github.com/JavaOPs/topjava/wiki/IDEA)
12+
- [Демо разрабатываемого приложения](http://topjava.herokuapp.com/)
13+
14+
### 26.01: Старт проекта
15+
- Начало проверки [вступительного задания HW0](https://github.com/JavaOPs/topjava#-Домашнее-задание-hw0)
16+
17+
#### 31.01 Дедлайн на сдачу HW0
18+
### 02.02: 1-е занятие
19+
- Разбор домашнего задания вступительного занятия (вместе с Optional)
20+
- Обзор используемых в проекте технологий. Интеграция ПО
21+
- Maven
22+
- WAR. Веб-контейнер Tomcat. Сервлеты
23+
- Логирование
24+
- Уровни и зависимости логгирования. JMX
25+
- Домашнее задание 1-го занятия (HW1 + Optional)
26+
27+
#### 09.10 Дедлайн подачи заявки на [дипломную программу](https://javaops.ru/view/register/diploma)
28+
### 09.02: 2-е занятие
29+
- Разбор домашнего задания HW1 + Optional
30+
- Библиотека vs Фреймворк. Стандартные библиотеки Apache Commons, Guava
31+
- Слои приложения. Создание каркаса приложения
32+
- Обзор Spring Framework. Spring Context
33+
- Пояснения к HW2. Обработка Autowired
34+
- Домашнее задание (HW2 + Optional)
35+
36+
### 16.02: 3-е занятие
37+
- Разбор домашнего задания HW2 + Optional
38+
- Жизненный цикл Spring контекста
39+
- Тестирование через JUnit
40+
- Spring Test
41+
- Базы данных. Обзор NoSQL и Java persistence solution без ORM
42+
- Установка PostgreSQL. Docker
43+
- Настройка Database в IDEA
44+
- Скрипты инициализации базы. Spring Jdbc Template
45+
- Тестирование UserService через AssertJ
46+
- Логирование тестов
47+
- Домашнее задание (HW3 + Optional)
48+
49+
### 23.02: 4-е занятие
50+
- Разбор домашнего задания HW3 + Optional
51+
- Методы улучшения качества кода
52+
- Spring: инициализация и популирование DB
53+
- Подмена контекста при тестировании
54+
- ORM. Hibernate. JPA
55+
- Поддержка HSQLDB
56+
- Домашнее задание (HW4 + Optional)
57+
#### Начало выполнения [выпускного проекта](https://github.com/JavaOPs/topjava/blob/master/graduation.md)
58+
59+
### 02.03: 5-е занятие
60+
- Обзор JDK 9/17. Миграция Topjava с 1.8 на 17
61+
- Разбор вопросов
62+
- Разбор домашнего задания HW4 + Optional
63+
- Транзакции
64+
- Профили Maven и Spring
65+
- Пул коннектов
66+
- Spring Data JPA
67+
- Spring кэш
68+
- Домашнее задание (HW5 + Optional)
69+
70+
### 09.03: 6-е занятие
71+
- Разбор домашнего задания HW5 + Optional
72+
- Кэш Hibernate
73+
- Spring Web
74+
- JSP, JSTL, internationalization
75+
- Динамическое изменение профиля при запуске
76+
- Конфигурирование Tomcat через maven plugin. Jndi-lookup
77+
- Spring Web MVC
78+
- Spring Internationalization
79+
- Домашнее задание (HW6 + Optional)
80+
81+
#### Большое ДЗ + выпускной проект + начинаем [курс BootJava](https://javaops.ru/view/bootjava) + подтягиваем "хвосты".
82+
83+
### 23.03: 7-е занятие
84+
- Разбор домашнего задания HW6 + Optional
85+
- Автогенерация DDL по модели
86+
- Тестирование Spring MVC
87+
- Миграция на JUnit 5
88+
- Принципы REST. REST контроллеры
89+
- Тестирование REST контроллеров. Jackson
90+
- jackson-datatype-hibernate. Тестирование через матчеры
91+
- Тестирование через SoapUi. UTF-8
92+
- Домашнее задание (HW7 + Optional)
93+
94+
### 30.03: 8-е занятие
95+
- Разбор домашнего задания HW7 + Optional
96+
- WebJars. jQuery и JavaScript frameworks
97+
- Bootstrap
98+
- AJAX. Datatables. jQuery
99+
- jQuery notifications plugin
100+
- Добавление Spring Security
101+
- Домашнее задание (HW8 + Optional)
102+
103+
### 06.04: 9-е занятие
104+
- Разбор домашнего задания HW8 + Optional
105+
- Spring Binding
106+
- Spring Validation
107+
- Перевод DataTables на Ajax
108+
- Форма login / logout
109+
- Реализация собственного провайдера авторицазии
110+
- Принцип работы Spring Security. Проксирование
111+
- Spring Security Test
112+
- Cookie. Session
113+
- Домашнее задание (HW9 + Optional)
114+
115+
### 13.04: 10-е занятие
116+
- Разбор домашнего задания HW10 + Optional
117+
- Кастомизация JSON (@JsonView) и валидации (groups)
118+
- Рефакторинг: jQuery конверторы и группы валидации по умолчанию
119+
- Spring Security Taglib. Method Security Expressions
120+
- Интерсепторы. Редактирование профиля. JSP tag files
121+
- Форма регистрации
122+
- Обработка исключений в Spring
123+
- Encoding password
124+
- Миграция на Spring 5
125+
- Защита от межсайтовой подделки запросов (CSRF)
126+
- Домашнее задание (HW10)
127+
128+
### 20.04: 11-е занятие
129+
- Разбор домашнего задания HW10 + Optional
130+
- Локализация datatables, ошибок валидации
131+
- Защита от XSS (Cross Site Scripting)
132+
- Обработка ошибок 404 (NotFound)
133+
- Доступ к AuthorizedUser
134+
- Ограничение модификации пользователей
135+
- Деплой приложения [на собственный выделенный сервер](https://github.com/JavaOPs/startup)
136+
- Домашнее задание (HW11): сокрытия полей в Swagger
137+
- Составление резюме. Собеседование. Разработка ПО. Возможные доработки приложения
138+
139+
### 24.04: Миграция на Spring-Boot
140+
- Ревью вашего резюме
141+
- Основы Spring Boot. Spring Boot maven plugin
142+
- Lombok, база H2, ApplicationRunner
143+
- Spring Data REST + HATEOAS
144+
- Миграция приложения подсчета калорий на Spring Boot
145+
146+
### 14.05.23: Дедлайн на сдачу [выпускного проекта](https://github.com/JavaOPs/topjava/blob/master/graduation.md)
147+
### 24.05.23: Получение дипломов для участников [Дипломной программы](https://javaops.ru/view/register/diploma)

pom.xml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<groupId>ru.javawebinar</groupId>
6+
<artifactId>topjava</artifactId>
7+
<packaging>jar</packaging>
8+
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<name>Calories Management</name>
12+
<url>http://topjava.herokuapp.com/</url>
13+
14+
<properties>
15+
<java.version>1.8</java.version>
16+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
18+
</properties>
19+
20+
<build>
21+
<finalName>topjava</finalName>
22+
<defaultGoal>install</defaultGoal>
23+
<plugins>
24+
<plugin>
25+
<groupId>org.apache.maven.plugins</groupId>
26+
<artifactId>maven-compiler-plugin</artifactId>
27+
<version>3.8.1</version>
28+
<configuration>
29+
<source>${java.version}</source>
30+
<target>${java.version}</target>
31+
</configuration>
32+
</plugin>
33+
</plugins>
34+
</build>
35+
36+
<dependencies>
37+
</dependencies>
38+
39+
<profiles>
40+
</profiles>
41+
42+
<dependencyManagement>
43+
</dependencyManagement>
44+
</project>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package ru.javawebinar.topjava;
2+
3+
/**
4+
* @see <a href="http://topjava.herokuapp.com">Demo application</a>
5+
* @see <a href="https://github.com/JavaOPs/topjava">Initial project</a>
6+
*/
7+
public class Main {
8+
public static void main(String[] args) {
9+
System.out.format("Hello TopJava Enterprise!");
10+
}
11+
}

0 commit comments

Comments
 (0)