Enterprise
Java-разработчик
Старт 26.09 (расписание)
либо индивидуально

Первое занятие бесплатно
?

Top

Enterprise
Java-разработчик

?

Разработка Spring 5/JPA enterprise-приложения c авторизацией на стеке Maven, Spring MVC, Security, JPA(Hibernate), REST, Bootstrap, jQuery, PostgreSQL/HSQLDB

Стажировка Spring 5/JPA Enterprise (Topjava)

Возможно ты уже видел известное видео Java-чемпиона Якова Фaйна Как стать профессиональным Java-разработчиком. Не надо устраиваться на работу как Junior. Получи опыт работы в реальном Spring/JPA Enterprise проекте!

Разработка полнофункционального Spring 5/JPA enterprise-приложения c авторизацией и правами доступа на основе ролей на самом востребованном Java стеке: Maven, Spring MVC, Security, JPA(Hibernate), REST(Jackson), Bootstrap (css,js), datatables, jQuery + plugins, Java 8 Stream and Time API, сохранением в базах данных PostgreSQL и HSQLDB и деплоем в облачный сервис Heroku.

Отзывы реальных участников (более 160)
Демо разрабатываемого приложения

Структура проекта

Требования к участникам:

Некоторый опыт программирования на Java: предполагается, что вы уже знаете, что такое классы, конструкторы, аннотации, анонимные классы, исключения и пр. Желательно знание сервлетов. Мы начинаем использовать их на первом занятии, кратко повторяя основы. Желательно знание JDBC/SQL (на уровне Select/Update/Delete), самых основ JavaScript, HTML. Весь "Enterprise": Maven, Git (в том объеме, который нам нужен), Spring, Hibernate, REST даются с азов.

Стажировка ведется по готовым материалам: видео, тематические ресурсы, проект, патчи, подобно вступительному занятию. Каждый четверг производится рассылка новых материалов, обновления к проекту (патчи) и домашннее задание. Мы последовательно разрабатываем приложение с разбором кода и теоретическим материалом. Все домашние задания подобраны по темам занятия, требуют реализации функциональности, схожей с пройденным на занятии и являются частью проекта. Разбор домашних заданий происходит в начале каждого урока. Вопросы и обсуждение занятий и домашних заданий, общение на разные темы происходит в различных каналах группы проекта (используем мессенджер Slack). Начиная с 4-го занятия, участники разрабатывают собственный выпускной проект на стеке Maven/ Spring MVC, Security/ Hibernate/ REST, ревью которого входит в участие с проверкой. На заключительном занятии каждый участник деплоит свой проект из GitHub в облачный сервис Heroku.

Пример 7-го занятия TopJava, некоторые видео открыты.

  • Основное внимание будет уделяться способам решения многочисленных проблем разработки в Spring 5/JPA, а также структурному (красивому и надежному) кодированию и архитектуре приложения.
  • Разработка ведется на "the number one IDE IntelliJ IDEA Ultimate". В начале проекта выдаются персональные лицензии на 6 месяцев (согласно политике JetBrains купон выдается только один раз). После истечения лицензии дается дополнительная скидка 25% на продление подписки.
  • Несмотря на относительно небольшой размер, приложение разрабатывается с нуля как большой проект (например, мы используем кэш 2-го уровня Hibernate, настраиваем Jackson для работы с ленивой загрузкой Hibernate, делаем конверторы для типов LocalDateTime (Java 8 time API). Разбираются архитектурные паттерны: слои приложения и как правильно разбивать логику по слоям, когда нужно применят Data Transfer Object. На выходе получается не учебный проект, а хорошо маштабируемый шаблон для большого проекта на всех пройденных технологиях.
  • Большое внимание уделяется деталям: популяция базы, использование транзакционности, тесты сервисов и REST контроллеров (в проекте более 100 JUnit тестов!), насторойка EntityManagerFactory, выбор реализации пула коннектов, кэширование на уровне Hibernate и приложения. Особое внимание уделяется работе с базой: через Spring JDBC Template, Spring ORM и Spring Data Jpa.
  • Используются самые востребованные на сегодняшний момент фреймворки: Maven, Spring 5, Hibernate 5.2, Ehcache 3.x, библиотека логирования logback, реализующая SLF4J, повсеместно используемый Bootstrap 4 и jQuery.
  • Код проекта постоянно рефакторится: появились настройки пользователя, сохранения собственных типов в Hibernate, модальные окна bootstrap, переключение локали, JsonView и Validation groups, сильно уменьшено количество и упрощена работа с java script. Появилась логика фильтрации таблицы и сброс фильтра. В каждом уроке добавляются ответы на ваши вопросы по занятию, дополнительные домашние задания и подсказки по выполнению домашних заданий. Проект мигрировал на Servlet API 4.0/Tomcat 9.x, JDK 11/12, JUnit 5, Spring 5, Ehcache 3.x.

    История изменений проекта

Видеообзор стажировки Topjava

Стоимость за ВСЮ стажировку 12 недель:

Без проверки
домашних заданий

10200 руб
  • Доступ ко всем материалам занятий
  • Ведение enterprise-проекта
  • Домашние задания к каждому занятию
  • Подробный видео-разбор решений домашних заданий
  • Большой чат в Slak для общения и обмена опытом (на каждое занятие и тему- свой канал)
  • Ответы на все вопросы и помощь с проектом

С проверкой
домашних заданий
и ревью
выпускного проекта

19950 руб

Ревью кода позволит увидеть свои ошибки в стиле, структурах данных, алгоритмах и кодировании. Это самый эффективный способ научиться программировать.

Акция!

Получи скидку при оплате вместе с MasterJava!

TopJava c ревью домашних заданий и выпускного проекта
+ Многомодульный Maven проект (MasterJava) без проверки ДЗ

Всем участникам предоставляются:

Специальные цены участника на все проекты!

Общение с нашими выпускниками в специальной группе мессенджера Slack

Единоразовый 6-месячный купон на лучшую среду Java-разработки IntelliJ IDEA Ultimate

После прохождения курса – сертификат об окончании

Сертификаты и Дипломы государственного образца

В конце обучения выдаются электронные сертификаты об окончании. Образцы сертификатов:

Дополнительно

Институт переподготовки и повышения квалификации выдает нашим слушателям, успешно прошедшим стажировку TopJava и заключившим отдельный образовательный договор, Дипломы государственного образца по специальности "Enterprise Java-разработчик":

Результаты опроса выпускников:


Расписание (следующий поток в конце января)

  • Осваиваем Java Enterprise. Трудоустройство. Ответы на вопросы.
  • Системы управления версиями. Git.
  • Работа с проектом (выполнять инструкции)
  • Домашнее задание (HW0 + Optional)
  • Замечания к HW0
  • Разбор домашнего задания вступительного занятия (вместе с Optional)
  • Обзор используемых в проекте технологий. Интеграция ПО
  • Maven
  • WAR. Веб-контейнер Tomcat. Сервлеты
  • Логирование
  • Уровни и зависимости логгирования. JMX
  • Домашнее задание 1-го занятия (HW1 + Optional)
  • Разбор домашнего задания вступительного занятия (вместе с Optional)
  • Обзор используемых в проекте технологий. Интеграция ПО
  • Maven
  • WAR. Веб-контейнер Tomcat. Сервлеты
  • Логирование
  • Уровни и зависимости логгирования. JMX
  • Домашнее задание 1-го занятия (HW1 + Optional)
  • Разбор домашнего задания HW1 + Optional
  • Библиотека vs Фреймворк. Стандартные библиотеки Apache Commons, Guava
  • Слои приложения. Создание каркаса приложения
  • Обзор Spring Framework. Spring Context
  • Пояснения к HW2. Обработка Autowired
  • Домашнее задание (HW2 + Optional)
  • Разбор домашнего задания HW2 + Optional
  • Жизненный цикл Spring контекста
  • Тестирование через JUnit
  • Spring Test
  • Базы данных. Обзор NoSQL и Java persistence solution без ORM
  • Настройка Database в IDEA
  • Скрипты инициализации базы. Spring Jdbc Template
  • Тестирование UserService через AssertJ
  • Логирование тестов
  • Домашнее задание (HW3 + Optional)
  • Разбор домашнего задания HW3 + Optional
  • Методы улучшения качества кода
  • Spring: инициализация и популирование DB
  • Подмена контекста при тестировании
  • ORM. Hibernate. JPA
  • Поддержка HSQLDB
  • Домашнее задание (HW4 + Optional)
  • Обзор JDK 9/11. Миграция TopJava с 1.8 на 11
  • Разбор вопросов
  • Разбор домашнего задания HW4 + Optional
  • Транзакции
  • Профили Maven и Spring
  • Пул коннектов
  • Spring Data JPA
  • Spring кэш
  • Домашнее задание (HW5 + Optional)
  • Разбор домашнего задания HW5 + Optional
  • Кэш Hibernate
  • Spring Web
  • JPS, JSTL, internationalization
  • Динамическое изменение профиля при запуске
  • Конфигурирование Tomcat через maven plugin. Jndi-lookup
  • Spring Web MVC
  • Spring Internationalization
  • Домашнее задание (HW6 + Optional)
  • Разбор домашнего задания HW6 + Optional
  • Автогенерация DDL по модели
  • Тестирование Spring MVC
  • Миграция на JUnit 5
  • Принципы REST. REST контроллеры
  • Тестирование REST контроллеров. Jackson
  • jackson-datatype-hibernate. Тестирование через матчеры
  • Тестирование через SoapUi. UTF-8
  • Домашнее задание (HW7 + Optional)
  • Разбор домашнего задания HW7 + Optional
  • WebJars. jQuery и JavaScript frameworks
  • Bootstrap
  • AJAX. Datatables. jQuery
  • jQuery notifications plugin
  • Добавление Spring Security
  • Домашнее задание (HW8 + Optional)
  • Разбор домашнего задания HW8 + Optional
  • Spring Binding
  • Spring Validation
  • Перевод DataTables на Ajax
  • Форма login / logout
  • Реализация собственного провайдера авторицазии
  • Принцип работы Spring Security. Проксирование
  • Spring Security Test
  • Cookie. Session
  • Домашнее задание (HW9 + Optional)
  • Разбор домашнего задания HW10 + Optional
  • Локализация datatables, ошибок валидации
  • Защита от XSS (Cross Site Scripting)
  • Обработка ошибок 404 (NotFound)
  • Доступ к AuthorizedUser
  • Ограничение модификации пользователей
  • Деплой приложения в Heroku
  • Собеседование. Разработка ПО
  • Возможные доработки приложения
Позиционирование в резюме стажировки:
  • Обязательно убери из резюме любое упоминание Junior. Количество обращений возрастет на порядок.
  • После завершения проекта ты освоишь все заявленные в нем технологии - вставь их в квалификацию.
  • В разделе опыт работы (если нет коммерческого опыта) вставь: участие в разработке Spring 5/JPA enterprise-приложения c авторизацией и правами доступа на основе ролей на стеке: Maven, Spring MVC, Spring Security, REST (Jackson), Java 8 Stream API:
    • реализация сохранения в базы Postgres и HSQLDB на основе Spring JDBC, JPA(Hibernate) и Spring-Data-JPA
    • реализация и тестирование REST и AJAX контроллеров (более 100 JUnit тестов)
    • реализация клиента на Bootstrap (css/js), datatables, jQuery + plugins.
    • собственная доработка проекта

Делай упор не на обучение, а на участие в проекте. Выполнение домашних заданий это полноценное участие с написанием функционала по всем пройденным технологиям. На собеседовании смотрят не на то, что ты заканчивал, а на опыт и знания. Постарайся рассказать как можно больше о своем участии в проекте и пройденных технологиях и оффер тебе обеспечен. Ссылку на компанию можно поставить например в LinkedIn.

  • Если рассмотриваешь предложения по работе, подними в своем профиле этот флаг и обязательно заполни ссылку на резюме. Обновления нашей базы выпускников смотрят уже более 400 партнеров по трудоустройству (компании и индивидуальные рекрутеры). Проверь содержание "Информация для HR": по нему принимают решение, открывать резюме или нет.
  • Жду твой выпускной проект. С успешным выпускным проектом в большом городе не трудоустроится практически невозможно
  • Вступай в нашу группу участников Slack: каналы помощи с Java, отзывы о работодателях, обсуждение тестовых заданий, вакансии, цены на рынке труда, IT-события, интересные видео и многое другое.
  • Подпишитесь на рассылку вакансий под себя

После прохождения испытательного срока на первой работе жду твою историю успеха

Один из последних отзывов реальных участников

Всем привет!
В ИТ и в разработке ПО я не новичок, однако с миром Java не пересекался. Java Core изучал самостоятельно, но посмотрев на разгул фреймворков и спецификаций в Java EE, решил, что будет быстрее и эффективнее подписаться на какой-нибудь курс. Тут как раз встретился на просторах сети TopJava. Впечатлило количество технологий, при этом технологий востребованных на рынке – вывод делал по анализу вакансий на хедхантерских сайтах. Также плюсом TopJava виделось обучение через разработку веб проекта. Изучать программирование теоретически – бесполезная трата времени. Подписался на курс с проверкой заданий. Три месяца пролетели в активном кодинге и изучении нового. В целом остался очень и очень доволен.

Отмечу, что особенно понравилось:

  • Проект живой, в процессе выполнения заданий находились более актуальные и эффективные решения, и они включались в итоговую сборку.
  • Курс охватывает все основные аспекты разработки веб-приложения от БД до фронтенда, при этом демонстрируются подходы к решению задачи с помощью различных технологий. Например, работа с БД показана последовательно через Spring JDBC Template, JPA и Spring Data.
  • Не книжно-шаблонные, а реальные задачи и домашние задания дают понимание тонкостей и сложностей применяемых технологий

Считаю, что необходимо проходить этот курс с проверкой заданий. Код ревью дает обратную связь от разработчика с огромным опытом в Java. Всегда с большим интересом и нетерпением ждал проверок и получил массу полезных рекомендаций и комментариев по своему коду. Григорий, как истинный джавист, уделяет большое внимание качеству кода и рефакторингу. Подытоживая, рекомендую TopJava всем, кто готов погрузится в сложный, но интересный мир Java Enterprise. Для оптимальной отдачи от проекта нужна база в Java и программировании.

Григорию спасибо! Всем участникам проекта удачи и успеха!

Дмитрий Холодилов