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

    Skillbox
    Стоимость курса
    269 225 Р
    134 613 Р
    Рассрочка
    от 3 959 Р в месяц
    Длительность
    8 месяцев
    Сертификат
    Нет
    Начало курса
    В любой момент
    Трудоустройство
    Содействие

    Кому подойдет

    • Для тех, кто хочет освоить профессию Java-разработчик

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

    • Разрабатывать веб-приложения на Java
    • Работать с файловой системой и базами данных
    • Тестировать приложения
    • Знать и применять паттерны проектирования приложений
    • Знать принципы объектно-ориентированного программирования
    • Уметь разбираться в чужом коде
    • Применять алгоритмы для решения задач
    • Работать с системой контроля версий Git
    • Разрабатывать многопоточные приложения
    • Уметь работать в распределённой команде по методологии SCRUM

    Программа обучения

    Знакомство с профессией

    • Чем занимаются Java-разработчики
    • Как устроено обучение
    • Почему вы точно станете востребованным специалистом через 8 месяцев
    • Погружение в программирование. Знакомство с Java
    • Первое практическое задание
    • Инструменты для самоорганизации
    • Как найти время на курс и не бросить на полпути

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

    • Введение в модуль
    • Какие бывают программы
    • Веб-приложения. Frontend и backend
    • Цели и области применения Java
    • Как выглядит программный код
    • Установка среды разработки
    • Пишем простое приложение
    • Упаковываем приложение в один файл
    • Особенности языка Java

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

    • Переменные
    • Условные операторы “if”и “else”
    • Булевы операции
    • Приоритеты и скобки в условиях
    • Вложенные условия
    • Тернарный оператор
    • Комментарии в коде
    • Разбираем код готового приложения
    • Цикл “for”
    • Циклы “while” и “do while”
    • Операторы “break” и “continue”
    • Оператор “switch … case”
    • Оператор switch в Java 17
    • Разбираем сложный код

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

    • Методы
    • Параметры методов
    • Возвращаемые значения
    • Классы и объекты
    • Конструкторы
    • Перегрузка методов
    • Области видимости
    • Инкапсуляция
    • POJO-классы, геттеры и сеттеры
    • Records в Java 17
    • Immutable-классы
    • Передача по ссылке или по значению
    • Копирование объектов
    • Статические переменные
    • Статические методы
    • Константы
    • Enum
    • Статическая инициализация

    Примитивы

    • Примитивы и объекты
    • Виды примитивов
    • Биты и байты
    • Числа
    • Символы
    • Классы-обёртки, boxing и unboxing

    Числа и даты

    • Операции с числами
    • Инкремент и декремент
    • Преобразование (приведение) чисел
    • Точность вычислений
    • Работа с большими и точными числами
    • Дата и время
    • Метка времени (timestamp)

    Строки

    • Строки, конкатенация и сравнение
    • Преобразование чисел в строки и обратно
    • Символы и кодировки
    • Методы работы с подстроками
    • String Pool
    • Регулярные выражения

    Массивы и списки

    • Создание массивов
    • Работа с массивами в циклах
    • Многомерные массивы
    • Класс Arrays
    • Списки

    Коллекции Set, Map

    • Коллекция HashSet
    • Механизм работы HashSet
    • Коллекция TreeSet
    • Красно-черные деревья
    • Коллекции HashMap и TreeMap

    Comparator, Iterator, Collections

    • Выбор подходящей коллекции
    • Преобразование массивов и коллекций
    • Итератор
    • Класс Collections

    Наследование

    • Наследование классов Java
    • Переопределение методов
    • Переопределение статических методов
    • Класс Object
    • Модификаторы доступа

    Абстрактные классы и интерфейсы

    • Абстрактные классы
    • Интерфейсы
    • Интерфейсы в языке Java
    • Методы с дефолтной реализацией в интерфейсах
    • Полиморфизм
    • Вложенные классы

    Deployment

    • Maven
    • Команды Maven. Плагины
    • Система автоматической сборки Gradle
    • Установка системы Gradle
    • Работа с Gradle в IntelliJ IDEA
    • Docker
    • Генерация документации Javadoc

    Функциональное программирование

    • Дженерики
    • Функциональные интерфейсы
    • Лямбда-выражения
    • Класс Optional
    • Аннотации
    • Lombok
    • Введение в Stream API
    • Создание Stream
    • Промежуточные операторы
    • Терминальные операторы
    • Parallel, reduce и комбинирование операторов

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

    • Что такое исключения и зачем они нужны
    • Типы исключений
    • Обработка исключений
    • Создание собственных исключений
    • Отладка приложений
    • Логирование

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

    • Класс File
    • Чтение файлов с помощью FileInputStream
    • Чтение файлов с помощью BufferedReader
    • Чтение файлов с помощью класса Files
    • Запись в файл
    • Java NIO API
    • Табличные файлы
    • Структура XML и HTML-файлов
    • Парсинг HTML-файлов
    • Формат JSON и парсинг 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
    • ScheduledExecutorService
    • Приостановка и прерывание потоков
    • ForkJoinPool и RecursiveTask
    • Интерфейс RunnableFuture

    Протокол HTTP

    • Протокол HTTP. Запрос и ответ
    • Методы HTTP-запросов GET и POST
    • Другие методы HTTP-запросов
    • Статус-коды HTTP-ответов
    • Адресация сетевых ресурсов
    • REST: теория и практика
    • HTTP-заголовки
    • Версии протокола HTTP и HTTPS

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

    • Знакомство с фреймворком Spring
    • Inversion of Control и Dependency Injection
    • Bean и их жизненный цикл
    • Контроллеры. Аннотации @Controller и @RestController
    • Сервисы. Аннотация @Service
    • Конфигурация Spring-приложений
    • Работа с базой данных. Spring Data JPA
    • Подключение к базе данных
    • Сущности и репозитории
    • Связи между сущностями
    • Версионирование баз данных. Liquibase

    Тестирование приложений

    • Работа с базой данных. Spring Data JPA
    • Подключение к базе данных
    • Сущности и репозитории
    • Связи между сущностями
    • Версионирование баз данных. Liquibase

    Нереляционные (NoSQL) базы данных

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

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

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

    Индивидуальный итоговый проект

    Основы Spring

    • Введение в Spring: IoC + DI
    • Бины и контекст
    • Spring Context в действии
    • Скоупы бинов
    • Методы жизненного цикла бина
    • Параметры приложения
    • Профили приложения

    Spring Boot

    • Основы Spring Boot
    • Конфигурация в Spring Boot
    • Стартеры
    • Реализация стартера
    • Docker
    • Docker Compose

    Web-приложение с базой данных

    • Паттерн MVC
    • Создание простого MVCприложения
    • Методы контроллеров
    • Шаблонизаторы и основы тимлиф
    • Трехзвенная архитектура приложения
    • JDBC Template
    • Библиотека Jooq для работы с базами данных

    RestAPI с базой данных

    • RESTful API
    • RESTконтроллеры Spring
    • Тестирование контроллеров. Работа с ошибками и валидация
    • Фильтры и перехватчики. Request Scope и Session Scope
    • OpenAPI
    • Основы Spring Data JPA
    • Составление запросов с помощью Spring Data JPA
    • Транзакции в базах данных
    • AOP

    Интеграция с внешними системами (Rest)

    • Интеграция с внешними сервисами
    • HTTP клиенты
    • Декларативные методы для Restсервисов
    • Кэширование
    • Redis
    • Тестирование систем

    Интеграция с внешними системами (Kafka)

    • Очереди. Стриминговые системы. EventDriven
    • Kafka (основные компоненты и понятия)
    • Kafka Template и Kafka Listener
    • Тестирование интеграций с Kafka

    Реактивное программирование в Spring

    • Особенности реактивного подхода
    • Реактивный подход WebFlux
    • Mongo DB и ее отличие от реляционных баз данных
    • Реактивные репозитории и клиенты
    • Тестирование реактивных компонентов

    Spring Security

    • Основы безопасности
    • Основы Spring Security
    • OAUTH 2.0
    • Защита приложения с помощью JWT токенов
    • Авторизация во внешних системах
    • Тестирование с Sping Security
    • Reacive Sping Security

    Командный итоговый проект

    • О командном итоговом проекте
    • Гибкие методологии
    • Rest/Swagger
    • HTML/CSS
    • Паттерны проектирования
    • Введение в алгоритмы
    • Структуры данных
    • Разработка desktopприложений
    • Технические задания
    • Изображение пункта программы

    Трудоустройство

    Система контроля версий Git

    • Работаем с Git на своём компьютере
    • Работаем с удалённым репозиторием
    • Командная работа в Git
    • Сравнение версий и отмена изменений
    • Инструменты и правила работы с Git

    Язык запросов SQL

    • Основы SQL
    • Введение в реляционные базы данных
    • Основные запросы по работе с данными
    • Функции и выражения в SQL-запросах
    • Проектирование и оптимизация реляционных баз данных

    Презентация итоговых проектов

    • Подготовка к презентации проекта
    • Несколько уроков из курса «Мастер презентаций»

    Английский язык

    • Изучите методику ускоренного запоминания слов и грамматики
    • Пройдёте персональную программу, которая поможет заговорить с нуля
    • Посетите 4 сессии с преподавателем, чтобы улучшить произношение

    Отзывы о школе 12

    4.5 из 5
    9
    1
    1
    1
    0
    Сортировать:
    Дате публикации
    • Дата публикации
    • Популярности
    • Сначала положительные
    • Сначала отрицательные
    • Станислав 12 октября 2023

      У меня много друзей и знакомых, которые работают в информационных технологиях, в основном как веб-разработчики. Раньше я редко задумывался о программировании, но все изменилось, когда один мой близкий друг начал учиться программировать с нуля. Через три года он стал опытным back-end разработчиком с приличной заработной платой. А почему бы и мне не попробовать? В этот момент я твердо решил стать программистом, независимо от возможных трудностей. Остался только один вопрос: "Где и как учиться?". Я рассматривал варианты и так как Skillbox является самой известной онлайн-школой в СНГ, я решил попробовать их обучение. Честно говоря, я полностью доволен этим курсом, хотя для меня это были существенные расходы. Я уверенно и настойчиво двигаюсь к своей цели стать профессиональным front-end разработчиком. Хотелось бы также сказать несколько слов о моем кураторе, Иване Волике. Благодаря ему я быстро и очень хорошо осваиваю язык JavaScript. Он всегда понятно объясняет те моменты, которые мне неясны из материала курса или заданий. Возможность задавать свои вопросы в любое время и получать качественную обратную связь - одно из основных преимуществ этого курса.

      Был ли отзыв полезен?
    • Анастасия 8 августа 2023

      Я присоединилась к Скиллбокс с целью стать специалистом по C# и приобрела курс «C#-разработчик с нуля до PRO». Несмотря на моё гуманитарное образование, обучение было сложным, но увлекательным. Однокурсники и куратор всегда были готовы поделиться полезными рекомендациями, а отзывы по практическим заданиям были информативными и способствовали направлению мысли в правильное русло. К сожалению, по личным причинам я не смогла продолжить учебу на длительное время и поняла, что мое желание развиваться в области программирования иссякло. Обратившись для замены курса на другое, я была готова к отказу из-за прошедшего времени. Однако к моему счастью, я столкнулась с заботой и помощью - мне помогли определиться с новым направлением, дали консультации по тонкостям обучения на рассматриваемых курсах и ответили на все мои проницательные вопросы, а также перевели на выбранную специализацию. Хочу выразить искреннюю благодарность Роману за оказанную помощь и терпение! В общем, платформа обучения очень комфортна, материалы доступны и структурированы, преподаватели оперативно отвечают на все вопросы и оказывают поддержку. Кроме того, имеется множество бесплатных вебинаров, которые помогают определиться с дальнейшим развитием. Смело рекомендую!

      Был ли отзыв полезен?
    • Евгения 1 июня 2023

      Проходила здесь курс на менеджера маркетплейсов. Долго шла к этому, решилась уволиться с основной работы и попробовать себя в сфере информационного менеджмента. Реклама школы Skillbox шла из каждого утюга, поэтому выбор пал именно на неё. Менеджерам надо отдать должное, перезвонили мне сразу же, после отправки заявки с сайта. Курс я покупала в рассрочку, предлагается еще кредит. Курс купила начальный "Основы работы с маркетплейсами". Информации дается много, самостоятельно вряд ли столько найдешь.  Информация в основном представлена в Exel таблицах, поэтому необходим опыт, иначе вы просто не будите успевать проходить модули. Я научилась анализировать товары, поняла что такое "SEO-оптимизация". По поводу трудоустройства нет гарантии. Иногда сбрасываются вакансии в чат, но тут кто успел, тот и съел. После окончания курса я не стала искать вакансии, считаю, что мои знания поверхностны. Если более углубляться в эту тему, надо продолжать покупать курсы, а они дорогие. 

      Был ли отзыв полезен?
    Посмотреть все отзывы о Skillbox