Профессия Java-разработчик

Онлайн-курс от Skillbox, длительностью 6 месяцев. Научим программировать на самом востребованном языке.

Основной блок

Вводный модуль

  • Какие бывают программы.
  • Где и для чего применяется Java.
  • Как выглядит программный код.
  • Установка среды разработки.
  • Исправляем готовое приложение.
  • Пишем консольное приложение.

Синтаксис языка

  • Что вообще бывает в коде.
  • Переменные в Java.
  • Boolean, операторы сравнения и условные операторы.
  • Циклы.
  • Разбираем сложный код.

Система контроля версий Git

  • Версии программного кода.
  • Установка Git.
  • Индекс и частичные коммиты.
  • Сравнение версий.
  • Отмена изменений и откат версий.
  • Репозитории и коллективная работа.
  • Ветки: создание и управление.
  • Слияние и разрешение конфликтов.
  • Полезные инструменты.
  • Правила работы с Git.

Объекты и классы

  • Понятие класса и объекта.
  • Метод, параметры, return.
  • Статические методы и переменные.
  • Константы и Enum.
  • Создание объектов и конструктор.
  • Инкапсуляция, геттеры и сеттеры.
  • Копирование объектов.
  • Внешние библиотеки классов.
  • Создание JAR-файлов.

Числа, строки, даты

  • Объекты и примитивы.
  • Зачем нужны объекты и примитивы.
  • Значения по умолчанию.
  • Boxing и unboxing.
  • Какие бывают числа.
  • Биты и байты.
  • Числа int и double.
  • Точность чисел с плавающей точкой.
  • Преобразование чисел разных типов.
  • Преобразование строки в число и обратно.
  • Какие бывают операции с числами.
  • Инкремент и декремент.
  • Класс Math.
  • Символы и кодировки.
  • Специальные символы.
  • Методы класса String.
  • Конкатенация строк.
  • Сравнение строк.
  • Регулярные выражения.
  • Календарь и метка времени.

Массивы и коллекции

  • Создание массивов.
  • Перебор элементов массивов.
  • Обход массивов в обратном порядке.
  • Массивы массивов.
  • Списки элементов.
  • Наборы уникальных элементов.
  • HashMap и TreeMap.
  • Поиск и сортировка.

Наследование и полиморфизм

  • Наследование классов Java.
  • Доступ к методам и переменным.
  • Абстрактные классы.
  • Интерфейсы.
  • Полиморфизм.
  • Интерфейс Comparable.
  • Интерфейс Comparator.
  • Краткая реализация интерфейсов.
  • Интерфейсы Map и Set.

Особенности ООП в Java

  • Лямбда-выражения.
  • Указатели на методы.
  • Метод forEach.
  • Способы получения Stream.
  • Sorted, max, min.
  • Map reduce.
  • Static- и default-методы в интерфейсах.
  • Generics.
  • Система сборки Maven.
  • Репозиторий Maven.
  • Аннотации и Lombok.

Исключения, отладка, тестирование и логирование

  • Возникновение исключений.
  • Отлов исключений.
  • Типы исключений.
  • Отладка приложений.
  • Виды тестирования ПО.
  • Модульное тестирование.
  • Логирование в консоли.
  • Логирование с помощью log4j2.

Работа с файлами и сетью

  • Класс File.
  • Чтение файлов с помощью FileInputStream.
  • Чтение файлов с помощью BufferedReader.
  • Чтение файлов с помощью класса Files.
  • Запись в файл.
  • Табличные файлы.
  • Структура XML и HTML-файлов.
  • Парсинг HTML-файлов.
  • Формат JSON и парсинг JSON-файлов.
  • Конфигурационные файлы.

Работа с MySQL в Java

  • Установка MySQL.
  • Подключение через JDBC.
  • Запросы без ResultSet.
  • Hibernate: подключение и настройка.
  • Hibernate: изменение данных в базе.
  • Связи ManyToOne и OneToMany.
  • Связь ManyToMany.
  • Hibernate query builder.
  • Ленивая загрузка данных.
  • Where и OrderBy.
  • HQL.

Многопоточность

  • Зачем нужна многопоточность.
  • Класс Thread.
  • Интерфейс Runnable.
  • Состояние гонки и критические секции.
  • Атомарные переменные.
  • Ключевое слово Volatile.
  • Synchronized-методы.
  • Synchronized-блоки.
  • Взаимодействие потоков — методы Wait и Notify.
  • Потокобезопасные классы.
  • Взаимная блокировка — Deadlock.
  • Интерфейс Callable.
  • Executors, Executor и ExecutorService.
  • Метод Shutdown.
  • ThreadPoolExecutor.
  • SheduledExecutorService.
  • Приостановка и прерывание потоков.
  • ForkJoinPool и RecursiveTask.

