Skip to content

radmitr/skillbox-java-developer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Курс "Java-разработчик" от Skillbox

https://skillbox.ru/course/java

Skillbox (Java Core, OOP, RegEx, JUnit, Mockito, Log4j, Jsoup, Tomcat, Multithreading, Spring Boot, Spring Data, Spring Security, Hibernate, SQL, MySQL, PostgreSQL, Redis, MongoDB, Maven, Gradle, Git)

Программа курса
  1. Вводный модуль
    1.1. Какие бывают программы
    1.2. Где и для чего применяется Java
    1.3. Как выглядит программный код
    1.4. Установка среды разработки
    1.5. Исправляем готовое приложение
    1.6. Пишем консольное приложение
    1.7. Домашняя работа

  2. Синтаксис языка
    2.1. Приветственное видео
    2.2. Что вообще бывает в коде
    2.3. Переменные в Java
    2.4. Boolean, операторы сравнения и условные операторы
    2.5. Циклы
    2.6. Разбираем сложный код
    2.7. Домашняя работа

  3. Объекты и классы
    3.1. Переходим к следующему модулю
    3.2. Понятие класса и объекта
    3.3. Метод, параметры, return
    3.4. Статические методы и переменные
    3.5. Константы и Enum
    3.6. Создание объектов и конструктор
    3.7. Инкапсуляция, геттеры и сеттеры
    3.8. Копирование объектов
    3.9. Внешние библиотеки классов
    3.10. Создание JAR-файлов
    3.11. Домашняя работа

  4. Числа, строки и даты
    4.1. Объекты и примитивы
    4.2. Зачем нужны объекты и примитивы
    4.3. Значения по умолчанию
    4.4. Boxing и unboxing
    4.5. Повторяем изученное
    4.6. Домашняя работа 4.1
    4.7. Какие бывают числа
    4.8. Биты и байт
    4.9. Числа int и double
    4.10. Точность чисел с плавающей точкой
    4.11. Преобразование чисел разных типов
    4.12. Преобразование строки в число и обратно
    4.13. Домашняя работа 4.2
    4.14. Какие бывают операции с числами
    4.15. Инкремент и декремент
    4.16. Класс Math
    4.17. Домашняя работа 4.3.1 и 4.3.2
    4.18. Символы и кодировки
    4.19. Специальные символы
    4.20. Методы класса String
    4.21. Домашняя работа 4.4
    4.22. Конкатенация строк
    4.23. Сравнение строк
    4.24. Регулярные выражения
    4.25. Домашняя работа 4.5
    4.26. Календарь и метка времени
    4.27. Домашняя работа 4.6

  5. Массивы и коллекции
    5.1. Создание массивов
    5.2. Перебор элементов массивов
    5.3. Обход массивов в обратном порядке
    5.4. Массивы массивов
    5.5. Домашняя работа 5.1.1, 5.1.2 и 5.1.3
    5.6. Списки элементов
    5.7. Домашняя работа 5.2
    5.8. Наборы уникальных элементов
    5.9. Домашняя работа 5.3
    5.10. HashMap и TreeMap
    5.11. Домашняя работа 5.4
    5.12. Поиск и сортировка
    5.13. Домашняя работа 5.5

  6. Наследование и полиморфизм
    6.1. Наследование классов Java
    6.2. Домашняя работа 6.1
    6.3. Доступ к методам и переменным
    6.4. Домашняя работа 6.2
    6.5. Абстрактные классы
    6.6. Домашняя работа 6.3
    6.7. Интерфейсы
    6.8. Полиморфизм
    6.9. Интерфейс Comparable
    6.10. Интерфейс Comparator
    6.11. Краткая реализация интерфейсов
    6.12. Интерфейсы Map и Set
    6.13. Домашняя работа 6.4

  7. Особенности ООП в Java
    7.1. Лямбда-выражения
    7.2. Домашняя работа 7.1
    7.3. Указатели на методы
    7.4. Метод forEach
    7.5. Способы получения Stream
    7.6. Sorted, max, min
    7.7. Map reduce
    7.8. Домашняя работа 7.2.1 и 7.2.2
    7.9. Static- и default-методы в интерфейсах
    7.10. Generics
    7.11. Система сборки Maven
    7.12. Репозиторий Maven
    7.13. Аннотации и Lombok

  8. Исключения, отладка, тестирование и логирование
    8.1. Возникновение исключений
    8.2. Отлов исключений
    8.3. Типы исключений
    8.4. Домашняя работа 8.1
    8.5. Отладка приложений
    8.6. Виды тестирования ПО
    8.7. Модульное тестирование
    8.8. Домашняя работа 8.2
    8.9. Логгирование в консоли
    8.10. Логгирование с помощью log4j2
    8.11. Домашняя работа 8.3

  9. Работа с файлами и сетью
    9.1. Класс File
    9.2. Чтение файлов с помощью FileInputStream
    9.3. Чтение файлов с помощью BufferedReader
    9.4. Чтение файлов с помощью класса Files
    9.5. Домашняя работа 9.1
    9.6. Запись в файл
    9.7. Домашняя работа 9.2
    9.8. Табличные файлы
    9.9. Домашняя работа 9.3
    9.10. Структура XML и HTML-файлов
    9.11. Парсинг HTML-файлов
    9.12. Домашняя работа 9.4
    9.13. Формат JSON и парсинг JSON файлов
    9.14. Домашняя работа 9.5
    9.15. Конфигурационные файлы

  10. Работа с MySQL в Java
    10.1. Установка MySQL
    10.2. Подключение через JDBC
    10.3. Запросы без ResultSet
    10.4. Домашняя работа 10.1
    10.5. Hibernate — подключение и настройка
    10.6. Домашняя работа 10.2
    10.7. Hibernate изменение данных в базе
    10.8. Связи ManyToOne и OneToMany
    10.9. Связь ManyToMany
    10.10. Домашняя работа 10.3
    10.11. Hibernate query builder
    10.12. Ленивая загрузка данных
    10.13. Where и OrderBy
    10.14. HQL
    10.15. Домашняя работа 10.4

  11. Многопоточность
    11.1. Зачем нужна многопоточность
    11.2. Класс Thread
    11.3. Интерфейс Runnable
    11.4. Домашняя работа 11.1
    11.5. Состояние гонки и критические секции
    11.6. Атомарные переменные
    11.7. Ключевое слово Volatile
    11.8. Synchronized-методы
    11.9. Synchronized-блоки
    11.10. Взаимодействие потоков — методы Wait и Notify
    11.11. Потокобезопасные классы
    11.12. Взаимная блокировка — Deadlock
    11.13. Домашняя работа 11.2
    11.14. Интерфейс Callable
    11.15. Executors, Executor и ExecutorService
    11.16. Метод Shutdown
    11.17. ThreadPoolExecutor
    11.18. ScheduledExecutorService
    11.19. Приостановка и прерывание потоков
    11.20. ForkJoinPool и RecursiveTask
    11.21. Домашняя работа 11.3

  12. Разработка веб-приложений
    12.1. Создание Maven-проекта
    12.2. Создаём приложение на Spring Boot
    12.3. Создание первого контроллера
    12.4. Домашняя работа 12.1
    12.5. Концепция MVC
    12.6. RESTful API и CRUD
    12.7. Создание контроллера
    12.8. Request, response и статусы ответов
    12.9. Домашняя работа 12.2
    12.10. Подключение к БД и создание сущности
    12.11. Репозиторий и добавление элементов в БД
    12.12. Получение данных из БД
    12.13. Изменение и удаление данных в БД
    12.14. Домашняя работа 12.3
    12.15. View и подключение шаблонов
    12.16. Домашняя работа 12.4
    12.17. Параметры конфигурации
    12.18. Упаковка приложения в JAR-файл
    12.19. Домашняя работа 12.5

  13. Нереляционные (NoSQL) базы данных
    13.1. Введение
    13.2. Основы Redis, простейшие команды
    13.3. Домашняя работа 13.1
    13.4. Сложные структуры данных в Redis
    13.5. Домашняя работа 13.2
    13.6. Сравнение Redis vs MySQL
    13.7. Базовые возможности MongoDB
    13.8. Домашняя работа 13.3
    13.9. Агрегация данных в MongoDB
    13.10. Домашняя работа 13.4
    13.11. Итоги

  14. Производительность и оптимизация
    14.1. Факторы производительности
    14.2. Преждевременная оптимизация
    14.3. Что нужно оптимизировать
    14.4. Длительность конкатенации строк
    14.5. Буферизация
    14.6. Два принципа оптимизации по времени
    14.7. Домашняя работа 14.1
    14.8. Какую память нужно экономить
    14.9. Память можно не экономить
    14.10. Буферизация
    14.11. Память и разные структуры данных
    14.12. Домашняя работа 14.2
    14.13. Чем меньше запросов, тем лучше
    14.14. Multiinsert
    14.15. Утечка памяти
    14.16. Индексация и оптимизация запросов
    14.17. Кэширование запросов
    14.18. Хранение данных
    14.19. Заключение
    14.20. Домашняя работа 14.3

  15. Распределённые хранилища и вычисления
    15.1. Что такое большие данные
    15.2. Файловая система HDFS
    15.3. Практическая работа с HDFS
    15.4. Домашняя работа 15.1
    15.5. Концепция MapReduce
    15.6. Фреймворк Apache Spark
    15.7. Установка Spark
    15.8. Запуск в Spark собственного приложения
    15.9. Запуск приложения обработки текста
    15.10. Домашняя работа 15.2
    15.11. Модуль YARN

  16. Заключительный модуль
    16.1. Заключительный модуль
    16.2. Desktop-приложения — создание интерфейса
    16.3. Desktop-приложения — события и их обработка
    16.4. Desktop-приложения — кастомизация интерфейса
    16.5. Домашняя работа 16.1
    16.6. Android-приложения
    16.7. Язык программирования Scala
    16.8. Язык программирования Kotlin
    16.9. Реактивное программирование и RxJava

  17. Бонус-модуль. Паттерны проектирования
    17.1. Что такое паттерны проектирования
    17.2. Паттерн Singleton
    17.3. Паттерн Factory
    17.4. Паттерн Abstract Factory
    17.5. Паттерн Decorator
    17.6. Паттерн Adapter
    17.7. Паттерн Bridge
    17.8. Паттерн Strategy
    17.9. Паттерн Observer
    17.10. Паттерн Iterator
    17.11. Другие паттерны

  18. Бонус-модуль. Алгоритмы
    18.1. Введение в алгоритмы
    18.2. Зачем нужны алгоритмы
    18.3. Рекурсивные алгоритмы
    18.4. Временная сложность алгоритмов
    18.5. Алгоритм бинарного поиска
    18.6. Алгоритм сортировки пузырьком
    18.7. Алгоритм сортировки QuickSort
    18.8. Алгоритм сортировки MergeSort
    18.9. Алгоритм поиска подстроки Рабина-Карпа
    18.10. Алгоритм поиска подстроки Кнута-Морриса-Пратта
    18.11. Алгоритм поиска подстроки Бойера-Мура
    18.12. Домашняя работа 18.1

  19. Бонус-модуль. Структуры данных
    19.1. Введение в структуры данных
    19.2. Зачем нужны структуры данных
    19.3. Хэш-таблицы
    19.4. Очередь и стэк
    19.5. Домашняя работа 19.1 - Связные списки
    19.6. Домашняя работа 19.2 - Бинарное дерево
    19.7. Домашняя работа 19.3 - Суффиксное дерево
    19.8. Графы

  20. Бонус-модуль. Протокол HTTP
    20.1. Протокол HTTP. Запрос и ответ
    20.2. Методы HTTP-запросов GET и POST
    20.3. Другие методы HTTP-запросов
    20.4. Статус-коды HTTP-ответов
    20.5. Адресация сетевых ресурсов
    20.6. HTTP-заголовки
    20.7. Версии протокола HTTP и HTTPS


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

  • Писать код на Java Изучите синтаксис языка, познакомитесь с переменными и операторами, научитесь писать и структурировать свой код и разбираться в чужом.

  • Работать с MySQL Узнаете, как сохранять и изменять информацию в базе данных MySQL. Научитесь писать запросы и управлять большими объёмами данных.

  • Применять принципы ООП Изучите принципы объектно-ориентированного программирования и сможете создавать сложные проекты.

  • Пользоваться Git Научитесь работать с распределённой системой контроля версий вместе с командой, сможете вносить или откатывать изменения в рамках одного проекта.

  • Создавать веб-приложения Поймёте, как превратить строки кода на Java в работающую программу, и научитесь разрабатывать веб-приложения с помощью Spring Boot.

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


Мои комментарии

  • Информативность видеоуроков недостаточная.
  • Необходимо параллельно проходить другие курсы, грызть книги и яндексить.
  • Курс подойдёт для выполнения домашних заданий
  • Курс даёт направление

About

Skillbox course "Java Developer"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages