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
Fry
41 уровень
Я правильно понял, следующая стажировка начнётся в декабре месяце?
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
Важно
Если в Моя Страница -> Реальный проект написано: «Поздравляем. Вы зарегистрированы на реальный проект. Ждите дальнейшие инструкции на указанный Вами имейл (скайп)» и Вам ничего не пришло на почту, пишите мне в личку.
Просто дерево папок с файлами? Если нет, то можно какой-то образец?
Спасибо.
Это значит последний день для отправки 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% информации вы просто не будете понимать.»
И я в большой печале — неужели я такой тупой что не могу справится даже с тестовым, что там дальше говорить
Если не получится, покупай бубен.