Курс на Stepik
Обложка курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч» на Stepik
1 500 ₽

Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч ★ 4.857

Открыть на
STEPIK.ORG

27 часов видео. Курс охватывает основы: bash (работа с коммандной строкой), git (система контроля версиями), (java - java core, Stream API и т.д), maven (система сборки), Spring dependency injection, введение в Spring Web Курс предназначен для начинающих изучать Java backend разработку. Главный принцип курса - не пытаться покрыть все возможные темы, но отобрать самое важное и объяснить это вам так, чтобы вы сразу начали это использовать.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Учеников на курсе 286
Сертификаты, выданные на курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Сертификатов выдано 145
Отзывы о курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Отзывов получено 7
Рейтинг курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Рейтинг курса 4.857
Уроки в курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Количество уроков 251
Тесты в курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Количество квизов 11
Время прохождения курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Время прохождения курса —
Стоимость курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Стоимость курса 1 500 ₽ —
Обновления курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Обновления курса — —
Дата публикации курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Дата публикации курса — ———
Последнее обновление курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч»Последнее обновление — ———
Сложность easy — ———

Содержание курса

Разделы в курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч» 24 раздела Уроки в курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч» 251 урок Тесты в курсе «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч» 11 тестов Время прохождения курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч» 28 ч. Последнее обновление курса «Основы backend на Java 21 и Spring с @NikiforovJava [2024] 27 ч» обн. 18 сентября 2026

Введение

5 уроков
1. Приветствие ↗
2. Подробный обзор содержания курса ↗
3. Информация об обновлениях курса ↗
4. Присоединяйтесь к сообществу ↗
5. Изучение Java в эпоху AI агентов ↗

Основы работы с командной строкой (начальный уровень)

22 урока
1. Установка Git на Windows ↗
2. Зачем изучать Unix Shell и работу через терминал ↗
3. Terminal, Shell, Bash, CLI. Разбираемся в терминологии. ↗
4. Навигация. Команды pwd, cd, clear ↗
5. Команда ls - просмотр содержимого директории ↗
6. Задание на навигацию с помощью команд pwd, cd и ls ↗
7. Настройка shortcut для открытия терминала ↗
8. Help, использование аргументов, аргументы команды ls ↗
9. Создание директорий с помощью команды mkdir ↗
10. Шорткаты для использования аргумента из последней команды ↗
11. Создание файлов с помощью команды touch ↗
12. Какие символы не стоит использовать при создании файлов ↗
13. Комманда echo. Просмотр содержимого переменных, вывод текста в к ↗
14. Переменная окружения PATH, просмотр ее содержимого (echo) ↗
15. Запись в файл с помощью echo, просмотр содержимого файла (cat) ↗
16. Добавление строки в файл (оператор >), tail для просмотра файлов ↗
17. Удаление файлов и директорий. Команды rm, rm -r, rmdir ↗
18. Перемещение и переименование файлов - команда mv ↗
19. Копирование - команда cp, вайлдкарты, cp -r для копирования дире ↗
20. Текстовый редактор vim. Создание и сохранение файлов ↗
21. Vim. Дополнительные возможности ↗
22. grep - поиск по паттерну ↗

Основы работы с git (начальный уровень) - часть 1

12 уроков
1. Введение, создание репозитория, git init ↗
2. Установка имени и email ↗
3. git status, создание файла .gitignore ↗
4. Создание коммитов, команды git add, git commit, git log ↗
5. Что можно делать с коммитами (краткий обзор) ↗
6. Откат к предыдущему коммиту - git reset ↗
7. Работа с ветками (git branch, git switch) ↗
8. Регистрация на github, создание удаленного репозитория ↗
9. Создание access token, команда git push ↗
10. Получение изменений из удаленного репозитория - git pull ↗
11. Создаем и мержим первый pull request на github ↗
12. Комманда git clone, локальные и remotes ветки ↗

Экспресс курс Java - настройка окружения, что такое Java