Разработка веб-приложений

  • Создание Maven-проекта.
  • Создание приложения на Spring Boot.
  • Создание первого контроллера.
  • Концепция MVC.
  • RESTful API и CRUD.
  • Создание контроллера.
  • Request, response и статусы ответов.
  • Подключение к БД и создание сущности.
  • Репозиторий и добавление элементов в БД.
  • Получение данных из БД.
  • Изменение и удаление данных в БД.
  • View и подключение шаблонов.
  • Параметры конфигурации.
  • Упаковка приложения в JAR-файл.

Нереляционные базы данных и очереди

  • Введение.
  • Основы Redis, простейшие команды.
  • Сложные структуры данных в Redis.
  • Сравнение Redis и MySQL.
  • Базовые возможности MongoDB.
  • Агрегация данных в MongoDB.

Производительность и оптимизация

  • Факторы производительности.
  • Преждевременная оптимизация.
  • Что нужно оптимизировать.
  • Длительность конкатенации строк.
  • Буферизация.
  • Два принципа оптимизации по времени.
  • Какую память нужно экономить.
  • Память можно не экономить.
  • Память и разные структуры данных.
  • Чем меньше запросов, тем лучше.
  • Multiinsert.
  • Утечка памяти.
  • Индексация и оптимизация запросов.
  • Кэширование запросов.
  • Хранение данных.

Распределённые хранилища и вычисления

  • Что такое большие данные.
  • Файловая система HDFS.
  • Практическая работа с HDFS.
  • Концепция MapReduce.
  • Фреймворк Apache Spark.
  • Установка Spark.
  • Запуск в Spark собственного приложения.
  • Запуск приложения обработки текста.
  • Модуль YARN.

Заключительный модуль

  • Desktop-приложения: создание интерфейса.
  • Desktop-приложения: события и их обработка.
  • Desktop-приложения: кастомизация интерфейса.
  • Android-приложения.
  • Язык программирования Scala.
  • Язык программирования Kotlin.
  • Реактивное программирование. RxJava.

Бонус-модуль. Паттерны проектирования

  • Что такое паттерны проектирования.
  • Паттерн Singleton.
  • Паттерн Factory.
  • Паттерн Abstract Factory.
  • Паттерн Decorator.
  • Паттерн Adapter.
  • Паттерн Bridge.
  • Паттерн Strategy.
  • Паттерн Observer.
  • Паттерн Iterator.
  • Другие паттерны.

Бонус-модуль. Введение в алгоритмы

  • Введение в алгоритмы
  • Зачем нужны алгоритмы
  • Рекурсивные алгоритмы
  • Временная сложность алгоритмов
  • Алгоритм бинарного поиска
  • Алгоритм сортировки пузырьком
  • Алгоритм сортировки QuickSort
  • Алгоритм сортировки MergeSort
  • Алгоритм поиска подстроки Рабина-Карпа
  • Алгоритм поиска подстроки Кнута-Морриса-Пратта
  • Алгоритм поиска подстроки Бойера-Мура

Бонус-модуль. Введение в структуры данных

  • Введение в структуры данных
  • Зачем нужны структуры данных
  • Хэш-таблицы
  • Очередь и стэк
  • Связные списки
  • Бинарное дерево
  • Суффиксное дерево
  • Графы

Бонус-модуль. Протокол HTTP

  • Протокол HTTP. Запрос и ответ
  • Методы HTTP-запросов GET и POST
  • Другие методы HTTP-запросов
  • Статус-коды HTTP-ответов
  • Адресация сетевых ресурсов
  • HTTP-заголовки
  • Версии протокола HTTP и HTTPS

Дополнительные модули

Универсальные знания программиста

  • Как стать первоклассным программистом
  • Вёрстка email-рассылок. Советы на реальных примерах
  • The state of soft skills
  • Как мы создавали карту развития для разработчиков
  • Как общаться по e-mail и эффективно работать с почтой?
  • Повышение своей эффективности
  • Спор о первом языке программирования
  • Саморазвитие: как я не усидел на двух стульях и нашел третий
  • Data-driven-подход к продуктивности - инсайты из данных миллиона людей
  • Протокол HTTP
  • Введение в алгоритмы

Английский для IT-специалистов

  • IT Resume and CV
  • Job interview: questions and answers
  • Teamwork
  • Workplace communication
  • Business letter
  • Software development
  • System concept development and SRS
  • Design
  • Development and Testing
  • Deployment and Maintenance
145 440 ₽
242 400 ₽

Актуальная стоимость обучения.

Данные обновлены 9 мая 2021 г.

Рассрочка: 2925 ₽ в месяц

  • 6 месяцев
  • Сертификат об обучении
Перейти на страницу курса
Информация о школе

Skillbox — это онлайн-университет, организующий прикладные курсы и программы от главных экспертов рынка. Данная школа использует актуальные подходы к обучению, помогает работать над реальными проектами, стажироваться и трудоустраиваться в крупнейшие компании страны.
158 достоверных отзывов о школе Skillbox
Мы не нашли много отзывов конкретно про курс «Профессия Java-разработчик». Зато мы собрали 158 отзывов о школе Skillbox — они помогут вам получить общее представление о процессе обучения.