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

2 897 ₽

226 000 ₽

Кэшбэк 2897

Почему такая цена?

Формат: Видео

Размер: 8,5 Гб

Год: 2020

Длительность: 9 месяцев

Веб-сайт: перейти

Профессия «Java-разработчик» от Skillbox - это 9-месячный видеокурс для тех, кто хочет освоить Java с нуля и дойти до создания полноценных веб-приложений. Обучение построено на практике: с первого урока вы работаете с кодом, разбираете реальные кейсы и получаете готовые решения. Под руководством экспертов Skillbox вы не просто изучите синтаксис, а сформируете системное понимание Java, чтобы уверенно применять её в работе.

Описание

Программа:

  • Разнообразие программного обеспечения: от простых скриптов до сложных систем.
  • Сферы применения Java: где и зачем используют этот язык.
  • Знакомство с программным кодом: как он выглядит и из чего состоит.
  • Настройка среды разработки для комфортной работы.
  • Практика: исправляем ошибки в готовом приложении.
  • Создание первого консольного приложения своими руками.

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

  • Базовые элементы кода и их назначение.
  • Работа с переменными в Java: объявление и использование.
  • Логический тип Boolean, операторы сравнения и условные конструкции.
  • Организация циклов для автоматизации повторяющихся действий.
  • Разбор и понимание сложного фрагмента кода.

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

  • Основы ООП: что такое класс и объект.
  • Методы, их параметры и возвращаемые значения.
  • Статические методы и переменные: особенности применения.
  • Константы и перечисления (Enum).
  • Создание объектов и роль конструкторов.
  • Принцип инкапсуляции: геттеры и сеттеры.
  • Техники корректного копирования объектов.
  • Использование внешних библиотек классов в проектах.
  • Сборка проекта: создание исполняемых JAR-файлов.

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

  • Объекты и примитивные типы данных: в чем разница.
  • Области применения примитивов и объектов-оберток.
  • Значения по умолчанию для различных типов.
  • Процессы автоупаковки и распаковки (boxing/unboxing).
  • Система числовых типов в Java.
  • Базовые понятия: биты, байты и машинное представление данных.
  • Особенности работы с целыми числами (int) и числами с плавающей точкой (double).
  • Вопросы точности при использовании дробных чисел.
  • Безопасное преобразование между разными числовыми типами.
  • Взаимное преобразование строк и чисел.
  • Набор арифметических и побитовых операций.
  • Операции инкремента и декремента.
  • Математические функции: использование класса Math.
  • Символы и кодировки текста.
  • Специальные символы и управляющие последовательности.
  • Базовые и продвинутые методы класса String.
  • Способы конкатенации и сборки строк.
  • Правильное сравнение строк: ==, equals и compareTo.
  • Основы регулярных выражений для поиска и валидации.
  • Работа с датой, временем и календарем.

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

  • Инициализация и заполнение массивов.
  • Перебор элементов массива с помощью циклов.
  • Особенности обхода массива в обратном порядке.
  • Многомерные массивы и работа с ними.
  • Динамические структуры: списки (List).
  • Хранение уникальных элементов в наборах (Set).
  • Ассоциативные массивы: HashMap и TreeMap.
  • Алгоритмы поиска и сортировки данных в коллекциях.

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

  • Механизм наследования классов в Java.
  • Управление доступом к методам и переменным родительского класса.
  • Создание и применение абстрактных классов.
  • Определение и реализация интерфейсов.
  • Полиморфизм и его преимущества в дизайне кода.
  • Интерфейс Comparable для естественной сортировки объектов.
  • Гибкая сортировка с использованием интерфейса Comparator.
  • Лямбда-выражения и краткие формы реализации интерфейсов.
  • Интерфейсы для работы с Map и Set.

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

  • Лямбда-выражения для лаконичного кода.
  • Ссылки на методы как альтернатива лямбдам.
  • Итерация по коллекциям с помощью метода forEach.
  • Способы создания потоков данных (Stream).
  • Операции над потоками: сортировка, поиск максимума и минимума.
  • Преобразование и агрегация данных: map и reduce.
  • Static- и default-методы в интерфейсах: новые возможности.
  • Обобщенное программирование (Generics) для типобезопасности.
  • Система сборки проектов Maven: основы.
  • Работа с удаленными репозиториями Maven.
  • Использование аннотаций и библиотеки Lombok для сокращения кода.

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

  • Причины возникновения и обработка исключительных ситуаций.
  • Конструкция try-catch-finally для отлова исключений.
  • Иерархия исключений: проверяемые и непроверяемые.
  • Отладка приложений с помощью современных инструментов.
  • Обзор видов тестирования программного обеспечения.
  • Модульное тестирование (Unit Testing) с JUnit.
  • Вывод отладочной информации в консоль.
  • Настройка продвинутого логирования с использованием log4j2.

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

  • Класс File для управления файловой системой.
  • Чтение файлов через FileInputStream.
  • Буферизованное чтение с помощью BufferedReader.
  • Современный способ чтения файлов: утилитный класс Files.
  • Различные методы записи данных в файл.
  • Обработка табличных данных (CSV).
  • Структура XML и HTML-документов.
  • Парсинг HTML с использованием внешних библиотек.
  • Формат обмена данными JSON и его парсинг.
  • Работа с конфигурационными файлами (properties, yaml).

