Наиболее востребованные технологии /инструменты / фреймворки Java Enterprise: Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins.
Когда вы слышите что-то, вы забываете это.
Когда вы видите что-то, вы запоминаете это.
Но только когда вы начинаете делать это,
вы начинаете понимать это
Старинная китайская поговорка
- Система управления версиями. VCS/DVSC.
- Ресурсы:
- Установить ПО (git, JDK8, IntelliJ IDEA, Maven)
- Создать аккаунт на GitHub
- Сделать Fork ЭТОГО проекта (https://github.com/JavaOPs/topjava)
- Сделать локальный репозиторий проекта:
git clone https://github.com/[Ваш аккаунт]/topjava.git
- Открыть и настроить проект в IDEA
- По ходу видео сделать Apply Patch... скаченного патча Prepare_ to_ HW0.patch
- Закоммитить и запушить изменения (commit + push)
- Сделать ветку домашнего задания
- Выполнить задание и залить на GitHub (commit + push)
- Переключиться в основную ветку проекта master.
Реализовать UserMealsUtil.getFilteredMealsWithExceeded:
- должны возвращаться только записи между startTime и endTime
- поле UserMealWithExceed.exceed должно показывать,
превышает ли сумма калорий за весь день параметра метода caloriesPerDay
Т.е UserMealWithExceed - это запись одной еды, но поле exceeded будет одинаково для всех записей за этот день.
- Проверте результат выполнения ДЗ (можно проверить логику в http://topjava.herokuapp.com , список еды)
- Оцените Time complexity вашего алгоритма (если он O(N*N)- попробуйте сделать O(N).
Optional
- Java 8: Lambda выражения
- Java 8: Потоки
- Pуководство по Java 8 Stream
- Лямбда-выражения в Java 8
- Шпаргалка Java Stream API
- stream.map vs forEach
Сделать реализация через Java 8 Stream API. Заменяйте forEach оператором stream.map(..)
Как брать диапазон дат? Какие брать дефолтные значения для null?
Для диапазона нужно использовать уже готовый TimeUtil.isBetween. Как приложение должно себя вести можно проверить на demo.