Разработчик на Spring Framework

Курс о разработке веб-приложений на Spring, о фреймворках и вспомогательных технологиях Spring.
Зачем нужно тестирование?

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

5 месяцев

Начало

30 ноября

Общая стоимость

48 000 ₽

В месяц

12 000 ₽

Хочу дешевле
Общая стоимость
48 000 ₽
В месяц: 12 000 ₽
Продолжительность
5 месяцев
4 часа в неделю
Начало занятий
30 ноября
Что даст вам этот курс

  • Умение «выживать» в проектах, где есть Sping.

  • Знание современных возможностей Sping.

  • Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке.

  • Умение быстро проходить путь от идеи до production-grade.

  • Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5).


Уникальная авторская программа


6 работодателей пригласят лучших выпускников на собеседования

Большое число проектов Spring, затрагивающих все сферы разработки

Изучается современный Reactive стек Spring, который не рассматривается нигде
Преподаватели
Юрий Дворжецкий
Сергей Петрелевич
Java-разработчик в Технологическом центре Deutche Bank
Ведущий разработчик в Luxoft, кандидат физико-математических наук.
Программирует с начальных классов.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript, как классического, так и современного, во всех его проявлениях.

Сейчас разрабатывает Web-приложения c UI на React и Angular*.
В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

Занимался разработкой "коробочных" систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Интститут им. Носова, специальность — промышленная электроника.

Компании: Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк. Интересы: JavaScript, многопоточное программирование, сборщики мусора в Java.
Преподаватели
Юрий Дворжецкий
Ведущий разработчик в Luxoft, кандидат физико-математических наук.
Программирует с начальных классов.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript, как классического, так и современного, во всех его проявлениях.

Сейчас разрабатывает Web-приложения c UI на React и Angular*.
Сергей Петрелевич
Java-разработчик в Технологическом центре Deutche Bank
В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

Занимался разработкой "коробочных" систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Интститут им. Носова, специальность — промышленная электроника.

Компании: Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк. Интересы: JavaScript, многопоточное программирование, сборщики мусора в Java.
Минимальные знания
  • Java Basics
  • Multithreading (позже)
  • Основы HTML/HTTP/JS
  • Основы SQL
  • Maven или Gradle
Процесс обучения
Обучение выстроено в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек. Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.
Необходимое время: 4 часа на занятия и 4-8 часов на домашнюю работу в неделю.
Программа обучения
Модуль 1
Введение
Модуль 2
Работа с базами данных
Модуль 3
Разработка Web-приложений
Модуль 4
"Около" и "Дзен"
Модуль 5
Проектная работа
Введение
В данном модуле будут рассматриваться понятия и функциональности, на которых базируются все проекты Spring: Inversion of Control (Spring Context), аспектное программирование (Spring AOP), Spring Expression Language (SpEL).

Слушатели смогут правильно и эффективно конфигурировать Spring-приложения различными средствами и способами, а также будет рассмотрена "чёрная магия" Spring Boot - автоконфигурации.
Введение в Spring Framework
Слушатели смогут ориентироваться в проектах Spring,
проникнуться IoC и использовать его при написании кода, конфигурировать контекст и Spring Beans в приложении.
Домашние задания: 1
1 Программа по проведению тестирования студентов
Конфигурирование Spring-приложений
Слушатели смогут научиться конфигурировать Spring-приложения в разных стилях, пользоваться Spring Expression Language, конфигурировать приложения c помощью .properties/YAML файлов.
Домашние задания: 1
1 Добавить файл настроек в приложение для тестирования, Annotation- + Java-based конфигурация приложения
AOP, Spring AOP
Слушатели смогут познакомиться с аспектно-ориентированным программирование для создания crosscutting функциональностей в приложении с помощью Spring AOP. И, конечно, слушатели разберутся на чём базируются остальные фреймворки Spring.
"Чёрная магия" Spring Boot
По окончанию данного модуля слушатели смогут максимально быстро создавать production-grade standalone Spring-приложения с помощью Spring Boot, научатся писать автоконфигурации и использовать существующие и разрабатывать собственные Spring Boot "starters".

