diff --git a/README.md b/README.md index 28cfe488b81d..a0791f66d68a 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Java Enterprise Online Project - Система управления версиями. VCS/DVSC. - Ресурсы: - Интерактивная Git обучалка - - Еще одна интерактивная обучалка, по русски + - Еще одна интерактивная обучалка, по-русски - Книга Git - Working with remote repositories - Видео по обучению Git @@ -73,7 +73,7 @@ Java Enterprise Online Project Т.е UserMealWithExceed - это запись одной еды, но поле exceeded будет одинаково для всех записей за этот день. -- Проверте результат выполнения ДЗ (можно проверить логику в http://topjava.herokuapp.com , список еды) +- Проверьте результат выполнения ДЗ (можно проверить логику в http://topjava.herokuapp.com , список еды) - Оцените Time complexity вашего алгоритма, если он O(N*N)- попробуйте сделать O(N). ``` - Java 8 Date and Time API @@ -84,12 +84,12 @@ Java Enterprise Online Project #### Optional (Java 8 Stream API) ``` -Сделать реализация через Java 8 Stream API. +Сделать реализацию через Java 8 Stream API. ``` - Видео: Доступно о Java 8 Lambda - Java 8: Lambda выражения - Java 8: Потоки -- Pуководство по Java 8 Stream +- Руководство по Java 8 Stream - Лямбда-выражения в Java 8 - A Guide to Java 8 - Шпаргалка Java Stream API @@ -107,7 +107,7 @@ Java Enterprise Online Project - через Stream API за 1 проход по Stream ``` #### Замечания по использованию Stream API: -- Когда встречаешь что-то непривычное, приходится перестраивать мозги. Например переход с процедурного на ООП программирование дается непросто. Те, кто не знает шаблонов (и не хоят учить) также их встречают плохо. Хорошая новость в том, что если это принять и начать использовать, то начинаешь получать от этого удовольствие. И тут главное не впасть в другую крайность: +- Когда встречаешь что-то непривычное, приходится перестраивать мозги. Например, переход с процедурного на ООП программирование дается непросто. Те, кто не знает шаблонов (и не хотят учить) также их встречают плохо. Хорошая новость в том, что если это принять и начать использовать, то начинаешь получать от этого удовольствие. И тут главное не впасть в другую крайность: - [Используйте Stream API проще (или не используйте вообще)](https://habrahabr.ru/post/337350/) - Если вас беспокоить производительность стримов, обязательно прочитайте про оптимизацию - ["Что? Где? Когда?"](http://optimization.guide/intro.html) @@ -118,7 +118,7 @@ Java Enterprise Online Project Еще - просто так запустить и померять скорость JVM нельзя (как минимум дать прогреться и запустить очень большое число раз). Лучше использовать какие-нибудь бенчмарки, например [JMH](http://tutorials.jenkov.com/java-performance/jmh.html), который мы юзаем на другом проекте (Mastejava). ## ![error](https://cloud.githubusercontent.com/assets/13649199/13672935/ef09ec1e-e6e7-11e5-9f79-d1641c05cbe6.png) Замечания к HW0 -- 1: Код проекта менять можно! Одна из распространенных ошибок как в тестовых заданиях на собеседовании, так и при работе на проекте, что ничего нельзя менять. Конечно при правках в рабочем проекте обязятельно нужно проконсультироваться/проревьюится у авторов кода (находится по истории VCS) +- 1: Код проекта менять можно! Одна из распространенных ошибок как в тестовых заданиях на собеседовании, так и при работе на проекте, что ничего нельзя менять. Конечно при правках в рабочем проекте обязательно нужно проконсультироваться/проревьюироваться у авторов кода (находится по истории VCS) - 2: Наследовать `UserMealWithExceed` от `UserMeal` я не буду, т.к. это разные сущности: Transfer Object и Entity. Мы будет их проходить на 2м уроке. - 3: Правильная реализация должна быть простой и красивой, можно сделать 2-мя способами: через стримы и через циклы. Сложность должна быть O(N), т.е. без вложенных стримов и циклов. - 4: При реализации через циклы посмотрите в `Map` на методы `getOrDefault` или `merge` @@ -130,7 +130,7 @@ Java Enterprise Online Project - 10: `System.out.println` нельзя делать нигде, кроме как в `main`. Позже введем логирование. - 11: Результаты, возвращаемые `UserMealsUtil.getFilteredWithExceeded` мы будем использовать [в нашем приложении](http://topjava.herokuapp.com/) для фильтрации по времени и отображения еды правильным цветом. - 12: Обращайте внимание на комментарии к вашим коммитам в git. Они должны быть короткие и информативные (лучше на english) -- 13: Не полагайтесь в решениии на то, что список будет подаваться отсортированным. Такого условия нет. +- 13: Не полагайтесь в решении на то, что список будет подаваться отсортированным. Такого условия нет. ----- ### Полезные ресурсы