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

Оставить заявку

Продолжительность курса

9 месяцев

2925 руб. в месяц

Записаться
Метро

Метро

Уровень подготовки

Уровень подготовки

Начальный, Продвинутый, Профессиональный

slide 1

Возраст

Взрослые

О курсе программирования

Научим программировать на самом востребованном языке.
Длительность:
9 месяцев
Практика:
очень много практики
Средняя зарплата:
100 000 рублей
Доступ к курсу:
навсегда
Для кого этот курс
Начинающих программистов
Возможно, вы уже имеете базовые навыки и представление о программировании и применяете эти знания в своих проектах. Наш курс даст вам углубленное знание универсального языка Java, и вы начнёте правильно структурировать код и соблюдать всеми «любимый» синтаксис для создания выдающихся проектов.
Новичков
Если вас привлекают современные технологии и высокая зарплата в сфере IT, то этот курс точно для вас. Вы научитесь писать код, узнаете, что легенда о том, что программист должен в совершенстве знать математику, — это выдумка, станете мыслить критически и сможете кодить на самом популярном языке в мире.
Учитесь сейчас, платите потом!
Расходы за первые шесть месяцев обучения берёт на себя Skillbox. В это время вы посещаете лекции и воркшопы, прокачиваете навыки, находите себе работу и начинаете зарабатывать.
Помощь в трудоустройстве
Рекомендации по составлению портфолио и резюме
Подготовка к собеседованию в компаниях-партнёрах
Реальные заказчики
на защите диплома
Персональные консультации по развитию карьеры
Заказать звонок

Программа курса программирования

Программа курса Skillbox. Профессия Java-разработчик
  • Вводный модуль.Какие бывают программы. Где и для чего применяется 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
  • Дополнительные модули. Универсальные знания программиста. Английский для IT-специалистов
Читать подробнее Скрыть

Отзывы о курсе

Рейтинг: 5 (19 отзывов)
Качество обучения
Программа курса
Преподаватели
Расположение
Помещение и инфраструктура школы
Соотношение цена/качество

Остались вопросы?

Оставьте свой номер и мы вам перезвоним!

Оставить заявку
Фотографии, видео, текст взяты из открытого источника - https://skillbox.ru/course/profession-java/. Автор произведений не известен. Данные материалы используются исключительно в информационных, учебных и новостных целях.
Оставьте ваши контактные данные и мы перезвоним в течение 12 минут!
Нажимая на кнопку, вы соглашаетесь с Политикой конфиденциальности и даете согласие на обработку персональных данных.