6 уроков
1. Что такое Java, позиции Java в 2024 ↗
2. Intellij Idea - выбор и установка среды разработки ↗
3. Что такое JDK, JRE и JVM ↗
4. Создание Java проекта в IntelliJ IDEA, скачивание JDK ↗
5. Настройка переменных окружения ↗
6. Включение превью фич 21й версии ↗

Экспресс курс Java. Методы, переменные, примитивы, строки и тд.

30 уроков
1. Что такое методы, метод main ↗
2. Комментарии ↗
3. Hello World ↗
4. Как работает Java. Компиляция, байткод ↗
5. Из чего состоит упрощенный метод main (продолжение) ↗
6. Термины statement (предложение) и expression (выражение) ↗
7. Продолжение знакомства с методом main ↗
8. Строковые литералы ↗
9. Краткие итоги по методам ↗
10. Примитивные типы данных ↗
11. Ключевые слова в Java ↗
12. byte, short, char - почему их не стоит использовать ↗
13. Классы обертки ↗
14. Диапазоны примитивов, переполнение ↗
15. Кастинг - приведение примитивных типов данных ↗
16. Переполнение на примере задачи Valid Perfect Square ↗
17. Статическая типизация ↗
18. var - вывод типов ↗
19. final с локальными переменными ↗
20. Арифметические операторы - часть 1 ↗
21. Арифметические операторы - часть 2 ↗
22. Мини-задача - нахождение среднего значения ↗
23. Конкатенация строк ↗
24. Операторы сравнения - часть 1 ↗
25. Операторы сравнения - часть 2 ↗
26. Оператор ! (логическое нет) ↗
27. Оператор != ↗
28. Приоритет операций ↗
29. Знакомство с классом Math ↗
30. Знакомство с BigInteger и BigDecimal ↗

Git и горячие клавиши в Intellij IDEA

3 урока
1. Знакомство с терминалом и git интеграцией в Intellij IDEA ↗
2. Добавление remotes , push, update, ветки в IntelliJ ↗
3. Использование горячих клавиш в Intellij IDEA ↗

Экспресс курс Java. Условные операторы (Control flow)

