UPD: Группа набрана. Предположительный старт ближайшего набора на проект — первая неделя ноября 2016.
Предположительный старт ближайшего проекта — 01 декабря 2016. Следите за новостями.
Все, кто оставил заявки после осеннего набора, будут проверены и зачислены в следующий набор.
Good News, Everyone!
С радостью сообщаем вам, что начался очередной набор на онлайн стажировку!
У вас есть уникальная возможность получить опыт в работе с такими технологиями: Git, Spring, Spring MVC, Spring Security, Hibernate, JPA, Junit, JSP, JSTL, ORM, REST, Bootstrap, AJAX и jQuery.
Конечно, за 12 недель слишком глубоко все это не выучить, но, во-первых, вы сможете указать эти технологии в своем резюме, а во-вторых, очень вероятно, что за эти 12 недель вы узнаете о программировании больше, чем 5 лет универа. Выбор за вами.
Записывайтесь, только если сможете уделять обучению 6-8 часов в неделю. Отзывы предыдущих участников можно почитать тут.
Условия участия:
У вас есть подписка Internship, Mentor или Premium Project
Ваш уровень на JavaRush 30 или выше
Вы выполнили тестовое задание
Если ваш уровень ниже 30-го, но хотя бы 25+, вы можете попробовать дойти до 30-го уровня. Набор на онлайн-стажировку будет продолжаться до 31 августа, так что месяц у вас есть.
Если у вас нет подписки Internship/Mentor, то, возможно, самое время ее купить или проапгрейтить, если у вас уже есть другая Premium-подписка.
Кому будет полезно:
Если в вашем городе мало крупных компаний, у них высокие требования, или вы хотите выделиться на фоне других искателей работы и попасть не абы-куда, а сразу в правильное место, то вам стоит получить практический опыт на онлайн-стажировке.
Онлайн стажировка – это отличный способ получить практический опыт (за ваши деньги).
Где можно записаться:
Оставьте свои контактные данные в разделе «МОЯ СТРАНИЦА, Реальный проект». Так же вам надо прислать ссылку на выполненное тестовое задание.
Тестовое задание надо выполнить обязательно. Если вы не в состоянии справится с тестовым заданием, значит вам будет не по силам половина заданий онлайн-стажировки. Лучше порешайте задачи на JavaRush – они в разы проще.
Следующая стажировка планируется через 3 месяца – не справились с тестовым заданием в этот раз – значит справитесь в следующий. Лучше день потерять, потом за пять минут долететь.
Участвовать в онлайн-стажировке можно только один раз.
Сроки:
Стажировка длится 12 недель.
Набор открыт до 31 августа, старт самой стажировки – 1 сентября.
После 31 августа заявки приниматься не будут – будете ждать следующей стажировки (декабрь 2016 года).
Как все будет происходить:
Вы будете писать достаточно большой проект и получите очень разносторонний опыт, который, что логично, поможет вам и при устройстве на работу и, уж тем более, в первый год работы.
Проект рассчитан на 12 недель (3 месяца). Каждую неделю вы будете изучать очередную технологию и добавлять очередной кусок функциональности к вашему проекту.
План обучения и список изучаемых технологий можно посмотреть здесь.
Формат занятий
В начале каждой недели вы будете получать видеозапись урока (длиной 2-3 часа!), на которой разбирается и объясняется очередная технология, а также дается задание на дом, которое вы должны сделать за неделю. Задания средней сложности. Если в первый день вы во всем разобрались, то сделайте его за 1-2 дня. Если сразу не поняли, то в неделю должны вложиться.
Правильное решение
Через неделю куратор стажировки выкладывает свое решение, и вы можете посмотреть/разобрать его, независимо от того, заработало у вас ваше решение или нет.
Это очень эффективный подход, т.к. разбирать решения опытных разработчиков может быть на порядок полезнее, чем сделать свое кое-как. Особенно, если вы только что днями ломали голову, ища способ все сделать хорошо, быстро и красиво.
Поддержка
В слаке будет создана отдельная группа, где вы и другие участники стажировки в режиме реального времени можете задавать вопросы и получать ответы от руководителя стажировки. Он может давать комментарии по изучаемой технологии, по своему решению и по своему коду. Но не по вашему коду :P
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Я правильно понял, следующая стажировка начнётся в декабре месяце?
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
Просто дерево папок с файлами? Если нет, то можно какой-то образец?
Спасибо.
Это значит последний день для отправки 30-е?
Или 31-е включительно?
Спасибо.
Непонятно кстати, почему путь должен быть равен admin, если в модели User изначально поле называлось isAdmin. Но бог с ним, переименовал в модели поле, теперь оно тоже называется admin. Насколько я понимаю, заполняется оно при помощи вот этого кода из контроллера:
И действительно галочка чекбокса устанавливается в соответствии со значением поля isAdmin в базе. По идее этот код кладет в model под именем user конкретное значение экземпляра user со всеми заполенными полями. Когда я нажимаю кнопку, по которой отредактированные значения должны попадать обратно в базу, то выполняется этот код контроллера:
И вот тут я отладчиком вижу следующее. Экземпляр user, который программа считывает сюда из атрибут
форматер спринга
Так вот, если остановиться после этой строчки, и посмотреть на поля user, то они все почему-то пустые. id=0, name=null, isAdmin=false, createdDate=null. Зато все данные правильно заполнены в user.handler.target. Причем там createdDate имеет тип timestamp. Поскольку этот user возвращается по стеку вызова в контроллер, а потом отображается на форме, то я не понимаю, почему вообще на форме отображается все корректно, с заполненными данными. Откуда берутся заполненные поля у user, если отладчик показывает, что они пустые?
Он выполняется для заполнения полей формы значениями конкретного юзера, поля которого мы собираемся редактировать. Так вот, если посмотреть отладчиком на поля, вот этого выражения:
this.userService.getUserById(id)
то эти поля почему-то тоже пустые. id=0, name=null, isAdmin=false, createdDate=null.
Но когда я беру потом этот атрибут из модели, чтобы установить эту дату у отредактированного user, которого собираюсь записывать в базу, то из модели приходит не положенное туда значение, а текущая дата.
Но и это еще не все чудеса. Когда я читаю данные из базы при помощи getUserById, то, как я уже говорил, все поля в отладчике показываются пустыми. При это отладчик показывает, что есть еще некоторое поле handler, которое я не объявлял в класса user. И в этом поле содержится масса всякой информации в дополнительных полях. И это еще не все. Сразу же после getUserById я смотрю что выдает user.getCreatedDate(). И хотя мне отладчик только что показывал, что createdDate содержит null, Оказывается, user.getCreatedDate() содержит некоторые поля, заполненные значениями. Например fastTime (судя по всему имеющий тип Long), еще cdata (с типом Gregorian$Date). Эти поля заполнены вполне осмысленными значениями. Но обратиться к ним в тексте программы я не могу. Ни к полю handler у user, ни к полям fastTime и cdata у даты. При попытке написать конструкцию user.handler в программе IDE подсвечивает handler красным и не дает компилироваться. Ну и это логично, нет такого поля в классе User. Я уже ничего не понимаю в этих наборах реальных и виртуальных полей объектов. Откуда все это берется вообще?
аннотация PathVariable
т.е. в этот момент от jsp приходит вызов этого метода с передачей id от jsp. Причем id от jsp прекрасно приходит, я проверял. А в этом методе (editUser) создается новый user, заполняется данными из БД и кладется в атрибут «user» модели. После отработки editUser на форме все поля, которые предназначены пользовательских правок userа благополучно оказываются заполнены. Когда пользователь заканчивает редактирование этих полей, он нажимает на кнопку, которая вызывает метод:
вот при вызове этого метода от jsp действительно не передается id. Но насколько я понимаю этот код, в параметры метода читается user из атрибута модели. А клали значение в атрибут модели мы в методе editUser. Насколько я понимаю, экземпляр user в параметры метода addUser должен попадать именно тот, который мы туда положили в editUser. Разве нет? А в editUser мы создавали экземпляр user, который заполняли считанными из БД данными. Если я правильно понимаю логику этого, то те поля, которые пользователь не редактировал на форме должны остаться такими же, какие были считаны из БД перед началом редактирования.
зависит от того, что происходит на jsp
Совет, разбейте функционал на несколько jsp, не делайте все в одной.
Так проще будет дебажить и понимать что происходит
В structure Maven Projects в папке Dependencies — есть такая надпись в самом низу — postgresql:postgresql:9.4.1201 — и она подчеркнута красным
«Могу уверить что если тестовое не под силу, то и на стажеровке делать нечего, так как 80% информации вы просто не будете понимать.»
И я в большой печале — неужели я такой тупой что не могу справится даже с тестовым, что там дальше говорить
Если не получится, покупай бубен.
Драйвер лежит здесь
C:\Users\Anton\.IntelliJIdea2016.2\config\jdbc-drivers\postgresql-9.4-1201.jdbc4.jar
все мои попытки писать 9.4-1201
9.4-1201.jdbc4 выделяет красным
база включена test connection successful
Пошаговое руководство создания CRUD (проект рабочий, но с очепятками) — crud-java.readthedocs.io/ru/latest/index.html
Почти «наш» проект, который я и брал за основу (ссылка на видео есть выше в комментах) — proselyte.net/wp-content/uploads/2016/03/ProselyteBookManager.zip
Реализация пэйджинга (удалось прикрутить без проблем за полдня) — www.ekiras.com/2015/03/pagination-in-spring-hibernate-mvc-application-using-criteria-query.html и www.ekiras.com/2015/03/how-to-create-pagination-taglib-in-java-spring-for-bootstrap.html
Осталось реализовать поиск по имени. Всем удачи!
В index.jsp вывод с
есть, что не так не знаю
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
Могу кинуть код на гите.
Controller
1. забрать айдишник с Ю-ай.
2. передать в метод апдейт.
3. создать сессию.
4. (!) по айдишнику сделать серч.
5. найденном объекте проапдейтить поля.
6. и тогда персистить заапдейченный объект.
как проверку, добав в хайбер show-sql = true и увидишь, как SQL улетает в базу. в данный момент — ты просто создаешь каждый раз новый объект вот этой строчкой:
session.persist(user);
если нужно рассказать больше — спрашивай.
// Retrieve session from Hibernate
Session session = sessionFactory.getCurrentSession();
// Retrieve existing user via id
User existingUser = (User) session.get(User.class, user.getId());
// Assign updated values to this user
existingUser.setName(user.getName());
existingUser.setAge(user.getAge());
existingUser.setIsAdmin(user.getIsAdmin());
// Save updates
session.save(existingUser);
\\\\\
Worbench ругался что path у меня был неправильный требовал C:\Windows\System32
Мой Path: Система->Переменные среды C:\Windows\System32;%JAVA_HOME%\bin;%M2_HOME%\bin
опять пару раз переустановил, даже удалил Totalcmd(кажеться после его установки начались эти непонятки), в настройках самой mySQl Workbench путь к Configuration File:
C:\Program Files\MySQL\MySQL Server 5.0\my.ini
У меня же после каждой переустановки создаеться такая директория
С:\Program Files%\MySQL\MySQL Workbench 6.3 CE\и файла my.ini я здесь не нахожу
Папки MySQL Server 5.0 у меня вообще нет
C:\Program Files\MySQL\MySQL Server 5.0\my.ini
на компе создался каталог тот же C:\Program Files\MySQL\MySQL Workbench 6.3 CE\ и где его искать этот файл млять
Давно здесь ничего не спрашивал все как то сам находил:
1)Как правильно указать версию БД, нашел пример подключения:
, а у меня версия 9.3.3 — cmd выдал на запрос PostgreSQL...>pg_config:
VERSION = PostgreSQL 9.3.3
никаких тире и цифр между ними нет. Подскажите как найти такой формат.
2)Выбрал crud-приложение: createdDate — дату создания чего она должна хранить, дату добавления нового пользователя илу еще что то?
3)Пейджинг — это несколько страниц в таблице с нумерацией что ли?
4)Скрипт для создания и наполнения тестовыми данными — можно ограничится 5-10 добавленными пользователями или же если пейджинг=true, то наполнять базу с помощью xml-файла?
1. Ищите конектор к MyQL maven (В задании указано какую ДБ использовать)
2. Да, дату добавления пользователя, те. создание записи в таблице
3. Смотри више, есть примеры пейджинга
4. можно ограничится.
В джаве это будет поле типа boolean, например, boolean admin;
В таблице можно писать словами да, нет или true, false
Ввод на форме лучше сделать чекбоксом: поставили галочку — юзер будет админ, не поставили — не будет.
Netbeans хорош для новичков и индусов (в Индии его 80%). Удивительно, раньше я считал себя украинцем, сейчас я «приплыл в родную гавань», а оказывается, что я ИНДУС
:)
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
в чем может быть причина? Томкат устанавливал по пунктам из этой статьи javaway.info/primer-raboty-s-tomcat-i-servletami/
В виндовс, если мне не изменяет склероз, в трее внизу возле часов есть значок томката. При нажатии выходит меню и один из пунктов — остановить томкат.
Через Manager App, например, можно деплоить приложения «вручную».
Что за ошибка и как исправить (может кто сталкивался):
HTTP Status 500 — The absolute uri: java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
спасибо.
stackoverflow
<%@ taglib uri=«java.sun.com/jsp/jstl/core» prefix=«c» %>
(или подобного)
но спасибо за ответ.
Как вариант, возможно проблема с версиями.
создать и написать заново? переписывал. всё тоже.
я и так собирал мавеном (не устанавливал, он интегрирован в idea 15).
JSTL добавлял в pom.xml в dependencies.
Если собрать заново, всё равно же нужно будет зависимости снова прописывать, и это ничем не отличается от предыдущего варианта…
так как нифига не знал про все эти технологии до этого, то гуглю и пытаюсь сделать по анологии ...
после добавления в index.jsp
строки
<%@ taglib uri=«java.sun.com/jsp/jstl/core» prefix=«c» %>
(или подобной)
после обновления localhost:8080/ там появляется уже не то, что нужно, а ошибка
HTTP Status 500 — The absolute uri: java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
несколько дней уже сижу с ней, что-то пробую… уже качал несколько разных томкатов, какие-то файлы, библиотеки, прописывал зависимости какие в нете находил… пока не осилил… уже такая каша в голове, что запулся совсем…
до этого работал с Idea Community…
на их сайте написано что для web (вроде как) нужен Ultimate.
Обязательна ли для web Ultimate версия, или она более «подходящая» для web? Значит ли это, что на Community web проект сделать невозможно? или просто сложнее? или не сложнее, а просто у меня проблемы с настройками различных версий технологий.
спасибо.
Хочу принять участие в онлайн-стажировке. Если у меня подписка Unlimited. Мне нужно еще раз оплачивать доступ ко всем уровням, что бы принять участие в проекте?
Мои Подписки — Улучшить
Теперь моя подписка действует до 01.01.2017.
30-го уровня я достиг 19.02.2016.
Подскажите пожалуйста, если я не попаду в осеннюю группу, я смогу ещё участвовать в наборе в зимнюю группу в конце ноября?
И ещё вопрос, если я отправлю тестовое задание и оно не пройдёт проверку, могу ли я доделать его и отправить ещё раз до 31 августа или отправлять можно только один раз?
Да сможете участвовать в наборе на зимнюю стажировку.
Да, можете доделать и отправить еще раз.
мне одному кажется странным, что тестовое задание на темы и применение технологий, с которыми я (и, думаю, многие другие) ещё вообще не знаком?… или я их все пропустил? или это опять задание на умение гуглить?… обучение временами превращается просто в издевательство… (
Прошел 4е туториала + установить и разобраться с настройками Tomcat, Maven, Spring, MySQL… — где-то три дня (естественно все эти слова слышал впервые). После чего полной ясности так и не появилось.
+ слепить все в кучу — еще день. Как ни странно приложение работает, хоть до конца и не понял как…
Где-то часов 30 просидел в сумме.
я уже тупо неделю сижу, пытаюсь слепить всё в кучу… пока не разобрался ))
Просто я как раз из числа тех, кто пытается «впрыгнуть на подножку уходящего поезда» и моя когда-то «Безлимитная» подписка истекает в ноябре. Будет обидно, если после отправки выполненного задания наткнусь на ответ «мест нет».
Можете подсказать, когда решения выгружаются для проверки? В момент отправки студентом ссылки или непосредственно перед проверкой? То есть будет ли проверяться мое решение в том виде, в каком оно было при отправке ссылки через страницу «Реальный проект» или в том виде, в котором оно есть сейчас?
Пытаюсь сделать пейджинг, вот этот кусок кода не срабатывает:
при том что pageNumber равен 1, первые две строки печатают на странице true, а ссылок не появляется. В дебаг-режиме тоже этот кусок проскакивается всегда. Уже всю голову сломал, весь SO перечитал — ничего похожего. У кого какие идеи есть?
Решение в том, что c:url ничего не отображает, а лишь делает ссылку. Далее эту ссылку надо еще использовать для отображения на странице. Пагинация побеждена! =)
Собственно вопрос — как создавать проект из шаблона как в видео?
я проходил туториал этого чувака. он захватывает все темы что нужно для этого задания, даже больше.
до этого вообще от слова Spring волосы на руках шевелились))
хочу сказать спасибо парням с обсуждения предыдущей стажировки. кто то из них кидал ссылку на него. вот теперь я передаю эстафету
он в основном дает направление с чего и куда. будет хорошее понимание перед началом стажиовки.
И второй вопрос. Достаточно ли заполнять тестовыми данными таблицу в БД, или нужно программно создавать сначала таблицу, а потом заполнять. Я имею ввиду для проверки.
2. достаточно написать скрипт который заполняет БД тестовыми данными.
Вроде как работает, но хотел еще пару дней на рефакторинг потратить.
При запуске startup.bat что-то очень быстро мелькает в открывшемся окне и пропадает, так что я не успеваю прочитать. ХЗ, отработало оно как надо или нет. Но открыть после этого в браузере localhost:8080 не удается («Попытка соединения не удалась»). Кто может подсказать, куда глянуть и где подкрутить? Использую apache-tomcat-9.0.0.M9. Операционка windows 10.
Ставьте пока Tomcat 8.
Инструкция по установке:
на офф. сайте
tomcat написан на java, поэтому просто удаляете
Спасибо)
Смотрел www.mkyong.com/spring-mvc/spring-mvc-checkbox-and-checkboxes-example/
Получилось только отображение значка, но результат заноситься по дефолту false
в контролере 5 реквестмаппингов типа
RequestMapping(value = "/users/add", method = RequestMethod.POST)
public String addUser(@ModelAttribute(«user») User user){
if(user.getId()==0){
this.userService.addUser(user);
}else {
this.userService.updateUser(user);
}
return «redirect:/users»;
Подозреваю если сюда добавить что-то, то надо будет менять дальше по цепочке в слое сервиса и дао.
Вообщем очень грустно.
смотрите еще в jsp, и в дао возможно там что то не так.
попробуйте запустить приложение в дебаге, и отловить на каком этапе у вас в бине юзер поле false
при запуске:
Error running Tomcat 7.0.69: Address localhost:1099 is already in use
при дебаге:
Error running index.jsp: Unable to open debugger port (127.0.0.1:59662): java.net.SocketException «socket closed»
<spring:message text=«Admin»/>
</form:label>
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
Очень надо попасть в осеннюю группу. Сейчас не знаю с чего и как продолжать так как задачьки пошли трудоёмкие и стоит ли ризон проходить все темы с25-30 уровень? Есть ли там хоть какая база для понимания? 10 книг в раре это конечно круто но 3 недели? Начинать углубляться в тэст задание без прохождения по порядку тех моих не пройденных лвлов? Поможет ли мне чаптер про JDBC из книги кати сиеры и берт бэйтся (готовился по ней к первой части оусиджипи)… Так как все равно вторая часть экзамена у меня запланирована на конец октября… Короче я потерялся и время поджимает, нервишки напрягаються… Хелп(:
Сори если есть ошибки я с 10 лет жыву в израиле.
Так что может успеешь, по крайней мере точно сделать сможешь, советую просто для экономии времени пользоваться гуглом, ищи примеры на твой текущий этап, повторяй у себя, потом переделывай под задание.
Мораль этой сказки такая, что важен не срок за который вы сделаете это тестовое задание и не скорость выполнение задач, а на сколько хорошо вы освоите требуемый материал! Так как стажировка нужна только для Вас! П.С. Я бы вам посоветовал отдельно еще HTML поучить. Рекомендуемые книги может и хороши для изучения материала, но на мой взгляд, на данном этапе только отберут у Вас время… лучше потом их почитать когда появятся вопросы на которые будут нужны ответы!
Удачи!