Также слушатели ознакомятся со многими возможностями Spring Boot для различных слоёв, функциональностей и технологий.
Домашние задания: 1
1 Перенести приложение на Spring Boot
Продвинутая конфигурация Spring-приложений
По окончанию данного занятия слушатели смогут использовать Best Practiсes для конфигурирования Spring-приложений, максимально эффективно использовать анннотации конфигураций.
Домашние задания: 1
1 Перевести приложение для проведения опросов на Spring Shell
Работа с базами данных
В данном разделе будет рассмотрены проекты Spring для работы как с реляционными базами данных, так и с NoSQL базами данных.

Spring JDBC, Spring ORM, Spring Data Repositories и, разумеется, работа с транзакциями.

Помимо проектов Spring, участники смогут разбираться в особенностях различных баз данных, а также использовать специальные embedded-базы даных.
DAO на Spring JDBC
Слушатели смогут ориентироваться в архитекрутных паттернах, свзяанных с работой с БД.
Слушатели смогут эффективно использовать Spring JDBC для разработки DAO в приложении.
Домашние задания: 1
1 Создать приложение хранящее информацию о книгах в билиотеке
Основы ORM, JPA, Hibernate как провайдер JPA
По окончанию этого занятия слушатели смогут эффективно применять JPA для описания маппинга классов-entities на таблицы реляционной БД.
Также слушатели смогут использовать Hibernate, как провайдера JPA для подключения к БД.
JPQL, Spring ORM, DAO на основе Spring ORM + JPA
По окончанию данного модуля слушатели смогут разрабатывать ORM DAO в Spring-приложении с помощью Spring ORM + JPA + Hibernate (в качестве провайдера JPA).

Также слушатели узнаю про JPQL (аналог HQL).
Домашние задания: 1
1 Переписать приложение для хранения книг на ORM
Транзакции, Spring Tx
Слушатели погрузятся в теорию транзакций и поймут все особенности транзакций.
Также слушатели смогут использовать декларативное и императивное управление транзакциями в Spring-приложениях с помощью Spring Tx.
"Белая магия" Spring Data: Spring Data JPA
После данного занятия слушатели узнаю про набор проектов Spring Data и понятие репозитория, которое вводит Spring Data.

Также слушатели научатся использовать мощную "белую магию" Spring Data ORM для создания ORM DAO на основе JPA.
Домашние задания: 1
1 Билиотеку на Spring Data JPA
SQL и NoSQL базы данных
По окончанию данного семинара слушатели начнут разбираться в особенностях реляционных и различных нереляционных (NoSQL) баз данных.

Также слушатели научатся правильно выбирать NoSQL БД для решения соответствующих задач.
Spring Data для подключения к нереляционным БД
После данного занятия слушатели смогу разрабатывать DAO, хранящие данные в нереляционных БД с помощью других Spring Data проектов.
Домашние задания: 1
1 Использовать MogoDB и spring-data для хранения информации о книгах
Разработка Web-приложений
В данном модуле будут рассматриваться возможности Spring для разработки Web-приложений: Spring MVC и современный Reactive-ориентированный Spring WebFlux.

Разумеется, будут рассмотрены популярные технологии View и разработка современных SPA-приложений.

И, конечно, различные "плюшки" Spring Boot, максимально ускоряющие разработку Web-приложений.
Введение в Spring MVC, Spring MVC на Spring Boot
Слушатели смогут ориентироваться в архитектуре MVC и Spring MVC, создавать простые классические веб-приложения на основе Spring MVC и Spring Boot.
Spring MVC View
По окончании данного занятия слушатели смогут разрабатывать View в классических Web-приложениях, как с использованием JSP, так и с помощью современных технологий: Thymeleaf, Freemarker, и т.д.
Домашние задания: 1
1 CRUD приложение с Web UI и хранением данных в БД
Современные приложения на Spring MVC
Слушатели смогут создавать современные приложения (основанные на AJAX архитектуре и SPA-приложения).
Ну и, конечно, после данного занятия слушатели смогут создавать контроллеры всех сортов и мастей для решения большого спектра задач в веб-приложениях.

