|
| 1 | +Java Enterprise Online Project |
| 2 | +=============================== |
| 3 | +Наиболее востребованные технологии /инструменты / фреймворки Java Enterprise: |
| 4 | +Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins. |
| 5 | + |
| 6 | + Когда вы слышите что-то, вы забываете это. |
| 7 | + Когда вы видите что-то, вы запоминаете это. |
| 8 | + Но только когда вы начинаете делать это, |
| 9 | + вы начинаете понимать это |
| 10 | + |
| 11 | + Старинная китайская поговорка |
| 12 | + |
| 13 | +## <a href="description.md">Описание и план проекта</a> |
| 14 | +### <a href="http://topjava.herokuapp.com/" target=_blank>Демо разрабатываемого приложения</a> |
| 15 | +### <a href="https://github.com/JavaOPs/topjava/wiki">Требования к участникам, Wiki</a> |
| 16 | +### <a href="cv.md">Составление резюме, подготовка к интервью, поиск работы</a> |
| 17 | + |
| 18 | +Вводное занятие |
| 19 | +=============== |
| 20 | +##  <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFSUNrdVc0bDZuX2s">Системы управления версиями. Git. |
| 21 | +- **<a href="https://github.com/JavaOPs/topjava/wiki/Git">Wiki по ведению проекта в Git</a>** |
| 22 | +- <a href="http://ru.wikipedia.org/wiki/Система_управления_версиями">Система управления версиями</a>. <a |
| 23 | + href="http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8#.D0.A0.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D1.91.D0.BD.D0.BD.D1.8B.D0.B5_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.D1.83.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B2.D0.B5.D1.80.D1.81.D0.B8.D1.8F.D0.BC.D0.B8">VCS/DVSC</a>. |
| 24 | +- Ресурсы: |
| 25 | + - <a href="https://try.github.io/levels/1/challenges/1">Интерактивная Git обучалка</a> |
| 26 | + - <a href="https://git-scm.com/book/ru/v2">Книга Git</a> |
| 27 | + - <a href="https://illustrated-git.readthedocs.org/en/latest/#working-with-remote-repositories">Working with remote repositories</a> |
| 28 | + - <a href="https://www.youtube.com/playlist?list=PLIU76b8Cjem5B3sufBJ_KFTpKkMEvaTQR">Видео по обучению Git</a> |
| 29 | + - <a href="https://blog.interlinked.org/tutorials/git.html">Git Overview</a> |
| 30 | + - <a href="http://geekbrains.ru/gitstart">Видеокурс по Git</a> |
| 31 | + |
| 32 | +##  <a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFZDdaaU5fZEo4X3c">Работа с проектом (выполнять инструкции)</a> |
| 33 | +- **<a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFRXM4WVdTTGN3Q28">Prepare_ to_ HW0.patch (скачать и положить в каталог вашего проекта)</a>** |
| 34 | +- <a href="http://www.youtube.com/watch?v=_PDIVhEs6TM">Доступно о Java 8 Lambda</a> |
| 35 | + |
| 36 | +## Инструкция по шагам (из видео):</h3> |
| 37 | +- <a href="http://javawebinar.ru/#/soft">Установить ПО (git, JDK8, IntelliJ IDEA, Maven)</a> |
| 38 | +- Создать аккаунт на <a href="https://github.com">GitHub</a> |
| 39 | +- Сделать Fork ЭТОГО проекта (https://github.com/JavaOPs/topjava) </a> |
| 40 | +- Сделать локальный репозиторий проекта: |
| 41 | + <pre>git clone https://github.com/[Ваш аккаунт]/topjava.git</pre> |
| 42 | +- Открыть и настроить проект в IDEA |
| 43 | + - <a href="http://stackoverflow.com/questions/29695918/intellij-idea-console-issue#33035499">Выставить кодировку UTF-8 в консоли</a> |
| 44 | + - <a href="https://github.com/JavaOPs/topjava/wiki/IDEA#%D0%9F%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D1%83-utf-8">Поставить кодировку UTF-8</a> |
| 45 | + - <a href="https://github.com/JavaOPs/topjava/wiki/IDEA#%D0%9F%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C-%D1%84%D0%BE%D0%BD%D1%82-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-dejavu">Поменять фонт по умолчанию (DejaVu)</a> |
| 46 | +- По ходу видео сделать Apply Patch... скаченного патча Prepare_ to_ HW0.patch |
| 47 | +- Закоммитить и запушить изменения (commit + push) |
| 48 | +- Сделать ветку домашнего задания |
| 49 | +- Выполнить задание и залить на GitHub (commit + push) |
| 50 | +- Переключиться в основную ветку проекта master. |
| 51 | + |
| 52 | +##  Домашнее задание HW0 |
| 53 | + |
| 54 | +- <a href="http://www.mscharhag.com/2014/02/java-8-datetime-api.html">Java 8 Date and Time API</a> |
| 55 | +- <a href="https://tproger.ru/translations/algorithms-and-data-structures">Алгоритмы и структуры данных для начинающих: сложность алгоритмов</a> |
| 56 | +- <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFNEJWRFJkVDA3TkU/view">Time complexity</a> |
| 57 | +- <a href="https://ru.wikipedia.org/wiki/Временная_сложность_алгоритма">Временная сложность алгоритма</a> |
| 58 | +- <a href="https://ru.wikipedia.org/wiki/Вычислительная_сложность">Вычислительная сложность</a> |
| 59 | +``` |
| 60 | +Реализовать метод UserMealsUtil.getFilteredWithExceeded: |
| 61 | +- должны возвращаться только записи между startTime и endTime |
| 62 | +- поле UserMealWithExceed.exceed должно показывать, |
| 63 | + превышает ли сумма калорий за весь день параметра метода caloriesPerDay |
| 64 | + |
| 65 | +Т.е UserMealWithExceed - это запись одной еды, но поле exceeded будет одинаково для всех записей за этот день. |
| 66 | + |
| 67 | +- Проверте результат выполнения ДЗ (можно проверить логику в http://topjava.herokuapp.com , список еды) |
| 68 | +- Оцените Time complexity вашего алгоритма, если он O(N*N)- попробуйте сделать O(N). |
| 69 | +``` |
| 70 | +Optional |
| 71 | + |
| 72 | +- <a href="http://devcolibri.com/4137#t2">Java 8: Lambda выражения</a> |
| 73 | +- <a href="http://devcolibri.com/4274#t7">Java 8: Потоки</a> |
| 74 | +- <a href="http://prologistic.com.ua/polnoe-rukovodstvo-po-java-8-stream.html">Pуководство по Java 8 Stream</a> |
| 75 | +- <a href="http://habrahabr.ru/post/224593/">Лямбда-выражения в Java 8</a> |
| 76 | +- <a href="https://github.com/winterbe/java8-tutorial">A Guide to Java 8</a> |
| 77 | +- <a href="http://habrahabr.ru/company/luxoft/blog/270383/">Шпаргалка Java Stream API</a> |
| 78 | +- <a href="https://www.youtube.com/watch?v=hEyCK4ueBlc">Алексея Владыкин: Элементы функционального программирования в Java</a> |
| 79 | +- <a href="http://stackoverflow.com/questions/28319064/java-8-best-way-to-transform-a-list-map-or-foreach">stream.map vs forEach</a> |
| 80 | + |
| 81 | +``` |
| 82 | +Сделать реализация через Java 8 Stream API. Заменяйте forEach оператором stream.map(..) |
| 83 | +``` |
| 84 | +### Полезные ресурсы |
| 85 | +> ВНИМАНИЕ: основы JavaSсript необходимы для понимания проекта, начиная с 8-го занятия! |
| 86 | +
|
| 87 | +Все остальное - опционально. |
| 88 | + |
| 89 | +#### HTML, JavaScript, CSS |
| 90 | +- <a href="https://www.youtube.com/watch?v=j0ycGQKqMT4">Введение в программирование на JavaScript</a> |
| 91 | +- <a href="http://www.intuit.ru/studies/courses/1102/134/info">Основы работы с HTML/CSS/JavaScript</a> |
| 92 | +- <a href="http://itchief.ru/lessons/javascript/94-javascript-introduction">JavaScript - Основы</a> |
| 93 | +- <a href="http://itchief.ru/lessons/bootstrap-3/19-introduction-to-twitter-bootstrap-3">Bootstrap 3 - Основы</a> |
| 94 | +- <a href="http://anton.shevchuk.name/jquery/">jQuery для начинающих</a> |
| 95 | + |
| 96 | +#### Java (базовые вещи) |
| 97 | +- <a href="http://www.intuit.ru/studies/courses/16/16/info">Интуит. Программирование на Java</a> |
| 98 | +- <a href="http://ggenikus.github.io/blog/2014/05/04/gc/">Основы Java garbage collection</a> |
| 99 | +- <a href="https://habrahabr.ru/post/134102/">Размер Java объектов</a> |
| 100 | +- <a href="http://www.javaspecialist.ru/p/blog-page.html">Блог о памяти, сборщике мусора, многопоточности и производительности в JAVA</a> |
| 101 | +- <a href="http://www.quizful.net/post/java-reflection-api">Введение в Java Reflection API</a> |
| 102 | +- <a href="https://habrahabr.ru/users/tarzan82/topics/">Структуры данных в картинках</a> |
| 103 | +- <a href="https://habrahabr.ru/company/luxoft/blog/157273/">Обзор java.util.concurrent.*</a> |
| 104 | +- <a href="http://www.skipy.ru/technics/synchronization.html">Синхронизация потоков</a> |
| 105 | +- <a href="http://java67.blogspot.ru/2014/08/difference-between-string-literal-and-new-String-object-Java.html">String literal pool</a> |
| 106 | +- <a href="https://habrahabr.ru/post/132241/">Маленькие хитрости Java</a> |
| 107 | +- <a href="http://devcolibri.com/4284">Как создать Servlet? Полное руководство.</a> |
| 108 | +- <a href="https://github.com/winterbe/java8-tutorial">A Guide to Java 8</a> |
| 109 | + |
| 110 | +#### JDBC, SQL |
| 111 | +- <a href="https://www.youtube.com/playlist?list=PLIU76b8Cjem5qdMQLXiIwGLTLyUHkTqi2">Уроки по JDBC</a> |
| 112 | +- <a href="https://www.codecademy.com/learn/learn-sql">Learn SQL</a> |
| 113 | +- <a href="http://campus.codeschool.com/courses/try-sql/contents">Try SQL</a> |
| 114 | +- <a href="https://stepic.org/course/Введение-в-базы-данных-551">Курс "Введение в базы данных"</a> |
| 115 | + |
| 116 | +#### Разное |
| 117 | +- <a href="http://jeeconf.com/materials/intellij-idea/">Эффективная работа с кодом в IntelliJ IDEA</a> |
| 118 | +- <a href="http://www.quizful.net/test">Quizful- тесты онлайн</a> |
| 119 | +- <a href="https://stepic.org/course/Введение-в-Linux-73">Введение в Linux</a> |
| 120 | + |
| 121 | +#### Книги |
| 122 | +- <a href="http://www.ozon.ru/context/detail/id/24828676/">Джошуа Блох: Java. Эффективное программирование. Второе издание</a> |
| 123 | +- <a href="http://www.labirint.ru/books/87603/">Гамма, Хелм, Джонсон: Приемы объектно-ориентированного проектирования. Паттерны проектирования</a> |
| 124 | +- <a href="http://www.bookvoed.ru/book?id=639284">Редмонд Э.: Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL</a> |
| 125 | +- <a href="http://www.ozon.ru/context/detail/id/3174887/">Brian Goetz: Java Concurrency in Practice</a> |
| 126 | +- <a href="http://bookvoed.ru/book?id=2593572">G.L. McDowell: Cracking the Coding Interview</a> |
0 commit comments