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

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

Новая работа уже через 6 месяцев

< 50 | ч.

О курсе

Освойте язык, который популярен уже более 20 лет
На Java пишут мобильные приложения, программируют умные устройства и разрабатывают бэкенд — мозг веб-приложений и сайтов. На Java работает Сбербанк.Онлайн, Госуслуги, Яндекс.Музыка, Яндекс.Маркет и даже Minecraft.

Заработок будет расти вместе с опытом
По данным hh.ru, средняя зарплата Java-разработчика — 200 000 рублей

Итоговые навыки
Разрабатываю веб-приложения на Java

- Работаю с файловой системой и базами данных

- Тестирую приложения

- Знаю и применяю паттерны проектирования приложений

- Знаю принципы объектно-ориентированного программирования

- Умею разбираться в чужом коде

- Применяю алгоритмы для решения задач

- Работаю с системой контроля версий Git

- Разрабатываю многопоточные приложения

- Умею работать в распределённой команде по методологии SCRUM


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

1.1 Чем занимаются Java-разработчики .

1.2 Как устроено обучение .

1.3 Почему вы точно станете востребованным специалистом через 6 месяцев .

1.4 Погружение в программирование. Знакомство с Java .

1.5 Первое практическое задание .

1.6 Инструменты для самоорганизации .

1.7 Как найти время на курс и не бросить на полпути .

2.1 Введение в модуль .

2.2 Какие бывают программы .

2.3 Веб-приложения. Frontend и backend .

2.4 Цели и области применения Java .

2.5 Как выглядит программный код .

2.6 Установка среды разработки .

2.7 Пишем простое приложение .

2.8 Упаковываем приложение в один файл .

2.9 Особенности языка Java .

3.1 Переменные .

3.2 Условные операторы “if”и “else” .

3.3 Булевы операции .

3.4 Приоритеты и скобки в условиях .

3.5 Вложенные условия .

3.6 Тернарный оператор .

3.7 Комментарии в коде .

3.8 Разбираем код готового приложения .

3.9 Цикл “for” .

3.10 Циклы “while” и “do while” .

3.11 Операторы “break” и “continue” .

3.12 Оператор “switch … case” .

3.13 Оператор switch в Java 17 .

3.14 Разбираем сложный код .

4.1 Методы .

4.2 Параметры методов .

4.3 Возвращаемые значения .

4.4 Классы и объекты .

4.5 Конструкторы .

4.6 Перегрузка методов .

4.7 Области видимости .

4.8 Инкапсуляция .

4.9 POJO-классы, геттеры и сеттеры .

4.10 Records в Java 17 .

4.11 Immutable-классы .

4.12 Передача по ссылке или по значению .

4.13 Копирование объектов .

4.14 Статические переменные .

4.15 Статические методы .

4.16 Константы .

4.17 Enum .

4.18 Статическая инициализация .

5.1 Примитивы и объекты .

5.2 Виды примитивов .

5.3 Биты и байты .

5.4 Числа .

5.5 Символы .

5.6 Классы-обёртки, boxing и unboxing .

6.1 Операции с числами .

6.2 Инкремент и декремент .

6.3 Преобразование (приведение) чисел .

6.4 Точность вычислений .

6.5 Работа с большими и точными числами .

6.6 Дата и время .

6.7 Метка времени (timestamp) .

7.1 Строки, конкатенация и сравнение .

7.2 Преобразование чисел в строки и обратно .

7.3 Символы и кодировки .

7.4 Методы работы с подстроками .

7.5 String Pool .

7.6 Регулярные выражения .

8.1 Создание массивов .

8.2 Работа с массивами в циклах .

8.3 Многомерные массивы .

8.4 Класс Arrays .

8.5 Списки .

9.1 Коллекция HashSet .

9.2 Механизм работы HashSet .

9.3 Коллекция TreeSet .

9.4 Красно-черные деревья .

9.5 Коллекции HashMap и TreeMap .

10.1 Выбор подходящей коллекции .