А также слушатели познакомятся с высокоуровневым WebFlow для описания Web-приложений.
Домашние задания: 1
1 Переписать приложение с использованием AJAX и REST-контроллеров
Reactive Stack
В данном модуле слушатели узнают, что такое Reactive программирование и познакомятся со Spring Reactive Stack для разработки веб-приложений.
Spring WebFlux
После данного занятия слушатели смогу создавать современные Reactive Web-приложения с помощью Spring WebFlux.
Домашние задания: 1
1 Использовать WebFlux
"Около" и "Дзен"
В данном модуле рассматриваются продвинутые проекты Spring решающие специфичные задачи, связанные с авторизацией и аутентификацией, размещения сервисов в облаках и работой с БД, а также облегчающие создание больших монолитов и систем на микросервисной архитектуре.
Spring Security: Архитектура
По окончанию занятия слушатели разберутся что такое аутентификация и авторизация, разберутся в архитектуре Spring Security, и смогут настроить HTTP Basic Auth аутнетификацию.
Spring Security: Механизмы аутентификации
По окончанию занятия слушатели смогут внедрять в приложение любой механизм аутнетификации.
Домашние задания: 1
1 В CRUD Web-приложение добавить механизм аутентификации
Spring Security: Авторизация
После занятия пользователи смогу внедрять в приложение различные механизмы авторизации - на основе URL, методов сервисов.
Spring Security: ACL
После прохождения данного модуля слушатели научатся внедрять в приложение безопасность на основе доменных сущностей: ACLs
Домашние задания: 1
1 Ввести авторизацию на основе URL и/или доменных сущностей
Reactive Spring Data
По окончанию данного модуля слушатели научаться использовать Reactive-версию Spring Data репозиториев, и, наконец, полноценно использовать Reactive Stack Spring.
Spring Batch
Слушатели смогут использовать всю мощь Spring Batch, узнают когда он необходим проекту и почему он нужен не только для больших проектов.
Домашние задания: 1
1 Разработать процедуру миграции данных из реляционного хранилища в NoSQL или наоборот
Spring Integration: Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)
По окончании данного модуля слушатели узнают два похода к разработке Enterprise-приложений - монолиты и микросервисы.
Узнают, какие проблемы возникают при создании монолитов, что такое Messaging и Enterprise Integration Patterns (EIP) и где здесь Spring Integration.
Spring Integration: Messages и Channels
Слушатели узнают различные семантики каналов, все сорта различных каналов и где они используются.
Также слушатели узнают о сообщениях, которые передаются в каналах и встроенный DSL для настройки связей в Spring Integration.
Также слушатели узнают про базовые Endpoints и Flow Components.
Домашние задания: 1
1 Реализовать обработку доменной сущности через каналы Spring Integration
Spring Integration: Endpoints и Flow Components
Слушатели также узнают про другие Endpoints и Flow Components и смогут разрабатывать сложные Enterprise-приложения c почти любой интеграцией.
Spring Boot Actuator: Монолиты vs. Microservices (Round 2), Must have в микросервисах
На данном занятии слушатели будут рассматривать возможности Spring Boot Actuator для создания production-grade приложений и микросервисов, а потом будут долго отходить от таких возможностей и изобилия.