Работа с MySQL в Java

  • Установка и базовая настройка СУБД MySQL.
  • Подключение к базе данных через JDBC драйвер.
  • Выполнение запросов INSERT, UPDATE, DELETE.
  • Знакомство с Hibernate: подключение и конфигурация.
  • Манипуляции с данными через Hibernate (CRUD).
  • Организация связей OneToMany и ManyToOne.
  • Реализация сложной связи ManyToMany.
  • Построение запросов с помощью Hibernate Criteria API.
  • Ленивая (Lazy) и жадная (Eager) загрузка данных.
  • Использование условий WHERE и сортировки OrderBy.
  • Язык запросов HQL (Hibernate Query Language).

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

  • Цели и преимущества многопоточного программирования.
  • Создание потоков через наследование от класса Thread.
  • Альтернативный способ: реализация интерфейса Runnable.
  • Состояние гонки (race condition) и критические секции.
  • Использование атомарных переменных для потокобезопасности.
  • Ключевое слово Volatile и его семантика.
  • Синхронизация с помощью synchronized-методов.
  • Тонкая настройка синхронизации через synchronized-блоки.
  • Координация потоков: методы wait(), notify(), notifyAll().
  • Готовые потокобезопасные коллекции из java.util.concurrent.
  • Проблема взаимной блокировки (Deadlock) и ее предотвращение.
  • Интерфейс Callable для потоков, возвращающих результат.
  • Фреймворк Executors для управления пулами потоков.
  • Корректное завершение работы ExecutorService (shutdown).
  • Настройка пула потоков с помощью ThreadPoolExecutor.
  • Планирование задач с SheduledExecutorService.
  • Механизмы приостановки и прерывания потоков.
  • Распараллеливание задач с ForkJoinPool и RecursiveTask.

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

  • Инициализация проекта на Maven с веб-зависимостями.
  • Быстрый старт с фреймворком Spring Boot.
  • Создание первого REST-контроллера.
  • Архитектурный паттерн Model-View-Controller (MVC).
  • Принципы RESTful API и операции CRUD.
  • Разработка полноценного контроллера для веб-сервиса.
  • Структура HTTP-запроса и ответа, статусные коды.
  • Интеграция с базой данных: создание JPA-сущностей.
  • Работа с репозиториями (Spring Data JPA) для сохранения данных.
  • Извлечение данных из БД с помощью репозиториев.
  • Обновление и удаление записей через JPA.
  • Генерация представлений (View) с использованием шаблонизаторов.
  • Управление настройками приложения через конфигурационные файлы.
  • Сборка и упаковка финального приложения в JAR.

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

  • Введение в мир NoSQL: ключевые концепции.
  • Основы Redis: простейшие команды и структуры данных.
  • Работа со сложными структурами в Redis (хеши, списки, множества).
  • Сравнительный анализ Redis и классических реляционных СУБД.
  • Базовые операции в документоориентированной MongoDB.
  • Агрегация и анализ данных в MongoDB с помощью пайплайнов.

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

  • Факторы, влияющие на производительность приложения.
  • Опасность преждевременной оптимизации.
  • Выявление узких мест (bottlenecks) для оптимизации.
  • Сравнение производительности разных способов конкатенации строк.
  • Применение буферизации для ускорения ввода-вывода.
  • Два основных принципа оптимизации по времени выполнения.
  • Какие типы памяти стоит экономить в Java.
  • Когда экономия памяти не является приоритетом.
  • Влияние выбора структур данных на потребление памяти.
  • Оптимизация количества запросов к базе данных.
  • Использование пакетных операций (multi-insert).
  • Диагностика и предотвращение утечек памяти (memory leaks).
  • Правильная индексация и оптимизация SQL-запросов.
  • Стратегии кэширования запросов и результатов.
  • Выбор оптимального способа хранения данных.

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

  • Введение в концепцию больших данных (Big Data).
  • Распределенная файловая система Hadoop HDFS.
  • Практические операции с файлами в HDFS.
  • Парадигма распределенных вычислений MapReduce.
  • Обзор высокопроизводительного фреймворка Apache Spark.
  • Процесс установки и настройки Spark-окружения.
  • Разработка и запуск собственного Spark-приложения.
  • Обработка текстовых данных в кластере Spark.
  • Менеджер ресурсов кластера Apache YARN.

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

  • Разработка Desktop-приложений: создание графического интерфейса.
  • Desktop-приложения: обработка событий и действий пользователя.
  • Кастомизация внешнего вида Desktop-приложений.
  • Основы создания мобильных приложений под Android.
  • Знакомство с языком Scala: синтаксис и особенности.
  • Современный язык Kotlin для JVM: преимущества и базовый синтаксис.
  • Введение в реактивное программирование с библиотекой RxJava.

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

  • Паттерны проектирования: зачем они нужны и как ими пользоваться.
  • Паттерн Singleton (Одиночка) для создания единственного экземпляра.
  • Паттерн Factory (Фабрика) для инкапсуляции создания объектов.
  • Паттерн Abstract Factory (Абстрактная фабрика) для семейств объектов.
  • Паттерн Decorator (Декоратор) для динамического добавления функциональности.
  • Паттерн Adapter (Адаптер) для обеспечения совместной работы несовместимых интерфейсов.
  • Паттерн Bridge (Мост) для разделения абстракции и реализации.
  • Паттерн Strategy (Стратегия) для определения семейства алгоритмов.
  • Паттерн Observer (Наблюдатель) для реализации механизма подписки.
  • Паттерн Iterator (Итератор) для последовательного доступа к элементам коллекции.
  • Краткий обзор других популярных паттернов (Factory Method, Proxy, etc.).

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

  • Что такое алгоритмы и зачем их изучать программисту.
  • Роль алгоритмов в решении практических задач.
  • Принцип рекурсии и рекурсивные алгоритмы.
  • Оценка эффективности: временная сложность алгоритмов (Big O).
  • Эффективный алгоритм поиска в отсортированном массиве: бинарный поиск.
  • Простой, но неэффективный алгоритм сортировки пузырьком (Bubble Sort).
  • Быстрая сортировка (QuickSort): принцип "разделяй и властвуй".
  • Сортировка слиянием (MergeSort): стабильность и гарантированная сложность.
  • Алгоритм поиска подстроки Рабина-Карпа с использованием хеширования.
  • Эффективный алгоритм поиска подстроки Кнута-Морриса-Пратта (KMP).
  • Один из самых быстрых алгоритмов поиска подстроки Бойера-Мура.

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

  • Структуры данных: основа эффективных программ.
  • Важность выбора правильной структуры данных для задачи.
  • Хэш-таблицы: быстрый поиск по ключу.
  • Очередь (FIFO) и стек (LIFO) - простейшие линейные структуры.
  • Односвязные и двусвязные списки.
  • Бинарные деревья поиска: организация и обход.
  • Суффиксные деревья для эффективной работы со строками.
  • Основы теории графов и их представление в программе.

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

  • Основы протокола HTTP: структура запроса и ответа.
  • Методы GET и POST: назначение и различия.
  • Другие методы HTTP: PUT, DELETE, PATCH, HEAD, OPTIONS.
  • Статус-коды HTTP-ответов (2xx, 3xx, 4xx, 5xx) и их значение.
  • Система адресации URL/URI в вебе.
  • Важные HTTP-заголовки для клиента и сервера.
  • Эволюция протокола: от HTTP/1.1 до HTTP/2 и HTTPS.