10.2 Преобразование массивов и коллекций .

10.3 Итератор .

10.4 Класс Collections .

11.1 Наследование классов Java .

11.2 Переопределение методов .

11.3 Переопределение статических методов .

11.4 Класс Object .

11.5 Модификаторы доступа .

12.1 Абстрактные классы .

12.2 Интерфейсы .

12.3 Интерфейсы в языке Java .

12.4 Методы с дефолтной реализацией в интерфейсах .

12.5 Полиморфизм .

12.6 Вложенные классы .

13.1 Maven .

13.2 Команды Maven. Плагины .

13.3 Система автоматической сборки Gradle .

13.4 Установка системы Gradle .

13.5 Работа с Gradle в IntelliJ IDEA .

13.6 Docker .

13.7 Генерация документации Javadoc .

14.1 Дженерики .

14.2 Функциональные интерфейсы .

14.3 Лямбда-выражения .

14.4 Класс Optional .

14.5 Аннотации .

14.6 Lombok .

14.7 Введение в Stream API .

14.8 Создание Stream .

14.9 Промежуточные операторы .

14.10 Терминальные операторы .

14.11 Parallel, reduce и комбинирование операторов .

15.1 Что такое исключения и зачем они нужны .

15.2 Типы исключений .

15.3 Обработка исключений .

15.4 Создание собственных исключений .

15.5 Отладка приложений .

15.6 Логирование .

16.1 Класс File .

16.2 Чтение файлов с помощью FileInputStream .

16.3 Чтение файлов с помощью BufferedReader .

16.4 Чтение файлов с помощью класса Files .

16.5 Запись в файл .

16.6 Java NIO API .

16.7 Табличные файлы .

16.8 Структура XML и HTML-файлов .

16.9 Парсинг HTML-файлов .

16.10 Формат JSON и парсинг JSON файлов .

16.11 Формат JSON .

16.12 Конфигурационные файлы .

17.1 Установка MySQL .

17.2 Подключение через JDBC .

17.3 Запросы без ResultSet .

17.4 Hibernate — подключение и настройка .

17.5 Hibernate: изменение данных в базе .

17.6 Связи ManyToOne и OneToMany .

17.7 Связь ManyToMany .

17.8 Hibernate query builder .

17.9 Ленивая загрузка данных .

17.10 Where и OrderBy .

17.11 HQL .

18.1 Зачем нужна многопоточность .

18.2 Класс Thread .

18.3 Интерфейс Runnable .

18.4 Состояние гонки и критические секции .

18.5 Атомарные переменные .

18.6 Ключевое слово Volatile .

18.7 Synchronized-методы .

18.8 Synchronized-блоки .

18.9 Взаимодействие потоков — методы Wait и Notify .

18.10 Потокобезопасные классы .

18.11 Взаимная блокировка — Deadlock .

18.12 Интерфейс Callable .

18.13 Executors, Executor и ExecutorService .

18.14 Метод Shutdown .

18.15 ThreadPoolExecutor .

18.16 ScheduledExecutorService .

18.17 Приостановка и прерывание потоков .

18.18 ForkJoinPool и RecursiveTask .

18.19 Интерфейс RunnableFuture .

19.1 Протокол HTTP. Запрос и ответ .

19.2 Методы HTTP-запросов GET и POST .

19.3 Другие методы HTTP-запросов .

19.4 Статус-коды HTTP-ответов .

19.5 Адресация сетевых ресурсов .

19.6 REST: теория и практика .

19.7 HTTP-заголовки .

19.8 Версии протокола HTTP и HTTPS .

20.1 Знакомство с фреймворком Spring .

20.2 Inversion of Control и Dependency Injection .

20.3 Bean и их жизненный цикл .

20.4 Контроллеры. Аннотации @Controller и @RestController .

20.5 Сервисы. Аннотация @Service .

20.6 Конфигурация Spring-приложений .

20.7 Работа с базой данных. Spring Data JPA .

20.8 Подключение к базе данных .

20.9 Сущности и репозитории .

20.10 Связи между сущностями .

20.11 Версионирование баз данных. Liquibase .

21.1 Работа с базой данных. Spring Data JPA .

21.2 Подключение к базе данных .

21.3 Сущности и репозитории .

21.4 Связи между сущностями .

21.5 Версионирование баз данных. Liquibase .

22.1 Основы Redis, простейшие команды .

22.2 Сложные структуры данных в Redis .

22.3 Сравнение Redis vs MySQL .

22.4 Базовые возможности MongoDB .

22.5 Агрегация данных в MongoDB .

23.1 Факторы производительности .

23.2 Преждевременная оптимизация .

23.3 Что нужно оптимизировать .

23.4 Длительность конкатенации строк .

23.5 Буферизация .

23.6 Два принципа оптимизации по времени .

23.7 Какую память нужно экономить .

23.8 Память можно не экономить .

23.9 Память и разные структуры данных .

23.10 Чем меньше запросов, тем лучше .

23.11 Multiinsert .

23.12 Утечка памяти .

23.13 Индексация и оптимизация запросов .

23.14 Кэширование запросов .

23.15 Хранение данных .

25.1 Введение в Spring: IoC + DI .

25.2 Бины и контекст .

25.3 Spring Context в действии .

25.4 Скоупы бинов .

25.5 Методы жизненного цикла бина .

25.6 Параметры приложения .

25.7 Профили приложения .

26.1 Основы Spring Boot .

26.2 Конфигурация в Spring Boot .

26.3 Стартеры .

26.4 Реализация стартера .

26.5 Docker .

26.6 Docker Compose .

27.1 Паттерн MVC .

27.2 Создание простого MVCприложения .

27.3 Методы контроллеров .

27.4 Шаблонизаторы и основы тимлиф .

27.5 Трехзвенная архитектура приложения .

27.6 JDBC Template .

27.7 Библиотека Jooq для работы с базами данных .

28.1 RESTful API .

28.2 RESTконтроллеры Spring .

28.3 Тестирование контроллеров. Работа с ошибками и валидация .

28.4 Фильтры и перехватчики. Request Scope и Session Scope .

28.5 OpenAPI .

28.6 Основы Spring Data JPA .

28.7 Составление запросов с помощью Spring Data JPA .

28.8 Транзакции в базах данных .

28.9 AOP .

29.1 Интеграция с внешними сервисами .

29.2 HTTP клиенты .

29.3 Декларативные методы для Restсервисов .

29.4 Кэширование .

29.5 Redis .

29.6 Тестирование систем .

30.1 Очереди. Стриминговые системы. EventDriven .

30.2 Kafka (основные компоненты и понятия) .

30.3 Kafka Template и Kafka Listener .

30.4 Тестирование интеграций с Kafka .

31.1 Особенности реактивного подхода .

31.2 Реактивный подход WebFlux .

31.3 Mongo DB и ее отличие от реляционных баз данных .

31.4 Реактивные репозитории и клиенты .

31.5 Тестирование реактивных компонентов .

32.1 Основы безопасности .

32.2 Основы Spring Security .

32.3 OAUTH 2.0 .

32.4 Защита приложения с помощью JWT токенов .

32.5 Авторизация во внешних системах .

32.6 Тестирование с Sping Security .

32.7 Reacive Sping Security .

33.1 О командном итоговом проекте .

33.2 Гибкие методологии .

33.3 Rest/Swagger .

33.4 HTML/CSS .

33.5 Паттерны проектирования .

33.6 Введение в алгоритмы .

33.7 Структуры данных .

33.8 Разработка desktopприложений .

33.9 Технические задания .

35.1 Работаем с Git на своём компьютере .

35.2 Работаем с удалённым репозиторием .

35.3 Командная работа в Git .

35.4 Сравнение версий и отмена изменений .

35.5 Инструменты и правила работы с Git .

36.1 Основы SQL .

36.2 Введение в реляционные базы данных .