6 уроков
1. if-then стейтмент ↗
2. Сокращенная форма if-then-else ↗
3. Задание - найди наибольшее из трех чисел с помощью if-then ↗
4. Область видимости (scope), подключение плагина Rainbow Brackets ↗
5. Тернарный оператор (?) ↗
6. Switch (классический switch стейтмент и обновленный switch экспр ↗

Экспресс курс Java. Циклы (while, for). Перегрузка методов

3 урока
1. Циклы while и do-while ↗
2. Цикл for ↗
3. Перегрузка методов (method overloading) ↗

Экспресс курс Java. Класс String. Работа со строками (начальный

10 уроков
1. Как пользоваться документацией, плагин для перевода документации ↗
2. Как сравнивать строки, string pool (пул строк) ↗
3. Метод String.join() ↗
4. Неизменяемость строк ↗
5. Знакомство с классом StringBuilder (изменяемые строки) ↗
6. Возвращение значений из методов, слово return ↗
7. Экранирование (escape sequences) и string blocks ↗
8. Метод replaceAll(), знакомство с регулярными выражениями ↗
9. String templates (превью фича java 21 - отправлена на доработку) ↗
10. Unicode, ASCII, UTF-16. Как Java работает с текстом ↗

Экспресс курс Java. Массивы, цикл for-each, continue, break

12 уроков
1. Массивы (arrays) ↗
2. Varargs (список аргументов переменной длины) ↗
3. Итерация по массиву с помощью цикла for ↗
4. Цикл for-each (улучшенный цикл for) ↗
5. Итерация по массиву с помощью Stream API ↗
6. IndexOutOfBoundsException ↗
7. Двумерные массивы ↗
8. ArrayList ↗
9. Неизменяемые листы (immutable lists) ↗
10. continue ↗
11. break ↗
12. Задача "Подсчет символов в строке" ↗

Практические задания. Знакомство с LeetCode

5 уроков
1. Что такое LeetCode и как им пользоваться ↗
2. Задача Leetcode 1295 - Find numbers with even number of digits ↗
3. Задача LeetCode 9 - Palindrome number ↗
4. Задача LeetCode 66 - Plus One ↗
5. Задача Leetcode 1480 Running Sum of 1d Array ↗

Экспресс курс Java. Классы, модификаторы доступа, HashMap, enum,

29 уроков
1. Различия примитивных и ссылочных типов данных ↗
2. Значение null, NullPointerException ↗
3. Знакомство с классом Optional ↗
4. Почему при создании объектов не всегда используется слово new ↗
5. Классы ↗
6. Статические методы ↗
7. Классический метод main ↗
8. Поля и конструкторы ↗
9. Ключевое слово this. Передача значений из конструктора в поля ↗
10. Класс Object ↗
11. Переопределение метода toString() ↗
12. Модификатор доступа private ↗
13. Константы ↗
14. package (пакеты) ↗
15. Дефолтный модификатор доступа (package private) ↗
16. Чем различаются поля (fields) и локальные переменные ↗
17. [new] Знакомство с многопоточностью. Что такое Thread ↗
18. [new] Знакомство с многопоточностью. Что такое Race condition ↗
19. методы equals() и hashСode() ↗
20. Знакомство с дженериками (обобщенными типами) ↗
21. Класс HashMap ↗
22. Как работает HashMap ↗
23. Итерация по HashMap ↗
24. HashSet ↗
25. Как работает HashSet ↗
26. Cеттеры (setters) ↗
27. Неизменяемые объекты (immutable objects) ↗
28. Records ↗
29. Перечисления (Enums) ↗

Практические задания

1 урок
1. Задача Leetcode 929 - Unique Email Addresses ↗

Экспресс курс Java - ООП

26 уроков
1. Абстрактные классы ↗
2. Абстрактные методы, абстрактные классы с сервисными классами ↗
3. Финальные (final) и закрытые (sealed) классы ↗
4. Обзор всех вариантов использования слова final ↗
5. Знакомство с оператором instanceOf ↗
6. Кастинг объектов. Upcasting и Downcasing, instanceof expression ↗
7. Создание кастомных исключений с помощью наследования ↗
8. Знакомство с интерфейсами ↗
9. Переменные в абстрактных классах и константы в интерфейсах ↗
10. Различия в наследовании класса и имплементации интерфейсов. ↗
11. Абстрактные и дефолтные методы ↗
12. Наследование интерфейсов ↗
13. Обзор модификаторов доступа. Часть 1 ↗
14. Обзор модификаторов доступа. Часть 2. Применение с классами. ↗
15. Обзор модификаторов доступа. Часть 3. Приватные методы ↗
16. Обзор модификаторов доступа. Часть 4. Приватные конструкторы ↗
17. Обзор модификаторов доступа. Часть 5. Поля ↗
18. Приватные методы в интерфейсах ↗
19. Разбор реализации рейтингов в приложении Library ↗
20. Зачем было создано ООП (Объектно-ориентированное программировани ↗
21. Принципы ООП. Инкапсуляция ↗
22. Принципы ООП. Как классы разделяются в Spring приложениях ↗
23. Разделение классов на примере Spring Boot приложения ↗
24. Принципы ООП. Абстракция ↗
25. Принципы ООП. Наследование ↗
26. Принципы ООП. Полиморфизм ↗

Экспресс курс Java - Обработка исключений на примере HttpClient

7 уроков
1. Иерархия исключений ↗
2. Общая информация об исключениях. Непроверяемые исключения ↗
3. Проверяемые исключения (checked exceptions). Создаем объект URI ↗
4. Создание HttpRequest, знакомство с HTTP ↗
5. Создание HttpClient, обработка исключений ↗
6. Обработка нескольких исключений в одном catch блоке ↗
7. Использование блока finally, try-with-resources ↗

Экспресс курс Java - Лямбда выражения и Stream API

8 уроков
1. Реализация интерфейса Function с помощью анонимного класса ↗
2. Реализация интерфейса Function c помощью лямбда выражения ↗
3. Ссылки на метод (method reference) ↗
4. Знакомство со Stream API - использование метода map() ↗
5. Метод filter(), интерфейс Predicate ↗
6. Effectively final. Работа с переменными в lambda выражениях ↗
7. Знакомство с интерфейсом Consumer и методом forEnach ↗
8. Обзор самых популярных операций Stream API ↗

Выдача сертификата о завершении

1 урок
1. Выдача сертификата ↗

Приложение "Список интервью вопросов" - часть 1 (чистая java)

12 уроков
1. Введение ↗
2. Функциональные требования ↗
3. Класс Scanner - ввод данных через терминал ↗
4. Технические требования ↗
5. Итоговый код этой секции ↗
6. Разбор итогового кода часть 1 ↗
7. Разбор итогового кода часть 2 ↗
8. Разбор итогового кода часть 3 ↗
9. Разбор итогового кода часть 4 ↗
10. Разбор итогового кода часть 5 ↗
11. Советы по сохранению проекта на github ↗
12. Создание выполняемого jar файла ↗

Основы Maven - подготовка к работе со Spring Boot

8 уроков
1. Важно. Используйте JDK 23 ↗
2. Вступление, создание Spring Boot проекта ↗
3. Структура maven проекта, pom.xml, зависимости ↗
4. Анализ зависимостей в maven, плагин maven helper ↗
5. Разрешение конфликта зависимостей, exclusions ↗
6. Работа с разными версиями maven из Intellij, spring-boot плагин ↗
7. Создание jar файла с помощью mvn clean package ↗
8. Краткий обзор жизненных циклов и фазы maven ↗

Spring Boot - внедрение зависимостей

11 уроков
1. Вступление. CommandLineRunner (консольное Spring Boot app) ↗
2. Аннотация @Component, внедрение зависимости через конструктор ↗
3. Паттерны dependency injection, аннотация @ComponentScan ↗
4. Исследуем ApplicationContext и beans ↗
5. IoC (Inversion of Control), IoC Container и ApplicatonContext ↗
6. Создание бинов с помощью аннотации @Bean ↗
7. Java конфигурация бинов, зависящих от других бинов ↗
8. Bean scopes ↗
9. Не используйте @Autowired, field injection и setter injection ↗
10. Dependency injection для коллекции бинов ↗
11. Обзор других аннотаций для конфигурации контейнера ↗

Приложение "Список интервью вопросов" - часть 2 (Spring DI))

7 уроков
1. Введение ↗
2. Добавление поддержки maven ↗
3. Обновление структуры проекта ↗
4. Добавление spring dependency injection ↗
5. Приведение в порядок git репозитория ↗
6. Бин для инициализации данных, аннотация @PostConstruct ↗
7. Итоговый код секции ↗

Приложение "Список интервью вопросов" - часть 3 (Lombok)

5 уроков
1. НАСТРОЙКА!!! Версия Intellij Idea должна быть 2024.3.2.2 и выше ↗
2. Обзор проекта Lombok и рекомендации ↗
3. Итоговый код секции ↗
4. Настройка Intellij и Maven для поддержики Lombok ↗
5. Добавление аннотаций Lombok в код ↗

Введение в web (в разработке)

20 уроков
1. Как происходит коммуникация между компьютерами через сеть (OSI) ↗
2. Создание Spring Web проекта ↗
3. IP адреса, DNS адреса, localhost, протокол TCP ↗
4. HTTP протокол, струтура HTTP сообщения ↗
5. Web servers, Apache Tomcat, Servlets ↗
6. DispatcherServlet в Spring Web (демонстрация работы) ↗
7. Использование threads (потоков) в Tomcat ↗
8. URL ↗
9. Аннотация @RequestMapping ↗
10. Аннотация @PathVariable ↗
11. Аннотация @RequestParam ↗
12. Знакомство с HTTP POST и Postman ↗
13. Метод POST - разбор особенностей ↗
14. Метод POST - request body и content type ↗
15. Метод POST - пример работы с content type ↗
16. Формат JSON ↗
17. Jackson в Spring Boot, автоконфигурация ↗
18. Кастомизация автоконфигурации Jackson (LocalDateTime format) ↗
19. Jackson аннотация @JsonProperty ↗
20. Краткий обзор других аннотаций в Jackson ↗

Следующие шаги (текстовый roadmap)

2 урока
1. Список тем и источников для последующего изучения (в разработке) ↗
2. План знакомства с базами данных ↗