Для кого этот курс:

  • Начинающие программисты

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

  • Полные новички в IT

Если вас манят современные технологии и перспективы IT-сферы, этот курс - ваш старт. Вы освоите написание кода, убедитесь, что для программирования не требуется быть гением математики, разовьете логическое мышление и получите навык работы с одним из самых востребованных языков.

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

Видеокурс «Профессия Java-разработчик» от Skillbox создан для новичков без опыта и для начинающих программистов, которые хотят систематизировать знания и выйти на профессиональный уровень. Системный подход и программа на 9 месяцев позволяют начать писать код с первого занятия, а поддержка экспертов делает обучение комфортным. Вы получите актуальные материалы и практические навыки, необходимые для старта в IT.

Девятимесячная программа курса охватывает все ключевые темы: синтаксис Java, ООП, многопоточность, работу с MySQL и Spring Boot. Вы разберёте реальные кейсы и получите готовые инструменты, которые помогут пройти путь от основ до создания полноценных веб-сервисов. Практика с первого урока позволяет сразу применять теорию и постепенно формировать сильное портфолио Java-разработчика.

Всё просто - вы платите 2 897 ₽ только за знания.

Вы получаете полный курс со всеми материалами, но без обратной связи и личного сопровождения автора. Именно поэтому цена остаётся максимально доступной.

