Курс «Профессия Java-разработчик». Skillbox
Java — один из самых популярных языков программирования в мире. На нём создают приложения для банков, IT-корпораций и стриминговых сервисов, разрабатывают интернет-магазины, игры и облачные решения.
О стоимости
- Полная стоимость: 134 606 ₽
- Стоимость в рассрочку: от 3 959 ₽/мес на 34 мес, gервый платеж через 3 месяца
– Актуальные навыки для международного рынка
– Программа обучения сделана на основе требований из реальных вакансий
– Стажировка в команде
– Помощь в трудоустройстве
– Год английского языка бесплатно
– 69 проектов в портфолио
Длительность: 12 месяцев
Программа курса
Вводный курс
Знакомство с профессией
⏱️ бесплатно на 7 дней
- Чем занимаются Java-разработчики
- Как устроено обучение
- Почему вы точно станете востребованным специалистом через 8 месяцев
- Погружение в программирование. Знакомство с Java
- Первое практическое задание
- Инструменты для самоорганизации
- Как найти время на курс и не бросить на полпути
Базовые навыки
Вводный модуль
⏱️ 12 видео, 1 тест
- Введение в модуль
- Какие бывают программы
- Веб-приложения. Frontend и backend
- Цели и области применения Java
- Как выглядит программный код
- Установка среды разработки
- Пишем простое приложение
- Упаковываем приложение в один файл
- Особенности языка Java
Синтаксис языка
⏱️ 18 видео, 2 практических работы, 1 лонгрид, 2 теста
- Переменные
- Условные операторы “if”и “else”
- Булевы операции
- Приоритеты и скобки в условиях
- Вложенные условия
- Тернарный оператор
- Комментарии в коде
- Разбираем код готового приложения
- Цикл “for”
- Циклы “while” и “do while”
- Операторы “break” и “continue”
- Оператор “switch … case”
- Оператор switch в Java 17
- Разбираем сложный код
Объекты и классы
⏱️ 24 видео, 1 лонгрид, 3 практических работы
- Методы
- Параметры методов
- Возвращаемые значения
- Классы и объекты
- Конструкторы
- Перегрузка методов
- Области видимости
- Инкапсуляция
- POJO-классы, геттеры и сеттеры
- Records в Java 17
- Immutable-классы
- Передача по ссылке или по значению
- Копирование объектов
- Статические переменные
- Статические методы
- Константы
- Enum
- Статическая инициализация
Примитивы
⏱️ 8 видео, 1 практическая работа, 1 тест
- Примитивы и объекты
- Виды примитивов
- Биты и байты
- Числа
- Символы
- Классы-обёртки, boxing и unboxing
Числа и даты
⏱️ 9 видео, 1 практическая работа, 1 тест
- Операции с числами
- Инкремент и декремент
- Преобразование (приведение) чисел
- Точность вычислений
- Работа с большими и точными числами
- Дата и время
- Метка времени (timestamp)
Строки
⏱️ 8 видео, 2 лонгрида, 1 практическая работа
- Строки, конкатенация и сравнение
- Преобразование чисел в строки и обратно
- Символы и кодировки
- Методы работы с подстроками
- String Pool
- Регулярные выражения
Массивы и списки
⏱️ 7 видео, 2 практических работы
- Создание массивов
- Работа с массивами в циклах
- Многомерные массивы
- Класс Arrays
- Списки
Коллекции Set, Map
⏱️ 7 видео, 2 практических работы
- Коллекция HashSet
- Механизм работы HashSet
- Коллекция TreeSet
- Красно-черные деревья
- Коллекции HashMap и TreeMap
- Comparator, Iterator, Collections
- 6 видео, 1 практическая работа
- Выбор подходящей коллекции
- Преобразование массивов и коллекций
- Итератор
- Класс Collections
Наследование
⏱️ 7 видео, 1 практическая работа, 1 тест
- Наследование классов Java
- Переопределение методов
- Переопределение статических методов
- Класс Object
- Модификаторы доступа
Абстрактные классы и интерфейсы
⏱️ 8 видео, 1 лонгрид, 1 практическая работа, 1 тест
- Абстрактные классы
- Интерфейсы
- Интерфейсы в языке Java
- Методы с дефолтной реализацией в интерфейсах
- Полиморфизм
- Вложенные классы
Deployment
⏱️ 9 видео, 1 практическая работа
- Maven
- Команды Maven. Плагины
- Система автоматической сборки Gradle
- Установка системы Gradle
- Работа с Gradle в IntelliJ IDEA
- Docker
- Генерация документации Javadoc
Продвинутые навыки
Функциональное программирование
⏱️ 15 видео, 2 практических работы
- Дженерики
- Функциональные интерфейсы
- Лямбда-выражения
- Класс Optional
- Аннотации
- Lombok
- Введение в Stream API
- Создание Stream
- Промежуточные операторы
- Терминальные операторы
- Parallel, reduce и комбинирование операторов
Исключения, отладка, логирование
⏱️ 8 видео, 1 практическая работа
- Что такое исключения и зачем они нужны
- Типы исключений
- Обработка исключений
- Создание собственных исключений
- Отладка приложений
- Логирование
Работа с файлами и сетью
⏱️ 12 видео, 2 лонгрида, 1 практическая работа, 1 тест
- Класс File
- Чтение файлов с помощью FileInputStream
- Чтение файлов с помощью BufferedReader
- Чтение файлов с помощью класса Files
- Запись в файл
- Java NIO API
- Табличные файлы
- Структура XML и HTML-файлов
- Парсинг HTML-файлов
- Формат JSON и парсинг JSON файлов
- Формат JSON
- Конфигурационные файлы
Работа с MySQL в Java
⏱️ 11 видео, 2 практических работы, 1 тест
- Установка MySQL
- Подключение через JDBC
- Запросы без ResultSet
- Hibernate — подключение и настройка
- Hibernate: изменение данных в базе
- Связи ManyToOne и OneToMany
- Связь ManyToMany
- Hibernate query builder
- Ленивая загрузка данных
- Where и OrderBy
- HQL
Многопоточность
⏱️ 18 видео, 1 лонгрид, 3 практических работы, 1 тест
- Зачем нужна многопоточность
- Класс Thread
- Интерфейс Runnable
- Состояние гонки и критические секции
- Атомарные переменные
- Ключевое слово Volatile
- Synchronized-методы
- Synchronized-блоки
- Взаимодействие потоков — методы Wait и Notify
- Потокобезопасные классы
- Взаимная блокировка — Deadlock
- Интерфейс Callable
- Executors, Executor и ExecutorService
- Метод Shutdown
- ThreadPoolExecutor
- ScheduledExecutorService
- Приостановка и прерывание потоков
- ForkJoinPool и RecursiveTask
- Интерфейс RunnableFuture
Протокол HTTP
⏱️ 7 видео, 1 лонгрид, 1 тест
- Протокол HTTP. Запрос и ответ
- Методы HTTP-запросов GET и POST
- Другие методы HTTP-запросов
- Статус-коды HTTP-ответов
- Адресация сетевых ресурсов
- REST: теория и практика
- HTTP-заголовки
- Версии протокола HTTP и HTTPS
Разработка веб-приложений
⏱️ 15 видео, 2 практических работы
- Знакомство с фреймворком Spring
- Inversion of Control и Dependency Injection
- Bean и их жизненный цикл
- Контроллеры. Аннотации @Controller и @RestController
- Сервисы. Аннотация @Service
- Конфигурация Spring-приложений
- Работа с базой данных. Spring Data JPA
- Подключение к базе данных
- Сущности и репозитории
- Связи между сущностями
- Версионирование баз данных. Liquibase
- Тестирование приложений
⏱️ 7 видео, 1 практическая работа
- Работа с базой данных. Spring Data JPA
- Подключение к базе данных
- Сущности и репозитории
- Связи между сущностями
- Версионирование баз данных. Liquibase
Нереляционные (NoSQL) базы данных
⏱️ 7 видео, 2 практических работы
- Основы Redis, простейшие команды
- Сложные структуры данных в Redis
- Сравнение Redis vs MySQL
- Базовые возможности MongoDB
- Агрегация данных в MongoDB
Производительность и оптимизация
⏱️ 17 видео, 2 практических работы, 1 тест
- Факторы производительности
- Преждевременная оптимизация
- Что нужно оптимизировать
- Длительность конкатенации строк
- Буферизация
- Два принципа оптимизации по времени
- Какую память нужно экономить
- Память можно не экономить
- Память и разные структуры данных
- Чем меньше запросов, тем лучше
- Multiinsert
- Утечка памяти
- Индексация и оптимизация запросов
- Кэширование запросов
- Хранение данных
- Индивидуальный итоговый проект
Разработка на Spring Framework
Основы Spring
⏱️ 7 видео, 1 практическая работа
- Введение в Spring: IoC + DI
- Бины и контекст
- Spring Context в действии
- Скоупы бинов
- Методы жизненного цикла бина
- Параметры приложения
- Профили приложения
Spring Boot
⏱️ 6 видео, 1 практическая работа
- Основы Spring Boot
- Конфигурация в Spring Boot
- Стартеры
- Реализация стартера
- Docker
- Docker Compose
- Web-приложение с базой данных
⏱️ 7 видео, 1 практическая работа
- Паттерн MVC
- Создание простого MVCприложения
- Методы контроллеров
- Шаблонизаторы и основы тимлиф
- Трехзвенная архитектура приложения
- JDBC Template
- Библиотека Jooq для работы с базами данных
RestAPI с базой данных
⏱️ 9 видео, 1 практическая работа
- RESTful API
- RESTконтроллеры Spring
- Тестирование контроллеров. Работа с ошибками и валидация
- Фильтры и перехватчики. Request Scope и Session Scope
- OpenAPI
- Основы Spring Data JPA
- Составление запросов с помощью Spring Data JPA
- Транзакции в базах данных
- AOP
Интеграция с внешними системами (Rest)
⏱️ 6 видео, 1 практическая работа, 1 лонгрид
- Интеграция с внешними сервисами
- HTTP клиенты
- Декларативные методы для Restсервисов
- Кэширование
- Redis
- Тестирование систем
Интеграция с внешними системами (Kafka)
⏱️ 4 видео, 1 практическая работа
- Очереди. Стриминговые системы. EventDriven
- Kafka (основные компоненты и понятия)
- Kafka Template и Kafka Listener
- Тестирование интеграций с Kafka
Реактивное программирование в Spring
⏱️ 5 видео, 1 практическая работа
- Особенности реактивного подхода
- Реактивный подход WebFlux
- Mongo DB и ее отличие от реляционных баз данных
- Реактивные репозитории и клиенты
- Тестирование реактивных компонентов
Spring Security
⏱️ 7 видео, 1 практическая работа
- Основы безопасности
- Основы Spring Security
- OAUTH 2.0
- Защита приложения с помощью JWT токенов
- Авторизация во внешних системах
- Тестирование с Sping Security
- Reacive Sping Security
Подтверждение ваших навыков
В конце обучения получите сертификат установленного образца. Skillbox обучает по государственной лицензии №Л035−1 298−77/179 609.
Курс начинается с базовых знаний алгоритмов и основ программирования на Java. Основная часть курса состоит из теоретических блоков, которые закрепляются практическими заданиями. Студенты учатся создавать универсальные программы для различных платформ, включая сетевые чаты, приложения и мобильные игры. Программа рассчитана на 12 месяцев, после чего студенты могут рассчитывать на трудоустройство.
Практическая направленность курса выражается в том, что студенты выполняют множество практических заданий и проектов, которые проверяются наставниками. В процессе обучения активно используется платформа Skillbox для взаимодействия с преподавателями, кураторами и одногруппниками, что способствует решению возникающих вопросов и обмену опытом.
Обучение организовано таким образом, что студенты могут изучать теорию в удобное для них время, а затем сдавать технические задания. Курс рассчитан на самостоятельное изучение, но при этом информация подается очень понятно и подробно, что минимизирует необходимость дополнительного поиска информации.
В процессе обучения студенты получают поддержку от наставников, которые помогают отслеживать прогресс, обсуждают трудности и дают советы по применению навыков на практике. Наставники также помогают студентам освоиться в учебной среде, организуют посвящение и выпускной, приглашают к участию в конкурсах и розыгрышах.
Студенты отмечают, что курс помогает глубже погрузиться в мир Java благодаря большому количеству практических заданий и проектной работе. Некоторые студенты приходят на курс с базовыми знаниями по Java и отмечают, что курс помогает систематизировать и углубить их знания. Формат обучения, включающий теорию и практику, а также взаимодействие с наставниками и одногруппниками, способствует эффективному обучению и развитию навыков программирования.
Курс «Профессия Java-разработчик» от Skillbox является отличным выбором для тех, кто хочет начать карьеру в программировании на Java. Он сочетает в себе актуальную теорию, современный стек технологий и обширную практическую часть, что делает его эффективным и полезным для начинающих программистов.