ПРОГРАММА ОБУЧЕНИЯ
Программа была разработана практикующими экспертами в Java-разработке на основе реальных задач, с которыми работает Java-разработчик. Мы регулярно дополняем и улучшаем программу актуальными темами и технологиями.
Java Core + Spring
1,5 месяца

4 живые лекции - 8 часов
4 практиких занятия - 8 часов
3 групповые ментор-сессии - 4.5 часа
4 домашних задания
Видеоматериалы
Java Core
  • Java Core
Основы Java, которые часто пропускают. Разберем, что такое classloaders, и как сделать настоящий immutable класс.

  • Java Collections Framework
Подробно разберём внутреннее устройство коллекций, проанализируем алгоритмическую сложность, и научимся грамотно выбирать наиболее подходящую под конкретные виды задач.

  • Stream API
Освоим навыки работы с потоками: способы их создания, свойства и особенности реализации. И самое главное — научимся решать емкие задачи кратко и лаконично.

  • Garbage collector
Разберемся, как работают Garbage collectors, какими они бывают, чем отличаются друг от друга. Узнаем, почему может возникнуть утечка памяти и как с ней бороться.
Java Memory Model
  • Java Memory Model
Поговорим об atomicity, visibility и reorderinghappens-before. Разберем фундаментальные вещи, которые вводят энтропию в многопоточный код.

  • Инструменты сборки
Сравним две популярные системы сборки — Maven и Gradle. Научимся находить и правильно разрешать конфликты транзитивных зависимостей. Покажем, для чего в Gradle нужен wrapper и как написать свои таски.

  • Multithreading in Java + дополнительное задание
Расскажем, как делать правильный многопоточный конвейер и безопасно проводить финансовые операции в конкурентной среде.

  • Паттерны разработки
Расскажем, почему шаблоны проектирования — это важный инструмент разработчика, который помогает ему сэкономить время и сделать более качественное решение. Разберем виды шаблонов, как и когда их применять.
Spring
  • Spring Core
С помощью простых и наглядных примеров разберем, в чем преимущество принципа DI, и зачем нужен IoC контейнер. Попробуем три способа конфигурации Spring-приложения и три способа внедрения зависимостей. На практике разберемся с Bean Definitions, Bean Scopes и BeanPostProcessor.

  • Домашнее задание №1
Реализовать веб-сервер на Spring Boot по работе с сущностями Person и Department. Реализовать базовые CRUD операции над ними, написать unit-тесты и задеплоить его на Heroku.

  • Spring Boot
Узнаем исторические предпосылки появления Spring Framework и Spring Boot. Поймем, в чем их отличие и секрет успеха. Заглянем под капот Spring Boot и поработаем с автоконфигурацией. Более детально познакомимся с фазами инициализации контекста, жизненного цикла бинов, конфигурацией пользовательских настроек.

  • Домашнее задание №2
Реализовать загрузку property-файлов из файловой системы и из classpath в общий пул properties Spring.

  • Spring Modules
Узнаем, как Spring Data делает жизнь разработчика лучше, а Spring MVC ставит написание RESTful сервисов на поток. Мы вместе напишем приложение, которое ответит на эти и многие другие вопросы. А также убедимся на практике, что TDD — не пустой звук, а unit-тесты — неотъемлемая часть процесса разработки.

  • Тестирование + Spring Boot Test
Уделим внимание теме тестирования в целом и Spring Boot Test в частности. Посмотрим на пирамиду тестирования и определим место Java-разработчика в ней. Поговорим о разных типах тестов и наиболее распространенных ошибках при их написании.
Микросервисы
1,5 месяца

7 живых лекций - 14 часов
3 практиких занятия - 6 часов
4 групповые ментор-сессии - 6 часов
4 домашних задания
Видеоматериалы
Архитектура web приложений
  • Архитектура web-приложений
Разберемся, как строятся современные промышленные приложения, и научимся правильно соединять крупные компоненты наших систем между собой. Слои, протоколы, коннекторы — это лишь малая часть терминов, которые ты освоишь.

  • Сети
Поговорим о моделях OSI и TCP/IP, какие протоколы туда входят, и как это поможет разработчику. Подробно разберем HTTP и HTTPS. Также уделим время WebSockets и безопасности в сети: сертификаты, инфраструктура x.509, и как это все работает в Java.