36.3 Основные запросы по работе с данными .

36.4 Функции и выражения в SQL-запросах .

36.5 Проектирование и оптимизация реляционных баз данных .

37.1 Подготовка к презентации проекта .

37.2 Несколько уроков из курса «Мастер презентаций» .


Школы

Skillbox
Skillbox

Skillbox – один из лидеров российского рынка онлайн-образования.


Другие курсы и вебинары авторов

Основы аналитики 1C
< 50 | ч.
Основы аналитики 1C
6 206 ₽ 3 413 ₽ (скидка 45%)
Философия искусственного интеллекта
< 50 | ч.
Философия искусственного интеллекта
5 130 ₽ 3 078 ₽ (скидка 40%)
Ал­го­рит­мы и струк­ту­ры дан­ных для раз­ра­бот­чи­ков
< 50 | ч.
Ал­го­рит­мы и струк­ту­ры дан­ных для раз­ра­бот­чи­ков
5 562 ₽ 3 893 ₽ (скидка 30%)
Android-разработчик. Базовый уровень
< 50 | ч.
Android-разработчик. Базовый уровень
9 385 ₽ 6 100 ₽ (скидка 35%)
Автоматизиро­ван­ное тестирование на Java
< 50 | ч.
Автоматизиро­ван­ное тестирование на Java
3 668 ₽ 2 567 ₽ (скидка 30%)
Автоматизирован­ное тестирование веб-приложений на JavaScript
< 50 | ч.
Автоматизирован­ное тестирование веб-приложений на JavaScript
5 500 ₽ 3 575 ₽ (скидка 35%)
Профессия Data Engineer
< 50 | ч.
Профессия Data Engineer
9 759 ₽ 5 367 ₽ (скидка 45%)
Базы данных для разработчиков
< 50 | ч.
Базы данных для разработчиков
7 548 ₽ 4 151 ₽ (скидка 45%)
Карьера разработчика: трудоустройство и развитие
< 50 | ч.
Карьера разработчика: трудоустройство и развитие
8 882 ₽ 4 885 ₽ (скидка 45%)
Инфраструктур­ная платформа на основе Kubernetes
< 50 | ч.
Инфраструктур­ная платформа на основе Kubernetes
5 357 ₽ 3 482 ₽ (скидка 35%)
Старт в DevOps: системное администрирова­ние для начинающих
< 50 | ч.
Старт в DevOps: системное администрирова­ние для начинающих
6 152 ₽ 4 306 ₽ (скидка 30%)
Python-фреймворк Django
< 50 | ч.
Python-фреймворк Django
55 946 ₽ 5 128 ₽ (скидка 91%)
Введение в Data Science
< 50 | ч.
Введение в Data Science
9 242 ₽ 5 083 ₽ (скидка 45%)
Как подготовиться к про­фес­сио­нальной конференции
< 50 | ч.
Как подготовиться к про­фес­сио­нальной конференции
20 625 ₽ 2 234 ₽ (скидка 89%)
Профессия Frontend-разработчик
< 50 | ч.
Профессия Frontend-разработчик
6 286 ₽ 3 457 ₽ (скидка 45%)
Профессия Frontend-разработчик PRO
< 50 | ч.
Профессия Frontend-разработчик PRO
9 822 ₽ 4 911 ₽ (скидка 50%)
Введение в аналитику
< 50 | ч.
Введение в аналитику
Бесплатно
iOS-разработчик
< 50 | ч.
iOS-разработчик
9 930 ₽ 5 461 ₽ (скидка 45%)
Профессия iOS-разработчик
< 50 | ч.
Профессия iOS-разработчик
8 186 ₽ 4 502 ₽ (скидка 45%)
Профессия IT-рекрутер
< 50 | ч.
Профессия IT-рекрутер
6 874 ₽ 3 437 ₽ (скидка 50%)

Стоимость

3 959 ₽

7 199 ₽

Купить Порекомендуйте курс вашей аудитории, есть партнерка.