Наиболее востребованные технологии /инструменты / фреймворки Java Enterprise: Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins.
Когда вы слышите что-то, вы забываете это.
Когда вы видите что-то, вы запоминаете это.
Но только когда вы начинаете делать это,
вы начинаете понимать это
Старинная китайская поговорка
- Установить ПО (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.
- Java 8 Date and Time API
- Алгоритмы и структуры данных для начинающих: сложность алгоритмов
- Time complexity
- Временная сложность алгоритма
- Вычислительная сложность
Реализовать 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
- A Guide to Java 8
- Шпаргалка Java Stream API
- Алексея Владыкин: Элементы функционального программирования в Java
- stream.map vs forEach
Сделать реализация через Java 8 Stream API. Заменяйте forEach оператором stream.map(..)
ВНИМАНИЕ: основы JavaSсript необходимы для понимания проекта, начиная с 8-го занятия!
Все остальное - опционально.
- Введение в программирование на JavaScript
- Основы работы с HTML/CSS/JavaScript
- JavaScript - Основы
- Bootstrap 3 - Основы
- jQuery для начинающих
- Интуит. Программирование на Java
- Основы Java garbage collection
- Размер Java объектов
- Блог о памяти, сборщике мусора, многопоточности и производительности в JAVA
- Введение в Java Reflection API
- Структуры данных в картинках
- Обзор java.util.concurrent.*
- Синхронизация потоков
- String literal pool
- Маленькие хитрости Java
- Как создать Servlet? Полное руководство.
- A Guide to Java 8
- Java JUnit
- Джошуа Блох: Java. Эффективное программирование. Второе издание
- Гамма, Хелм, Джонсон: Приемы объектно-ориентированного проектирования. Паттерны проектирования
- Редмонд Э.: Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL
- Brian Goetz: Java Concurrency in Practice
- G.L. McDowell: Cracking the Coding Interview