Базы данных
  • Databases
SQL vs NoSQL vs NewSQL. Расскажем, как разобраться с многообразием баз данных, когда какую использовать. Дадим практические примеры, чтобы ты разобрался в CAP теореме и понял, как она может помочь в жизни.

  • SQL
Разберем SQL на продвинутом уровне. Расскажем о малоизвестных фичах, которые позволяю писать быстрые запросы. Также поговорим о грамотном проектировании БД.

  • Databases: Optimization
Научим оптимизировать базы данных для повышения производительности приложений. Расскажем о методах оптимизации, которые помогут ускорить запросы.

Kafka
  • Async Java with Kafka
Рассмотрим плюсы и минусы синхронного и асинхронного подхода, поговорим, когда и что применять. Разберем работу с очередями: какие преимущества они дают, какие сложности возникают при их использовании. Рассмотрим внутреннее устройство Apache Kafka, посмотрим на примере взаимодействие Producer – Consumer с помощью Spring Boot + Spring Kafka Client.

  • Kafka+Spring
Облачные технологии
  • Docker
Покажем, из чего состоит docker образ и как его создать. Разберем способы уменьшения размера образа: multistage билды, buildpacks, alpine base images. Покажем, как с помощью docker-compose развернуть десяток микросервисов за пару минут.

  • Kubernetes (K8S)
Обсудим предпосылки появления технологии оркестрации контейнеров, поговорим про устройство кластера Kubernetes. Рассмотрим основные абстракции: Pod, Service, Deployment, Volume, Secret и т.д. Разберем, как устроена overlay сеть и как опубликовать сервис "наружу" кластера. Узнаем, зачем нужен Ingress. Рассмотрим примеры деплоя сервисов в Manager кластер Kubernetes на DigitalOcean. В завершении лекции поговорим про шаблонизатор Helm как production-ready средство для работы с кластерами.

  • Istio
Поговорим про паттерн Service Mesh, обсудим проблемы, которые он решает. Разберем одну из реализаций Service Mesh – Istio, а также обсудим внутреннее устройство и новые типы абстракций: Gateway, VirtualService, DestinationRule и т.д. Как и в прошлой лекции, для демонстрации будем использовать Manager кластер Kubernetes в DigitalOcean, установим в него Istio и рассмотрим примеры настройки.
Процессы разработки
  • Agile, Scrum, Kanban
Разберем гибкие методологии. Расскажем, как правильно внедрять и использовать Scrum, Kanban и XP, чтобы это не тормозило разработку, а помогало ей.

  • CI/CD
Разберемся, что такое CI/CD, где и зачем применяются эти практики, в решении каких проблем помогают. Обсудим, какие подходы и методы применяются при внедрении практик CI/CD в процессах разработки и развертывания приложений.
СТОИМОСТЬ ОБУЧЕНИЯ
Можно приобрести как полный курс обучения, состоящий из двух модулей, так и каждый модуль по отдельности.
Полный курс
Middle Java Developer
110 000 ₽
80 000 ₽ курс
до 11.07.22
— Java Core
— Java Memory Model
— Spring
— Архитектура web приложений
— Базы данных
— Kafka
— Облачные технологии
— Процессы разработки
— Java Core
— Java Memory Model
— Spring
Единовременная оплата
от 9 166 ₽
/ месяц
Оплата частями
55 000 ₽
40 000 ₽
до 11.07.22
Единовременная оплата
от 4 583 ₽
/ месяц
Оплата частями
— Архитектура web приложений
— Базы данных
— Kafka
— Облачные технологии
— Процессы разработки
55 000 ₽
40 000 ₽
до 11.07.22
Единовременная оплата
от 4 583 ₽
/ месяц
Оплата частями
Java Core + Spring
Микросервисы
БРОНИРОВАНИЕ МЕСТА
Забронируй место на курсе сейчас и получи в подарок интенсив. Бронирование распространяется как на полный курс обучения Middle Java Developer, так и на отдельные модули курса: Java Core + Spring, Микросервисы. Предоплата является возвратной.
Предоплата
5000 ₽
Забронировать место на курсе
+ Интенсив в подарок
Записаться на консультацию
Наш специалист свяжется с тобой в ближайшее время и ответит на все вопросы
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности
Click to order
Total: 
Имя
Email
Телефон