Также в данном разделе будет рассмотрен HATEOAS подход для разработки REST-сервисов.
Домашние задания: 1
1 Использовать метрики, healthchecks и logfile к приложению
SOAP, Spring WebServices и клиенты к ним
После занятия слушатели овладеют одним из самых простых способов создания SOAP-сервисов и клиентов к ним Spring WebServices, ну и, конечно будет рассмотрены SOA и SOAP.
Docker, оркестрация, облака, облачные хостинги
По окончании данного занятия слушатели смогут разбираться в вышеперечисленных словах, а также разбираться в современных принципах построения облачных систем.
Домашние задания: 1
1 Обернуть приложение в docker-контейнер
Spring Cloud: Config Server, Service Registry, интеграция в облака
Слушатели научаться пользоваться возможностями Spring для интеграции с облаками: Config Server, Service Registry, Docker/Kubernates/AWS/Azure best-practices.
Spring Cloud Data Flow, Hystrix Circuit Breaker
Слушатели смогут узнать как строятся огромные системы на Spring с использованием Spring Cloud Data Flow.

Также будет рассмотрен популярный фреймворк для использования внешних систем и ресурсов - Hystrix (+Hystrix Javanica) и его интеграция со Spring.
Домашние задания: 1
1 Обернуть внешние вызовы в Hystrix
Обзор дополнительных технологий Spring, выбор архитектуры и технологий
По окончанию занятия слушатели познакомятся с другими проектами Spring для создания приложений.

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

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Проект должен быть сделан на основе Spring Boot, включать работу с DB с ипользованием Spring Data репозиториев и/или Spring JDBC.
Проект должен иметь UI построенный на современных принципах разработки Web-приложений (AJAX и/или SPA).
Приложение должно содержать механизмы аутентификации и авторизации с исопльзованием Spring Security
Асинхронные части могут быть реализованы с момощью Spring Integration.
Пектные обработки, утилиты поддержки должны быть реализованы с помощью Spring Batch + Spring Shell.
Проект должен быть cloud-ready.

Примеры тем:
Онлайн-билиотека.
Блог с админкой/регистрацией пользователей.
Расписание занятий
Другие группы
Вторник и пятница
20:00—21:30
Группа: Spring-2018-06
Подглядеть
Веб-приложения и микросервисы на Spring Boot 2.0
Юрий Дворжецкий
Видеоматериалы по теме
День открытых дверей
21 июня в 20:00
Java-разработчик
Ирина Гаранина, тимлид команды разработки
После обучения вы

  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, презентации, примеры кода);

  • приобретете практический опыт работы с актуальными фреймворками и технологиями Spring;

  • получите сертификат об окончании курса;

  • сможете создавать как самостоятельные проекты, так и в большие коммерческие приложения в команде;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

Выпускной проект
Проектная работа по Spring Framework распределена по всему сроку обучения, хотя может быть сделана и в последний месяц. Она создается на основе знаний, полученных на курсе. Готовый проект станет примером кода, который можно показывать потенциальным работодателям. В процессе написания вы можете консультироваться с преподавателями.

Технические требования к выпускному проекту по Spring Framework

  • проект должен быть сделан на основе Spring Boot, а также включать работу с DB с использованием Spring Data репозиториев и/или Spring JDBC;

  • проект должен иметь UI, построенный на современных принципах разработки Web-приложений (AJAX и/или SPA);

  • создаваемое в проектной работе приложение должно содержать механизмы аутентификации и авторизации с использованием Spring Security;

  • асинхронные части рекомендуется реализовывать с помощью Spring Integration;

  • пакетные обработки и утилиты поддержки должны быть реализованы с помощью Spring Batch+Spring Shell;

  • проект должен быть CloudReady.


Примеры тем проекта

  • онлайн-библиотека;

  • блог с админкой/регистрацией пользователей.

Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик на Spring Framework»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик на Spring Framework»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
Общая стоимость
48 000 ₽
В месяц: 12 000 ₽
Продолжительность
5 месяцев
Начало занятий
30 ноября
Мероприятия
21 июня в 20:00
Разработчик на Spring Framework
День открытых дверей
Провел: Юрий Дворжецкий
5 июня в 20:00
Веб-приложения и микросервисы на Spring Boot 2.0
Открытый вебинар
Провел: Юрий Дворжецкий