Skip to content

Latest commit

 

History

History
145 lines (123 loc) · 13.3 KB

README.md

File metadata and controls

145 lines (123 loc) · 13.3 KB

TEST Java Enterprise Online Project

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

Когда вы слышите что-то, вы забываете это.
Когда вы видите что-то, вы запоминаете это.
Но только когда вы начинаете делать это,
вы начинаете понимать это

Старинная китайская поговорка

Вводное занятие

Инструкция по шагам (из видео):

hw Домашнее задание HW0

Реализовать метод UserMealsUtil.getFilteredWithExceeded:
-  должны возвращаться только записи между startTime и endTime 
-  поле UserMealWithExceed.exceed должно показывать, 
                                     превышает ли сумма калорий за весь день параметра метода caloriesPerDay  
        
Т.е UserMealWithExceed - это запись одной еды, но поле exceeded будет одинаково для всех записей за этот день.
    
- Проверте результат выполнения ДЗ (можно проверить логику в http://topjava.herokuapp.com , список еды)
- Оцените Time complexity вашего алгоритма, если он O(N*N)- попробуйте сделать O(N).

Optional

Сделать реализация через Java 8 Stream API. Заменяйте forEach оператором stream.map(..)

error Замечания к HW0

  • Код проекта менять можно! Одна из распространенных ошибок как в тестовых заданиях на собеседовании, так и при работе на проекте, что ничего нельзя менять. Конечно при правках в рабочем проекте обязятельно нужно проконсультироваться/проревьюится у авторов кода (находится по истории VCS)
  • Наследовать UserMealWithExceed от UserMeal я не буду, т.к. это разные сущности: Transfer Object и Entity. Мы будет их проходить на 2м уроке.
  • Правильная реализация должна быть простой и красивой, можно сделать 2-мя способами: через стримы и через циклы. Сложность должна быть O(N), т.е. без вложенных стримов и циклов.
  • При реализации через Stream заменяйте forEach оператором stream.map(..)
  • Объявляйте переменные непосредственно перед использованием
  • Пользуйтесь форматированием кода в IDEA: Alt+Ctrl+L

Полезные ресурсы

ВНИМАНИЕ: основы JavaSсript необходимы для понимания проекта, начиная с 8-го занятия!

Все остальное - опционально.

HTML, JavaScript, CSS

Java (базовые вещи)

Сервлеты

JDBC, SQL

Разное

Книги