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

4692

Научим программировать на самом востребованном языке.

Курс возможно приобрести в рассрочку. Полгода обучения бесплатно — первый платеж через 6 месяцев!

Стоимость указана за месяц.

Программа

22 темы, разработанные на основе требований работодателей методологами-практиками программирования. Без «воды», только важная информация.

Основной блок

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

  1. Какие бывают программы.
  2. Где и для чего применяется Java.
  3. Как выглядит программный код.
  4. Установка среды разработки.
  5. Исправляем готовое приложение.
  6. Пишем консольное приложение.

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

  1. Что вообще бывает в коде.
  2. Переменные в Java.
  3. Boolean, операторы сравнения и условные операторы.
  4. Циклы.
  5. Разбираем сложный код.

 

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

  1. Версии программного кода.
  2. Установка Git.
  3. Индекс и частичные коммиты.
  4. Сравнение версий.
  5. Отмена изменений и откат версий.
  6. Репозитории и коллективная работа.
  7. Ветки: создание и управление.
  8. Слияние и разрешение конфликтов.
  9. Полезные инструменты.
  10. Правила работы с Git.

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

  1. Понятие класса и объекта.
  2. Метод, параметры, return.
  3. Статические методы и переменные.
  4. Константы и Enum.
  5. Создание объектов и конструктор.
  6. Инкапсуляция, геттеры и сеттеры.
  7. Копирование объектов.
  8. Внешние библиотеки классов.
  9. Создание JAR-файлов.

Числа, строки, даты

  1. Объекты и примитивы.
  2. Зачем нужны объекты и примитивы.
  3. Значения по умолчанию.
  4. Boxing и unboxing.
  5. Какие бывают числа.
  6. Биты и байты.
  7. Числа int и double.
  8. Точность чисел с плавающей точкой.
  9. Преобразование чисел разных типов.
  10. Преобразование строки в число и обратно.
  11. Какие бывают операции с числами.
  12. Инкремент и декремент.
  13. Класс Math.
  14. Символы и кодировки.
  15. Специальные символы.
  16. Методы класса String.
  17. Конкатенация строк.
  18. Сравнение строк.
  19. Регулярные выражения.
  20. Календарь и метка времени.

Массивы и коллекции

  1. Создание массивов.
  2. Перебор элементов массивов.
  3. Обход массивов в обратном порядке.
  4. Массивы массивов.
  5. Списки элементов.
  6. Наборы уникальных элементов.
  7. HashMap и TreeMap.
  8. Поиск и сортировка.

Наследование и полиморфизм

  1. Наследование классов Java.
  2. Доступ к методам и переменным.
  3. Абстрактные классы.
  4. Интерфейсы.
  5. Полиморфизм.
  6. Интерфейс Comparable.
  7. Интерфейс Comparator.
  8. Краткая реализация интерфейсов.
  9. Интерфейсы Map и Set.

Особенности ООП в Java

  1. Лямбда-выражения.
  2. Указатели на методы.
  3. Метод forEach.
  4. Способы получения Stream.
  5. Sorted, max, min.
  6. Map reduce.
  7. Static- и default-методы в интерфейсах.
  8. Generics.
  9. Система сборки Maven.
  10. Репозиторий Maven.
  11. Аннотации и Lombok.

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

  1. Возникновение исключений.
  2. Отлов исключений.
  3. Типы исключений.
  4. Отладка приложений.
  5. Виды тестирования ПО.
  6. Модульное тестирование.
  7. Логирование в консоли.
  8. Логирование с помощью log4j2.

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

  1. Класс File.
  2. Чтение файлов с помощью FileInputStream.
  3. Чтение файлов с помощью BufferedReader.
  4. Чтение файлов с помощью класса Files.
  5. Запись в файл.
  6. Табличные файлы.
  7. Структура XML и HTML-файлов.
  8. Парсинг HTML-файлов.
  9. Формат JSON и парсинг JSON-файлов.
  10. Конфигурационные файлы.

Работа с MySQL в Java

  1. Установка MySQL.
  2. Подключение через JDBC.
  3. Запросы без ResultSet.
  4. Hibernate: подключение и настройка.
  5. Hibernate: изменение данных в базе.
  6. Связи ManyToOne и OneToMany.
  7. Связь ManyToMany.
  8. Hibernate query builder.
  9. Ленивая загрузка данных.
  10. Where и OrderBy.
  11. HQL.

