Курс переработан
28 июня
Basic
15 месяцев
Онлайн
IntelliJ IDEA, Java Development Kit (JDK), Spring Framework, Hibernate, PostgreSQL, Apache Maven, Gradle, Docker, Kubernetes, Apache Kafka, RabbitMQ, JUnit, Postman, Jira.
Менеджер поможет разобраться!
Актуальные навыки, которые помогут начать и развиваться в профессии
Комплексная система, которая поможет получить выгодные офферы в перспективных проектах
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы оказываем помощь в вопросах карьеры на протяжении всего обучения и спустя полгода после его завершения.
2 занятия по 2 ак.часа в неделю
Доступ к записям и материалам остается навсегда
Вы пополните портфолио тремя разными проектами и сможете уверенно чувствовать себя на собеседованиях
Общайтесь с преподавателями голосом на вебинарах и в группе телеграм
На курсе предусмотрено менторское сопровождение в виде групповых разборов домашних заданий. Занятие по групповому разбору ДЗ с ментором проводится раз в месяц в рамках расписания курса.
Тема 1: Обзор курса. Введение в программирование на Java
Тема 2: Основы работы в GIT
Тема 3: Основы языка Java. Часть 1
Тема 4: Разбор практических примеров
Тема 5: Основы языка Java. Часть 2
Тема 6: Разбор практических примеров
Тема 7: Основы языка Java. Часть 3
Тема 8: Практический консольный проект
Тема 9: Консультация по ДЗ
Тема 1: ООП. Часть 1. Введение в ООП
Тема 2: ООП. Часть 2
Тема 3: Практика ООП. Работа со строками.
Тема 4: ООП. Часть 3
Тема 1: Исключения
Тема 2: Коллекции. Часть 1
Тема 3: Коллекции. Часть 2
Тема 4: Разбор алгоритмов
Тема 5: Java IO. Часть 1
Тема 6: Консультация по ДЗ
Тема 7: Работа с сетью
Тема 8: Основы многопоточности. Часть 1
Тема 9: Консольный сетевой чат. Часть 1
Тема 10: Консольный сетевой чат. Часть 2
Тема 11: Реляционные базы данных, SQL
Тема 12: JDBC
Тема 13: Консультация по ДЗ
Тема 14: Обобщения
Тема 15: Java IO. Часть 2
Тема 16: Основы многопоточности. Часть 2
Тема 17: Основы тестирования и логирования
Тема 18: Основы Web. Пишем простой http клиент и сервер. Часть 1
Тема 19: Основы Web. Пишем простой http клиент и сервер. Часть 2
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю и можно создать на основе знаний, полученных на курсе. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Консультация по ДЗ и проектной работе
Тема 2: Защита проектной работы
Тема 3: Карьерная консультация
Тема 4: Итоговое занятие
В этом модуле изучаются фундаментальные основы работы Java Virtual Machine (JVM) и "тонкие" аспекты языка Java. В результате обучения студент сможет достаточно подробно рассказать как выполняется Java программа и что проиходит "под капотом".
Тема 1: Подготовка к курсу
Тема 2: Дополнение к gradle, история изменения языка
Тема 3: QA и тестирование
Тема 4: Контейнеры и алгоритмы
Тема 5: Инструменты для преобразования контейнеров, unsafe, jmh
Тема 6: Аннотации
Тема 7: Lombok
Тема 8: Сборщик мусора
Тема 9: Java в Docker-е
Тема 10: Байт код, class-loader, инструментация, asm
Тема 11: Функциональное программирование в Java
В этом модуле рассматриваются принципы проектирования SOLID и паттерны проектирования GOF. В ходе выполнения Домашних Работ студент сможет на практике научиться применять паттерны проектирования и их комбинации.
Тема 1: Концепты проектирования ООП
Тема 2: Creational patterns
Тема 3: Behavioral patterns
Тема 4: Structural patterns
Этот блок посвящен вопросам взаимодействия java-приложения с внешним миром. Рассматриваются операции с файловой системой, механизмы сериализации/десериализации объектов. Большое внимание уделяется работе с реляционными базами данных. Подробно изучаются jdbc и Hibernate. При этом не забываем про noSQL. В качестве примера работы с noSQL рассматривается реактивное взаимодействие с MongoDb. Особое внимание уделяется разработке Web-серверов. Изучаем TomCat как пример контейнера war-приложений и Jetty - как встроенный web-сервер, учимся применять технологию web-сокетов. В качестве примера Dependency Injection изучаем Spring и Spring Boot.
Тема 1: Сериализация
Тема 2: NIO. Логирование
Тема 3: JDBC
Тема 4: Общие вопросы работы с СУБД, архитектура РСУБД
Тема 5: Hibernate
Тема 6: JPQL
Тема 7: Типы ссылок. Кэширование
Тема 8: No SQ
Тема 9: Web сервер
Модуль посвящен изучению основ Spring Framework. В этом модуле разберемся в принципах DI, IoC, поймем как это используется в Spring. Изучим как на технологиях Spring-а создать Web-приложение с базой данных.
Тема 1: Dependency injection
Тема 2: Spring Boot. Spring MVC
Тема 3: Asynchronous Web applications
Тема 4: Spring Data Jdbc
Этот модуль посвящен многопоточности в разных ее проявлениях. Начинаем изучение с разбора Java Memory Model, какова цель ее создания, что решается и как это использовать. Заканчиваем Completable Future. Начинаем разрабатывать многопоточные приложения и переходим к разработке многопроцессорных приложений - приложения, отдельные части которых работают на разных хостах. Чтобы понять как объединить такие приложения, изучаем блокирующие и неблокирующие сокеты (NIO).
Тема 1: Thread
Тема 2: JMM
Тема 3: Executors
Тема 4: Потокобезопасные коллекции
Тема 5: Многопроцессные приложения
Тема 6: Применение RabbitMQ
Тема 7: NIO
Тема 8: Netty
Тема 9: Реактивное программирование. Spring Webflux
Тема 10: Применение Kafka
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц, однако к защите надо разработать действующий прототип, который пояснит идею проекта. В процессе написания по проекту можно получить консультации преподавателей. Для достижения результата работа над проектом организуется в виде недельных итераций. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Студент может самостоятельно выбрать технологии из числа изученных на курсе и/или использовать что-то дополнительно. Примеры тем: - телеграм-бот - распределенный кэш - web сервер (разберите протокол) - socket сервер на NIO (как netty) - свой ORM - кэш для hibernate
Тема 1: Основы CI/CD
Тема 2: Знакомство с Kubernetes
Тема 3: Защита проектных работ
В данном модуле будут рассматриваться понятия и функциональности, на которых базируются все проекты Spring: Inversion of Control (Spring Context), аспектное программирование (Spring AOP), Spring Expression Language (SpEL). Слушатели смогут правильно и эффективно конфигурировать Spring-приложения различными средствами и способами, а также будет рассмотрена "чёрная магия" Spring Boot - автоконфигурации.
Тема 1: Введение в Spring Framework
Тема 2: Конфигурирование Spring-приложений
Тема 3: ЛикБез - Основы архитектуры ПО
Тема 4: AOP, Spring AOP
Тема 5: "Чёрная магия" Spring Boot
Тема 6: Продвинутая конфигурация (часть 1) - Scopes, Lifecycle
Тема 7: Продвинутая конфигурация (часть 2) - Conditionals, Events, тестирование
Тема 8: Разбор домашних заданий, QnA
В данном модуле будет рассмотрены проекты Spring для работы как с реляционными базами данных, так и с NoSQL базами данных. Spring JDBC, Spring ORM, Spring Data Repositories и, разумеется, работа с транзакциями. Помимо проектов Spring, участники смогут разбираться в особенностях различных баз данных, а также использовать специальные embedded-базы даных.
Тема 1: DAO на Spring JDBC
Тема 2: Основы ORM, JPA, Hibernate как провайдер JPA
Тема 3: JPQL, Spring ORM, DAO на основе Spring ORM + JPA
Тема 4: Транзакции, Spring Tx
Тема 5: "Белая магия" Spring Data: Spring Data JPA
Тема 6: SQL и NoSQL базы данных
Тема 7: Spring Data для подключения к нереляционным БД
Тема 8: Разбор домашних заданий, QnA
В данном модуле будут рассматриваться возможности Spring для разработки Web-приложений: Spring MVC и современный Reactive-ориентированный Spring WebFlux. Разумеется, будут рассмотрены популярные технологии View и разработка современных SPA-приложений. И, конечно, различные "плюшки" Spring Boot, максимально ускоряющие разработку Web-приложений.
Тема 1: Введение в Spring MVC, Spring MVC на Spring Boot
Тема 2: Spring MVC View
Тема 3: Современные приложения на Spring MVC
Тема 4: Reactor. Введение в реактивное программирование
Тема 5: Spring WebFlux
В данном модуле рассматриваются продвинутые проекты Spring, решающие специфичные задачи, связанные с авторизацией и аутентификацией, размещением сервисов в облаках и работой с БД, а также облегчающие создание больших монолитов и систем на микросервисной архитектуре.
Тема 1: Вебинар-собеседование
Тема 2: Spring Security: Архитектура
Тема 3: Spring Security: Механизмы аутентификации
Тема 4: Spring Security: Авторизация
Тема 5: Spring Security: ACL
Тема 6: Spring Batch
Тема 7: Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)
Тема 8: Spring Integration: Messages и Channels
Тема 9: Spring Integration: Endpoints и Flow Components
Тема 10: Монолиты vs. Microservices (Round 2), Spring Boot Actuator - must have в микросервисах
Тема 11: REST-клиенты, SOAP, Spring WebServices и клиенты к ним
Тема 12: Docker, оркестрация
Тема 13: Знакомство с Kubernetes
Тема 14: Облака, Mongo DB Atlas cluster, Spring Cloud
Тема 15: Spring Cloud Config, Spring Cloud Bus, Spring Cloud Service Discovery с Eureka, Ribbon и Feign
Тема 16: Zuul, Hystrix Circuit Breaker, Sleuth, Zipkin, Hystrix Dashboard, Secure Configuration Properties
Тема 17: Обзор дополнительных технологий Spring, быстрая разработка приложений
Тема 18: Применение RabbitMQ
Тема 19: Применение Kafka
Тема 20: Комплексный пример использования WebFlux и Kafka
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Проект должен быть сделан на основе Spring Boot, включать работу с DB с ипользованием Spring Data репозиториев и/или Spring JDBC. Проект должен иметь UI построенный на современных принципах разработки Web-приложений (AJAX и/или SPA). Приложение должно содержать механизмы аутентификации и авторизации с использованием Spring Security Асинхронные части могут быть реализованы с помощью Spring Integration. Пектные обработки, утилиты поддержки должны быть реализованы с помощью Spring Batch + Spring Shell. Проект должен быть cloud-ready. Примеры тем: - Онлайн-библиотека - Блог с админкой/регистрацией пользователей
Тема 1: Выбор темы и организация проектной работы
Тема 2: Защита проектных работ №1
Тема 3: Защита проектных работ №2
Каждая ступень завершается финальным проектом, который предстоит защитить перед преподавателем. Практический опыт и портфолио проектов помогут вам произвести впечатление на собеседовании. Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности
Стоимость обучения