Java-разработчик от Skillbox
Программа курса
Ознакомьтесь с программой курса «Java-разработчик» от Skillbox
Основной блок
Вводный модуль
- Какие бывают программы.
- Где и для чего применяется 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
- Трудоустройство
- Помощь с трудоустройством
- Город
- Онлайн
- Начальный уровень
- Можно изучать с нуля
- Формат обучения
- Онлайн
- Сертификат
- Есть
- Инструменты на курсе
-
HTML5Java JavaScriptMySQL
Удобная платформа. Skillbox разработали собственную удобную платформу для студентов.
Всё обучение онлайн. Все курсы Skillbox заранее записаны. Изучать можно в любое время.
Доступ навсегда. После окончания обучения вы всегда сможете вернуться к лекциям.
Преподаватели-эксперты. Лекции на курсах ведут крутые специалисты из больших компаний.
Настойчивые менеджеры. Cтуденты отмечают агрессивную рекламу перед покупкой курсов.
Навязывание рассрочки. Первые 6 месяцев бесплатно — на деле это кредит с отсрочкой.
Взгляните, что студенты и выпускники говорят про Skillbox
Преимущества: Знания приносят результат, преподавательский состав Недостатки: непонятность некоторых задач Отзыв: Захотел шагнуть в мир IT и благодаря Skillbox получилось) Начинал с самого нуля с курса Java-разработчик. Опыт и знания, которые я получил тут были одни из самых поле...
Преимущества: Системность обучения, кураторы Недостатки: Поиск доп информации Отзыв: Я шел в Skillbox четко зная, чего хочу - получить профессию java-разработчика и сразу устроиться на работу. За плечами было самостоятельное изучение Java, но я продвигался очень медленно. Понял, ...