Skip to content

Commit d4c2a1b

Browse files
committed
Proofreading
1 parent c0a22c3 commit d4c2a1b

12 files changed

+481
-502
lines changed

README.md

+45-44
Large diffs are not rendered by default.

ReleaseNotes.md

+21-21
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# TopJava Release Notes
22

3-
### Topjava 26
3+
### TopJava 26
44
- починили шаблоны запросов на создание в Swagger хчз [ApiModelProperty](https://www.baeldung.com/spring-swagger-hide-field)
55
- в новой версии Data JPA `getById`->`getReferenceById`
66
- мелкие правки
77

8-
### Topjava 25
8+
### TopJava 25
99
- поправил `NoHtmlValidator`: `Jsoup.clean().equals -> `Jsoup.isValid`
1010
- починил `role VARCHAR NOT NULL`
1111
- добавил нового тестового пользователя `guest`
1212

13-
### Topjava 24
13+
### TopJava 24
1414
- migrate to LTS JDK 17
1515
- add `AbstractBaseEntity.id()`
1616
- fix for `User.registered`: `@Column(..., updatable = false)`
@@ -20,7 +20,7 @@
2020
- rename `MATCHER` to `USER_MATCHER/MEAL_MATCHER`
2121
- treat in `ActiveDbProfileResolver` attribute `profiles`
2222

23-
### Topjava 23
23+
### TopJava 23
2424
- migrate to JDK 16
2525
- в новой spring-data-jpa `getOne` заменили на `getById`
2626
- в UserUtil#prepareToSave убрал проверку пароля на `hasText`. На UI поле проверяется на `@NotBlank`
@@ -29,15 +29,15 @@
2929
- `TestMatcher` переименовал в `MatcherFactory`
3030
- Для Swagger UI пометил `AuthorizedUser` аннотацией `@ApiIgnore`
3131

32-
### Topjava 22
32+
### TopJava 22
3333
- очистка пароля `AuthorizedUser#userTo`
3434
- заменил `@SafeHtml`, который удалили из `hibernate.validator` на [Jsoup.clean](https://stackoverflow.com/a/68888601/548473)
3535
- перенес запрет на обновление admin/user в `UserService`
3636
- проверку email на уникальность для update с `id=null` в теле запроса сделал на основе анализа `HttpServletRequest.getRequestURI()`
3737
- проверку класса в `classpath` в `Profiles#getActiveDbProfile` делаю на `org.springframework.util.ClassUtils#isPresent`
3838
- удалил `type="text/javascript"`
3939

40-
### Topjava 21
40+
### TopJava 21
4141
- **добавили документирование REST API: Swagger**
4242
- мигрировали на JDK 15 и используем текстовые блоки
4343
- Вынес `produces = MediaType.APPLICATION_JSON_VALUE` на уровень контроллеров
@@ -47,7 +47,7 @@
4747
- Из тестов сервисов убрал `throws Exception` (в IDEA больше не генерятся по умолчанию)
4848
- **Мигрировали на Spring Boot 2.4.1**
4949

50-
### Topjava 20
50+
### TopJava 20
5151
- мигрировали на JDK 14
5252
- в `@SafeHtml` запрещаем весь html (`whitelistType = NONE`)
5353
- в `topjava.common.js` в `makeEditable()` вместо объекта контекст передаю 3 параметра
@@ -57,7 +57,7 @@
5757
- в API добавили `/users/{id}/with-meals` (см. [двунаправленные отношения](https://www.codeflow.site/ru/article/jackson-bidirectional-relationships-and-infinite-recursion))
5858
- добавил `UserTestData.USER_WITH_MEALS_MATCHER` (проверки пользователя сразу с едой) и константу id `NOT_FOUND`
5959

60-
### Topjava 19
60+
### TopJava 19
6161
- Изменилась логика для интервалов времени (исключаем `endTime`)
6262
- Заменил собственный `MessageUtil` велосипед на спринговый `MessageSourceAccessor`
6363
- В ролях убрал префиксы `ROLE_` ([Role and GrantedAuthority](https://stackoverflow.com/a/19542316/548473))
@@ -73,7 +73,7 @@
7373
- Для `InMemory` тестов подключаю только `inmemory.xml` (добавил туда необходимую конфигурацию из `spring-app.xml`)
7474

7575

76-
### Topjava 18
76+
### TopJava 18
7777

7878
- В `ErrorType` добавил `HttpStatus status`
7979
- В PostgreSQL обнаружилась бага: граничное значение `0:00` из-за ошибок округления попадает в предыдущий интервал.
@@ -91,21 +91,21 @@
9191
- В тестах `delete` и `create` проверяю результат напрямую (не через `getAll`)
9292

9393

94-
### Topjava 17
94+
### TopJava 17
9595
- Удалил `Impl` из названий репозиториев
9696
- Удалил интерфейсы к сервисам, использую классы
9797
- Добавил `AdminRestController.enable`, вызов через PATCH метод
9898
- Добавил валидацию для jdbc через Bean Validation API
9999
- Перенес работу в UI с профилем из `RootController` в `ProfileUIController`
100100
- `SLF4JBridgeHandler` инициализирую только в профиле `postgres`
101101

102-
### Topjava 16
102+
### TopJava 16
103103
- Выделил общий код реализации хранения в памяти в `InMemoryBaseRepositoryImpl`
104104
- Сделал подтверждение для удаления записей
105105
- Обновились видео 7-го занятия. [Выложил его как пример занятия, некоторые видео открыты](https://github.com/JavaOPs/topjava/blob/master/doc/lesson07.md)
106106
- Сделали валидации дублирования email через `WebDataBinder` и `Validator`
107107

108-
### Topjava 15
108+
### TopJava 15
109109
- Миграция на Servlet API 4.0 / Tomcat 9.x
110110
- [Миграция на JDK11](http://javaops.ru/view/resources/jdk8_11)
111111
- JUnit5 fix: <a href="https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven">junit-platform-surefire-provider не нужен</a></h4>
@@ -115,7 +115,7 @@
115115
- В javascript место глабальных переменных и одинаковой функции обновления таблицы задаю их в объекте контекст, который передаю в `makeEditable()` как параметр
116116
- Починил `back` в браузере после логина. Кнопки входа и регистрации отображаю только для `isAnonymous()`
117117

118-
### Topjava 14
118+
### TopJava 14
119119
- [Миграция на JUnit 5](http://javaops.ru/view/resources/junit5)
120120
- Для измерения времени в тестах использую [Spring StopWatch](https://www.logicbig.com/how-to/code-snippets/jcode-spring-framework-stopwatch.html)
121121
- `SimpleJdbcInsert` и `NamedParameterJdbcTemplate` конструируются (и берут настройки) из `jdbcTemplate`
@@ -128,13 +128,13 @@
128128
- Преименовал js файлы согласно [javascript filename naming convention](https://stackoverflow.com/questions/7273316/what-is-the-javascript-filename-naming-convention)
129129
- Сделал проверку startTime/endTime на фильтре времени (после обновления datetimepicker до 2.5.20)
130130

131-
### Topjava 13
131+
### TopJava 13
132132
- [Миграция на Botstrap 4](https://getbootstrap.com/docs/4.1/migration/)
133133
- Добавил [Responsive behaviors](https://getbootstrap.com/docs/4.1/components/navbar/#responsive-behaviors) - при уменшении ширины экрана навигация сворачивается в кнопку
134134
- Для отображения цвета еды и выключенного юзера использую [data-* атрибуты](https://developer.mozilla.org/ru/docs/Web/Guide/HTML/Using_data_attributes)
135135
- В `inputField.tag` передаю как параметр код для локализации label, а в `i18n.jsp` передаю как параметр `page`. См. [JSP include action with parameter example](https://beginnersbook.com/2013/12/jsp-include-with-parameter-example)
136136

137-
### Topjava 12
137+
### TopJava 12
138138
- [Миграция на Spring 5](http://javaops.ru/view/resources/spring5)
139139
- обновил версии: Ehcache 3.x, datatables, datetimepicker
140140
- добавил видео решений HW0 с одним проходом
@@ -147,7 +147,7 @@
147147
- заменил в jQuery [success на done](https://stackoverflow.com/a/22213543/548473)
148148
- вместо `lang.jsp` сделал общий `bodyHeader.jsp`
149149

150-
### Topjava 11
150+
### TopJava 11
151151
- добавил
152152
- доп. решение HW1 через одним return и O(N)
153153
- раскрасил лог ([Logback layouts coloring](https://logback.qos.ch/manual/layouts.html#coloring))
@@ -173,7 +173,7 @@
173173
- переименовал `ModelMatcher` в `BeanMatcher` и починил: можно сравнивать только упорядоченные коллекции (List)
174174
- поменял зависимость `org.hibernate:hibernate-validator` на `org.hibernate.validator:hibernate-validator` (warning при сборке)
175175

176-
### Topjava 10
176+
### TopJava 10
177177
- добавил
178178
- доступ к AuthorizedUser через [`@AuthenticationPrincipal`](http://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#mvc-authentication-principal) и [authentication Tag](http://docs.spring.io/spring-security/site/docs/current/reference/html/taglibs.html#the-authentication-tag)
179179
- [Обработку 404 NotFound](https://stackoverflow.com/questions/18322279/spring-mvc-spring-security-and-error-handling)
@@ -202,7 +202,7 @@
202202
- distinct из запроса Hibernate на пользователей с ролями. [Оптимизация запроса distinct: 15.16.2](https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#hql-distinct)
203203
- лишние `<div>` тэги (`shadow` и `view-box`)
204204

205-
### Topjava 9
205+
### TopJava 9
206206
- добавил
207207
- выбор профиля базы через `ActiveProfilesResolver`/`AllActiveProfileResolver` на основе драйвера базы в classpath
208208
- видео <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFVmdpNDJSNXRTWUE">Cascade. Auto generate DDL.</a>
@@ -221,7 +221,7 @@
221221
- вместо `Persistable` ввел интерфейс `HasId` и наследую от него как Entity, так и TO
222222
- сделал универсальную обработку исключений дублирования email и dateTime
223223

224-
### Topjava 8
224+
### TopJava 8
225225
- добавил:
226226
- [защиту от XSS (Cross-Site Scripting)](http://stackoverflow.com/a/40644276/548473)
227227
- интеграцию с <a href="https://dependencyci.com/">Dependency Ci</a> и <a href="https://travis-ci.org/">Travis Ci</a>
@@ -245,7 +245,7 @@
245245
- перенес вызовы `UserUtil.prepareToSave` из `AbstractUserController` в `UserServiceImpl`
246246
- зарефакторил обработку ошибок (`ExceptionInfoHandler`)
247247

248-
### Topjava 7
248+
### TopJava 7
249249
- добавил:
250250
- [JPA 2.1 EntityGraph](https://docs.oracle.com/javaee/7/tutorial/persistence-entitygraphs002.htm)
251251
- [Jackson @JsonView](https://habrahabr.ru/post/307392/)
@@ -260,7 +260,7 @@
260260
- матчеров тестирования (сделал автоматические обертки и сравнение на основе передаваемого компаратора)
261261
- вынес форматирование даты в `functions.tld`
262262

263-
### Topjava 3-6
263+
### TopJava 3-6
264264
- добавил
265265
- [выпускной проект](https://drive.google.com/open?id=0B9Ye2auQ_NsFcG83dEVDVTVMamc)
266266
- в таблицу meals составной индекс

cv.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -63,24 +63,24 @@
6363
- email, skype - очень желательно, чтобы по ним вы были узнаваемы. Заведите рабочие, если не так.
6464
- написать ВЕСЬ IT опыт (исключая опыт пользователя: Windows, MS Word, Photophop, Yandex disk, Google docs, ..): технологии, какие задачи решали (конкретные), какие инструменты использовали, VCS, DB, инструменты сборки, ... включая опыт в ВУЗе.
6565
- на English иметь желательно. Если вакансия опублинована на Englsih - шлите на нем. Часто могут на нем попросить, если работодатель иностранный.
66-
- удобно иметь резюме где то в инете (hh, linkedin, google doc, чтобы им было удобно делиться).
66+
- удобно иметь резюме где-то в Интернете (hh, linkedin, google doc, чтобы им было удобно делиться).
6767

68-
### Позиционирование <a href="https://github.com/JavaOPs/topjava/blob/master/description.md">проекта Topjava</a>:
68+
### Позиционирование <a href="https://github.com/JavaOPs/topjava/blob/master/description.md">проекта TopJava</a>:
6969
- Обязательно убери из резюме **любое упоминание Junior**. Количество обращений возрастет на порядок. Ссылку на стажировку можно поставить: http://javaops.ru/view/topjava (в linkedin: https://www.linkedin.com/company/java-online-projects).
70-
- После завершения проекта ты освошь все заявленные в нем технологии - вставь их в квалификацию (включая java 8 Stream and Time API).
70+
- После завершения проекта ты освоишь все заявленные в нем технологии - вставь их в квалификацию (включая Java 8 Stream and Time API).
7171
- В разделе опыт работы (если нет коммерческого опыта) вставь:
7272

7373
Участие в разработке Spring/JPA Enterprise приложения c авторизацией и правами доступа на основе ролей
7474
на стеке Maven/ Spring MVC/ Security/ REST(Jackson)/ Java 8 Stream API:
7575
- реализация сохранения в базы Postgres и HSQLDB на основе Spring JBDC, JPA(Hibernate) и Spring-Data-JPA
7676
- реализация и тестирование REST и AJAX контроллеров
77-
- реализация клиента на Bootstrap (css/js), datatables, jQuery + plugins.
77+
- реализация клиента на Bootstrap (css/js), DataTables, jQuery + plugins.
7878
- собственная доработка проекта
7979

8080
- Делай упор не на обучение, а на **участие в проекте**. Выполнение домашних заданий это полноценное участие с написанием функционала по всем пройденным технологиям. На собеседовании смотрят не на то, что ты заканчивал, а на опыт и знания.
8181

8282
### В процессе обучения
83-
- Если рассмотриваешь предложения по работе, подними в своем профиле этот флаг и обязательно заполни ссылку на резюме. Обновления нашей базы выпускников смотрят уже более 125 партнеров по трудоустройству (компании и индивидуальные рекрутеры). Проверь содержание "Информация для HR": по нему принимают решение, открывать резюме или нет.
83+
- Если рассматриваешь предложения по работе, подними в своем профиле этот флаг и обязательно заполни ссылку на резюме. Обновления нашей базы выпускников смотрят уже более 125 партнеров по трудоустройству (компании и индивидуальные рекрутеры). Проверь содержание "Информация для HR": по нему принимают решение, открывать резюме или нет.
8484

8585
- Вступайте в нашу группу участников Slack: каналы помощи с Java, отзывы о работодателях, обсуждение тестовых заданий, вакансии, цены на рынке труда, IT события, интересные видео и многое другое.
8686

@@ -103,9 +103,9 @@
103103
процессе формулирования очень часто приходит ее решение.
104104
- Учись инвестигировать проблему. Внимательное чтение логов и умение дебажить - основные навыки
105105
разработчика. В логах надо читать верх самого нижнего эксепшена - там причина всей портянки.
106-
- Грамотно уделяй время каждой проблеме. Две крайности - сразу бросаться за помощью и
107-
бится нам ней часами.
108-
Пробуй решить ее сам и в зависимости от проблемы выделяй на это разумное время.
106+
- Грамотно уделяй время каждой проблеме. Две крайности: сразу бросаться за помощью и
107+
биться над проблемой часами.
108+
Пробуй решить ее сам и, в зависимости от проблемы, выделяй на это разумное время.
109109
- Если тебе что-то объясняют по проекту - обязательно записывай.</li>
110110
- Когда получаешь задачу - уточни все очень подробно.</li>
111111
- Получай в процессе решения обратную связь - в том ли направлении ты идешь.</li>
@@ -123,4 +123,4 @@
123123
- [Часть 1](https://javarush.ru/groups/posts/3044-razbor-tipichnihkh-oshibok-nachinajujshikh-programmistov-chastjh-1)
124124
- [Часть 2](https://javarush.ru/groups/posts/3055-razbor-tipichnihkh-oshibok-nachinajujshikh-programmistov-chastjh-2)
125125
- [От джуна к миддлу: практические советы](https://tproger.ru/articles/ot-dzhuna-k-middlu-prakticheskie-sovety)
126-
## [Отзывы по стажировке Topjava](https://vk.com/topic-74381644_30447246)
126+
## [Отзывы по стажировке TopJava](https://vk.com/topic-74381644_30447246)

0 commit comments

Comments
 (0)