Образовательный курс

Java-разработчик

Практический курс по программированию от основ написания кода до реальных проектов и первых заказов.

скидка 30% первым 20

набор на курс до 31 мая

или получить

Курс идеально подойдет

Новичок

Вы научитесь писать код с нуля. Курс поможет разобраться в особенностях синтаксиса языка Java, освоить необходимые навыки для программирования приложений под различные устройства, а также для работы с большими данными.

Image

Начинающий программист

Имея базовое представление о программировании, вы получите структурированные знания о языке Java. Курс даст вам необходимую практику в разработке приложений. Вы реализуете кейсы от реальных заказчиков и соберете сильное портфолио для уверенного старта в карьере.

Image

Чему вы научитесь

На курсе вы с нуля освоите программирование на Java, подробно разберете всю специфику и возможности языка.

Image

Научитесь писать, читать и понимать код на Java.

Image

Научитесь работать с MySQL: хранить и получать данные.

Image

Реализуете на практике все принципы ООП.

Image

Узнаете, как создавать веб-приложения на Spring Boot.

Image

Освоите все тонкости многопоточного программирования.

Image

Создадите свой блоговый движок.

скидка 30% первым 20

Программа курса

Программа курса содержит 20 основных блоков.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Заключительный модуль
    • Desktop-приложения - создание интерфейса
    • Desktop-приложения - события и их обработка
    • Desktop-приложения - кастомизация интерфейса
    • Домашняя работа
    • Android-приложения
    • Язык программирования Scala
    • Язык программирования Kotlin
    • Реактированое программирование и RxJava
  18. Бонус-модуль. Паттерны проектирования

    • Что такое паттерны проектирования
    • Паттерн Singleton
    • Паттерн Factory
    • Паттерн Abstract Factory
    • Паттерн Decorator
    • Паттерн Adapter
    • Паттерн Bridge
    • Паттерн Strategy
    • Паттерн Observer
    • Паттерн Iterator
    • Другие паттерны
  19. Бонус-модуль. Алгоритмы и структуры данных

    • Общие сведения
    • Вычислительная сложность и расход памяти
    • Массивы, сортировка и поиск
    • Рекурсия
    • Стэк и очередь
    • Деревья
    • Графы
    • Хэш-таблицы
    • Строки
    • Битовые маски
    • Связные списки
  20. Бонус-модуль. Прокотол HTTP

    • Что такое HTTP. Заголовки и тело запроса
    • Заголовки и тело ответа. Коды ответов
    • Запросы GET и POST
    • PUT, DELETE, OPTIONS
    • Стандарт REST
    • Типы кодирования POST-запросов
    • Encoding, сжатие, Content-Type
    • Куки и сессии
    • HTTP 1.0, 1.0 и 2.0
    • HTTPS

Получите полную программу и индивидуальную консультацию

Преподаватели

Как проходит обучение

Вы выполняете домашние задания и открываете доступ к новому уникальному контенту по теме. Достаточно выделить 3–5 часов в неделю.

  1. Изучаете
    тему

    В курсе — полезные видеоуроки.

    Интерфейс системы обучения
  2. Выполняете домашнее задание

    В том темпе, в котором вам удобно.

    Интерфейс системы обучения
  3. Общаетесь с наставником

    Закрепляете знания и исправляете ошибки.

    Интерфейс системы обучения
  4. Защищаете дипломный проект

    И дополняете им свое портфолио.

    Интерфейс системы обучения

Резюме после прохождения

Аделина Ветрова junior-разработчик

Ожидаемая зарплата от 80 000

Владение инструментами:
  • Java Core Основное ядро языка программирования.

  • MySQL Свободная реляционная система управления базами данных.

  • Spring Boot Универсальный фреймворк с открытым исходным кодом для Java-платформы.

  • Redis Резидентная система управления базами данных.

  • MongoDB Документоориентированная система управления базами данных с открытым исходным кодом.

Ключевые навыки:
  • Разработка веб-приложений на Spring Boot.
  • Владение нереляционными базами данных: Redis, MongoDB.
  • Java Core.
  • Multithreading.
  • Collections Framework.
  • Работа с MySQL.

Диплом Skillbox

Подтверждает успешное прохождение курса «Java-разработчик»

Java-разработчик

Стоимость обучения

Скидка 30% первым 20

Стоимость обучения 67 500

3 938 Рассрочка без первого взноса

47 250 Для первых 20 студентов

Гарантия возврата денег в течение 14 дней

Запишитесь на курс

Дата начала: 31 мая

Осталось: 15 мест

О Skillbox

Максимально практическое обучение от лидеров digital-рынка. Курсы от компаний, работающих на реальных проектах.

После обучения вы можете трудоустроиться в эти компании или к партнёрам университета.

25 000 +

студентов учатся на наших курсах

82%

студентов довольны преподавателями

89%

выпускников получают карьерный рост

94%

выпускников довольны курсом и результатом

Мнения о курсе

Татьяна Червякова студентка курса «Java-разработчик»

Выбрала курс «Java-разработчик», потому что мне нравится программирование. В будущем планирую работать и развиваться в данном направлении!

Дмитрий Доманюк студент курса «Java-разработчик»

Выбрал курс «Java-разработчик», потому что интересуюсь этой темой. Запомнился спикер Даниил Пилипенко. Понравилось, как преподаватели объясняют материал и то, что проверяют домашнее задание в течение дня. В будущем планирую изучить Java.

Андрей Маслёнок студент курса «Java-разработчик»

Полгода проходил курс «Java-разработчик». Самым полезным оказалось живое общение с преподавателями и студентами. Запомнился спикер Сергей Гаевой. После окончания курса я стал самостоятельно выполнять более сложные задачи. Планирую продолжить обучение.

Дмитрий Коваленко студент курса «Java-разработчик»

Решил пройти курс «Java-разработчик», потому что мобильная разработка — это популярно и потому востребовано. В процессе обучения я узнал много нового, что реально помогает в работе.

Часто задаваемые вопросы

  1. Смогу ли я пройти курс, если у меня совсем нет опыта в программировании?

    Программистами не рождаются. Твоя текущая профессия не имеет значения. Программировать начинают из любой профессии. У нас есть примеры с бывшими грузчиками и директорами фирм. Было бы желание. И курс разработан таким образом, что обучаться можно полностью с нуля.

  2. Какая версия языка изучается на курсе?

    В 2018 году вышла Java 9. В курсе рассматривается 8-я версия языка, а также нововведения Java 12.

  3. Сколько потребуется времени, чтобы пройти все модули?

    Курс рассчитан на 4 месяца: кто‑то заканчивает раньше, кто‑то чуть позже. Здесь главное не скорость прохождения, а эффективное использование полученных навыков, поэтому лучше не торопиться и ориентироваться на заявленные 4 месяца.

или получить

Появились вопросы по курсу?

Оставьте ваш номер телефона, и наш специалист свяжется с вами, чтобы дать подробную информацию.