Многопоточность

  1. Зачем нужна многопоточность.
  2. Класс Thread.
  3. Интерфейс Runnable.
  4. Состояние гонки и критические секции.
  5. Атомарные переменные.
  6. Ключевое слово Volatile.
  7. Synchronized-методы.
  8. Synchronized-блоки.
  9. Взаимодействие потоков — методы Wait и Notify.
  10. Потокобезопасные классы.
  11. Взаимная блокировка — Deadlock.
  12. Интерфейс Callable.
  13. Executors, Executor и ExecutorService.
  14. Метод Shutdown.
  15. ThreadPoolExecutor.
  16. SheduledExecutorService.
  17. Приостановка и прерывание потоков.
  18. ForkJoinPool и RecursiveTask.

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

  1. Создание Maven-проекта.
  2. Создание приложения на Spring Boot.
  3. Создание первого контроллера.
  4. Концепция MVC.
  5. RESTful API и CRUD.
  6. Создание контроллера.
  7. Request, response и статусы ответов.
  8. Подключение к БД и создание сущности.
  9. Репозиторий и добавление элементов в БД.
  10. Получение данных из БД.
  11. Изменение и удаление данных в БД.
  12. View и подключение шаблонов.
  13. Параметры конфигурации.
  14. Упаковка приложения в JAR-файл.

Нереляционные базы данных и очереди

  1. Введение.
  2. Основы Redis, простейшие команды.
  3. Сложные структуры данных в Redis.
  4. Сравнение Redis и MySQL.
  5. Базовые возможности MongoDB.
  6. Агрегация данных в MongoDB.

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

  1. Факторы производительности.
  2. Преждевременная оптимизация.
  3. Что нужно оптимизировать.
  4. Длительность конкатенации строк.
  5. Буферизация.
  6. Два принципа оптимизации по времени.
  7. Какую память нужно экономить.
  8. Память можно не экономить.
  9. Память и разные структуры данных.
  10. Чем меньше запросов, тем лучше.
  11. Multiinsert.
  12. Утечка памяти.
  13. Индексация и оптимизация запросов.
  14. Кэширование запросов.
  15. Хранение данных.

Распределённые хранилища и вычисления

  1. Что такое большие данные.
  2. Файловая система HDFS.
  3. Практическая работа с HDFS.
  4. Концепция MapReduce.
  5. Фреймворк Apache Spark.
  6. Установка Spark.
  7. Запуск в Spark собственного приложения.
  8. Запуск приложения обработки текста.
  9. Модуль YARN.

Заключительный модуль

  1. Desktop-приложения: создание интерфейса.
  2. Desktop-приложения: события и их обработка.
  3. Desktop-приложения: кастомизация интерфейса.
  4. Android-приложения.
  5. Язык программирования Scala.
  6. Язык программирования Kotlin.
  7. Реактивное программирование. RxJava.

Бонусные курсы

Универсальные знания программиста

  1. Как стать первоклассным программистом
  2. Вёрстка email-рассылок. Советы на реальных примерах
  3. The state of soft skills
  4. Как мы создавали карту развития для разработчиков
  5. Как общаться по email и эффективно работать с почтой?
  6. Повышение своей эффективности
  7. Спор о первом языке программирования
  8. Саморазвитие: как я не усидел на двух стульях и нашёл третий
  9. Data-driven-подход к продуктивности — инсайты из данных миллиона людей
  10. Протокол HTTP
  11. Введение в алгоритмы

Английский для IT-специалистов

  1. IT Resume and CV
  2. Job interview: questions and answers
  3. Teamwork
  4. Workplace communication
  5. Business letter
  6. Software development
  7. System concept development and SRS
  8. Design
  9. Development and Testing
  10. Deployment and Maintenance

Дипломные проекты

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

  • Вы разработаете систему управления контентом на примере habr.com: самостоятельно реализуете работающий блог с регистрацией, публикацией постов, лайками, модерацией и статистикой.

Командный проект: разработка соцсети

  • Под руководством опытного тимлида вы в составе команды из 5–7 человек создадите собственную социальную сеть за три месяца. Фактически эта часть программы приравнивается к стажировке. Вам выдадут ТЗ и дизайн проекта. Все процессы, через которые вы пройдёте, — это максимально приближенный к боевым условиям опыт. Именно так создаётся коммерческое ПО в фирмах-работодателях.

Что получит слушатель по окончании

  • Диплом Skillbox
  • Портфолио
  • Помощь в трудоустройстве

Ваше резюме после обучения

  • Должность: Java-разработчик
  • Зарплата от: 100 000 ₽

Профессиональные навыки:

  • Администрирование и деплой пилотных работ
  • Знание принципов ООП
  • Умение ставить и соблюдать сроки
  • Привычка писать комментируемый и строго форматированный код
  • Разработка веб-приложений на Java
  • Разработка веб-приложений на фреймворке Spring
  • Навыки написания запросов к реляционным базам данных
  • Умение разбираться в чужом коде
  • Работа с системой контроля версий Git
Форма оплаты

Рассрочка платежей

Онлайн школа

SkillBox

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

9 месяцев

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

Школа помогает с трудоустройством

Время доступа к материалам

Не ограничено

Отзывы

Отзывов пока нет.

Добавить отзыв

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