Курс переработан
Java-разработчик
Все, что нужно знать о современной Java разработке
28 июня
Basic
15 месяцев
Онлайн
Для кого?
- Специализация подойдет всем желающим, кто хочет освоить новую профессию Java-разработчика с нуля
- Подойдет тем, кто еще не определился с языком программирования
- Для тех, кто работает сисадмином, тестировщиком, аналитиком или специалистом технической поддержки и хочет стать частью команды разработчиков
- Для тех, кто хочет с нуля освоить программирование для решения собственных задач
После обучения вы сможете:
- Создавать приложения на языке Java
- Работать с реляционными базами данных
- Разрабатывать серверные веб-приложения
- Сможете претендовать на позиции Middle Java Developer
Инструменты, которые освоите:
IntelliJ IDEA, Java Development Kit (JDK), Spring Framework, Hibernate, PostgreSQL, Apache Maven, Gradle, Docker, Kubernetes, Apache Kafka, RabbitMQ, JUnit, Postman, Jira.
Подходит ли программа именно вам?
Менеджер поможет разобраться!
![Оставить заявку](https://webcf.waybackmachine.org/web/20240424021016im_/https://cdn.otus.ru/media/public/fe/09/Banners_JavaSpec_320x400-215956-fe090a.png)
Какой результат вы получите?
Обучение состоит из 3-х ступеней, каждая длится 5 месяцев
- Для тех, кто хочет с нуля освоить профессию Java-разработчик
- Познакомитесь с эко-системой Java и настроите окружение
- Освоите синтаксис Java и напишите свою первую программу
- Освоите базовые алгоритмы и принципы архитектуры приложений
- Научитесь использовать Docker и взаимодействовать с сетями, базами данных
- Освоите фундаментальные основы Java Virtual Machine и "тонкие" аспекты языка Java
- Рассмотрите принципы проектирования SOLID и паттерны проектирования GOF
- Разберете операции с файловой системой, механизмы сериализации/десериализации объектов
- Уделите внимание работе с реляционными БД. Подробно изучите jdbc и Hibernate
- Поймете как создавать многопоточные и многопроцессные приложения
- Разработаете серверное приложение на Java
- Узнаете о понятиях и функциональности на которых базируются все проекты Spring
- Рассмотрите проекты Spring для работы с реляционными БД и с NoSQL базами данных, а также Spring JDBC, Spring ORM, Spring Data Repositories и работой с транзакциями
- Научитесь использовать возможности Spring для разработки Web-приложений
- Разберете продвинутые проекты Spring, связанные с авторизацией и аутентификацией, размещением сервисов в облаках и работой с БД
Авторская программа
Актуальные навыки, которые помогут начать и развиваться в профессии
Необходимые знания
Не обязательно иметь профильные знания. Программа подходит для новичков
Помощь с трудоустройством
Комплексная система, которая поможет получить выгодные офферы в перспективных проектах
Трудоустройство
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы оказываем помощь в вопросах карьеры на протяжении всего обучения и спустя полгода после его завершения.
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
- Карьерные мероприятия в сообществе
Публичный разбор резюме
Публичное прохождение собеседования и воркшопы
Java Developer
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю
Доступ к записям и материалам остается навсегда
Три проектные работы
Вы пополните портфолио тремя разными проектами и сможете уверенно чувствовать себя на собеседованиях
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах и в группе телеграм
Персональный ментор
На специализации предусмотрено менторское сопровождение в виде групповых разборов домашних заданий. Занятие по групповому разбору ДЗ с ментором проводится раз в месяц в рамках расписания.
Программа
1 ступень
Основы языка Java
Тема 1: Обзор курса. Введение в программирование на Java
Тема 2: Основы работы в GIT
Тема 3: Основы языка Java. Часть 1
Тема 4: Разбор практических примеров
Тема 5: Основы языка Java. Часть 2
Тема 6: Разбор практических примеров
Тема 7: Основы языка Java. Часть 3
Тема 8: Практический консольный проект
Тема 9: Консультация по ДЗ
Объектно-ориентированное программирование
Тема 1: ООП. Часть 1. Введение в ООП
Тема 2: ООП. Часть 2
Тема 3: Практика ООП. Работа со строками.
Тема 4: ООП. Часть 3
Стандартная библиотека языка Java
Тема 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: Итоговое занятие
2 ступень
Язык и платформа Java
В этом модуле изучаются фундаментальные основы работы 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
Модуль посвящен изучению основ 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: Защита проектных работ
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
Разработка Web-приложений
В данном модуле будут рассматриваться возможности 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 проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Диплом о профессиональной переподготовке
OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности
![](/web/20240424021016im_/https://otus.ru/_next/static/images/img/otus-diploma-384b80a9982da08b574eb04d3f31c0e9.jpg)
Почему специализация выгоднее, чем отдельные курсы?
- Стоимость ниже, чем покупка курсов по отдельности
- Диплом о профессиональной переподготовке
- Расширенная опция помощи с трудоустройством
Java-разработчик
Стоимость в рассрочку
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Оставьте заявку и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно