Java Enterprise Online Project =============================== Ðаиболее воÑÑÑебованнÑе ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ /инÑÑÑÑменÑÑ / ÑÑеймвоÑки Java Enterprise: Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins. Ðогда Ð²Ñ ÑлÑÑиÑе ÑÑо-Ñо, Ð²Ñ Ð·Ð°Ð±ÑваеÑе ÑÑо. Ðогда Ð²Ñ Ð²Ð¸Ð´Ð¸Ñе ÑÑо-Ñо, Ð²Ñ Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÐµÑе ÑÑо. Ðо ÑолÑко когда Ð²Ñ Ð½Ð°ÑинаеÑе делаÑÑ ÑÑо, Ð²Ñ Ð½Ð°ÑинаеÑе понимаÑÑ ÑÑо СÑаÑÐ¸Ð½Ð½Ð°Ñ ÐºÐ¸ÑайÑÐºÐ°Ñ Ð¿Ð¾Ð³Ð¾Ð²Ð¾Ñка ## ÐпиÑание и план пÑоекÑа ### Ðемо ÑазÑабаÑÑваемого пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ### ТÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº ÑÑаÑÑникам, Wiki ### СоÑÑавление ÑезÑме, подгоÑовка к инÑеÑвÑÑ, поиÑк ÑабоÑÑ Ðводное занÑÑие =============== ##  СиÑÑÐµÐ¼Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑÑиÑми. Git. - **Wiki по Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿ÑоекÑа в Git** - СиÑÑема ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑÑиÑми. VCS/DVSC. - РеÑÑÑÑÑ: - ÐнÑеÑакÑÐ¸Ð²Ð½Ð°Ñ Git обÑÑалка - Ðнига Git - Working with remote repositories - Ðидео по обÑÑÐµÐ½Ð¸Ñ Git - Git Overview - ÐидеокÑÑÑ Ð¿Ð¾ Git ##  РабоÑа Ñ Ð¿ÑоекÑом (вÑполнÑÑÑ Ð¸Ð½ÑÑÑÑкÑии) - **Prepare_ to_ HW0.patch (ÑкаÑаÑÑ Ð¸ положиÑÑ Ð² каÑалог ваÑего пÑоекÑа)** - ÐоÑÑÑпно о Java 8 Lambda ## ÐнÑÑÑÑкÑÐ¸Ñ Ð¿Ð¾ Ñагам (из видео): - УÑÑановиÑÑ ÐÐ (git, JDK8, IntelliJ IDEA, Maven) - СоздаÑÑ Ð°ÐºÐºÐ°ÑÐ½Ñ Ð½Ð° GitHub - СделаÑÑ Fork ÐТÐÐРпÑоекÑа (https://github.com/JavaOPs/topjava) - СделаÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй ÑепозиÑоÑий пÑоекÑа:
git clone https://github.com/[ÐÐ°Ñ Ð°ÐºÐºÐ°ÑнÑ]/topjava.git- ÐÑкÑÑÑÑ Ð¸ наÑÑÑоиÑÑ Ð¿ÑÐ¾ÐµÐºÑ Ð² IDEA - ÐÑÑÑавиÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ UTF-8 в конÑоли - ÐоÑÑавиÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ UTF-8 - ÐоменÑÑÑ ÑÐ¾Ð½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (DejaVu) - Ðо Ñ Ð¾Ð´Ñ Ð²Ð¸Ð´ÐµÐ¾ ÑделаÑÑ Apply Patch... ÑкаÑенного паÑÑа Prepare_ to_ HW0.patch - ÐакоммиÑиÑÑ Ð¸ запÑÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (commit + push) - СделаÑÑ Ð²ÐµÑÐºÑ Ð´Ð¾Ð¼Ð°Ñнего Ð·Ð°Ð´Ð°Ð½Ð¸Ñ - ÐÑполниÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸Ðµ и залиÑÑ Ð½Ð° GitHub (commit + push) - ÐеÑеклÑÑиÑÑÑÑ Ð² оÑновнÑÑ Ð²ÐµÑÐºÑ Ð¿ÑоекÑа master. ##  ÐомаÑнее задание HW0 - Java 8 Date and Time API - ÐлгоÑиÑÐ¼Ñ Ð¸ ÑÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð½Ð°ÑинаÑÑÐ¸Ñ : ÑложноÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑмов - Time complexity - ÐÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑложноÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑма - ÐÑÑиÑлиÑелÑÐ½Ð°Ñ ÑложноÑÑÑ ``` РеализоваÑÑ Ð¼ÐµÑод UserMealsUtil.getFilteredWithExceeded: - Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²Ð¾Ð·Ð²ÑаÑаÑÑÑÑ ÑолÑко запиÑи Ð¼ÐµÐ¶Ð´Ñ 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-го занÑÑиÑ! ÐÑе оÑÑалÑное - опÑионалÑно. #### HTML, JavaScript, CSS - Ðведение в пÑогÑаммиÑование на JavaScript - ÐÑÐ½Ð¾Ð²Ñ ÑабоÑÑ Ñ HTML/CSS/JavaScript - JavaScript - ÐÑÐ½Ð¾Ð²Ñ - Bootstrap 3 - ÐÑÐ½Ð¾Ð²Ñ - jQuery Ð´Ð»Ñ Ð½Ð°ÑинаÑÑÐ¸Ñ #### Java (базовÑе веÑи) - ÐнÑÑиÑ. ÐÑогÑаммиÑование на Java - ÐÑÐ½Ð¾Ð²Ñ Java garbage collection - Ð Ð°Ð·Ð¼ÐµÑ Java обÑекÑов - Ðлог о памÑÑи, ÑбоÑÑике мÑÑоÑа, многопоÑоÑноÑÑи и пÑоизводиÑелÑноÑÑи в JAVA - Ðведение в Java Reflection API - СÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² каÑÑÐ¸Ð½ÐºÐ°Ñ - ÐÐ±Ð·Ð¾Ñ java.util.concurrent.* - Ð¡Ð¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð¿Ð¾Ñоков - String literal pool - ÐаленÑкие Ñ Ð¸ÑÑоÑÑи Java - Ðак ÑоздаÑÑ Servlet? Ðолное ÑÑководÑÑво. - A Guide to Java 8 #### JDBC, SQL - УÑоки по JDBC - Learn SQL - Try SQL - ÐÑÑÑ "Ðведение в Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ " #### Разное - ÐÑÑекÑÐ¸Ð²Ð½Ð°Ñ ÑабоÑа Ñ ÐºÐ¾Ð´Ð¾Ð¼ в IntelliJ IDEA - Quizful- ÑеÑÑÑ Ð¾Ð½Ð»Ð°Ð¹Ð½ - Ðведение в Linux #### Ðниги - ÐжоÑÑа ÐÐ»Ð¾Ñ : Java. ÐÑÑекÑивное пÑогÑаммиÑование. ÐÑоÑое издание - Ðамма, Хелм, ÐжонÑон: ÐÑÐ¸ÐµÐ¼Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованного пÑоекÑиÑованиÑ. ÐаÑÑеÑÐ½Ñ Ð¿ÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ - Редмонд Ð.: Ð¡ÐµÐ¼Ñ Ð±Ð°Ð· даннÑÑ Ð·Ð° ÑÐµÐ¼Ñ Ð½ÐµÐ´ÐµÐ»Ñ. Ðведение в ÑовÑеменнÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ Ð¸Ð´ÐµÐ¾Ð»Ð¾Ð³Ð¸Ñ NoSQL - Brian Goetz: Java Concurrency in Practice - G.L. McDowell: Cracking the Coding Interview