Это отличный вариант, если вы:

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

Внутри вас ждёт:

  • полная запись тренинга
  • все раздаточные материалы
  • чёткая структура для самостоятельного прохождения

Остались сомнения? Это нормально.

Чтобы вы могли убедиться в качестве, мы подготовили бесплатный демо-доступ (фрагмент курса и скриншот). Вы сможете посмотреть часть материала и понять, как проходит обучение.

В демо-доступ также входит скриншот с демонстрацией содержания полной версии — вы заранее увидите всё, что входит в курс.

Попробуйте бесплатно и примите решение без риска.

Для этого нажмите кнопку «Смотреть демо»

Да! Вы сможете скачать Профессия «Java-разработчик» в любое время прямо на любое устройство из нашего облачного хранилища

Мы открыли бесплатный демо-доступ: фрагмент курса и скриншот с содержанием полной версии. Вы сразу увидите формат обучения, подачу материала и уровень качества. Посмотрите часть курса бесплатно и примите решение без риска. Нажмите кнопку «Смотреть демо» и убедитесь сами

Акция! +500 бонусов

Получите сразу после регистрации по кнопке ниже!

Акция! 100% кэшбэк бонусами

При первой покупке и 25% при последующих!

Хиты продаж

Все

Моя корзина

0.00 ₽

Скидка

0.00 ₽

Бонус скидка

Итого

0.00 ₽

Выберите способ оплаты

СБП

Криптовалюта

(Скоро) MasterCard & VISA

СБП — это современный способ оплаты от Банка России. После оформления заказа вы сможете оплатить покупку по QR-коду или через приложение вашего банка. Средства поступят мгновенно — а вы свои купленные материалы

MasterCard & VISA

Оплата криптовалютой. Принимаем платежи в популярных криптовалютах (BTC, ETH, USDT, USDC, LTC, XMR, DASH и др.) через безопасный и надежный платежный шлюз

Сразу после оплаты вы получите доступ ко всем материалам — без ожидания и задержек

Итого

0.00 ₽

Детали заказа

Заказ ID

Заказ создан