Курс переработан
Java-разработчик
Все, что нужно знать о современной Java разработке
27 декабря
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.
Подходит ли программа именно вам?
Менеджер поможет разобраться!
Какой результат вы получите?
Обучение состоит из 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
- Партнеры:
знаем потребности партнеров-работодателей и сможем напрямую рекомендовать студентов для рассмотрения в качестве кандидата. - Рекомендательное письмо:
предоставим лучшим выпускникам персональное рекомендательное письмо с печатью 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
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Проектные работы
Каждая ступень завершается финальным проектом, который предстоит защитить перед преподавателем. Практический опыт и портфолио проектов помогут вам произвести впечатление на собеседовании. Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Программа урока:
- Введение в Java и LibGDX.
- Создание интерактивной новогодней открытки.
- Реализация ваших идей.
- Завершение и запуск приложения.
Урок будет полезен тем, кто хочет:
- Начать изучать Java с нуля.
- Посмотреть, как на практике создаются Java-приложения.
- Узнать, как работать с двумерной графикой в Java.
- Получить опыт разработки графических приложений с использованием LibGDX.
В результате урока вы:
- Увидите, как пишется код и создаются программы на языке Java.
- Познакомитесь с фреймворком LibGDX и его применением для графических приложений.
- Сможете повторить все шаги и создавать подобные открытки на любую тематику.
- Получите практические навыки работы с графикой и интерактивностью в Java.
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Диплом о профессиональной переподготовке
OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности
Почему специализация выгоднее, чем отдельные курсы?
- Стоимость ниже, чем покупка курсов по отдельности
- Диплом о профессиональной переподготовке
- Расширенная опция помощи с трудоустройством
Java-разработчик
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Оставьте заявку и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно