Продюсер YouTube-шоу

на Отзовике, IRecommend и TutorTop
2 проекта в портфолио
Познакомитесь с базой программирования на Java, научитесь создавать свои типы и проектировать программы с нуля. В домашних заданиях напишете несколько консольных приложений, включая приложение наполнения корзины товаров в магазине.
9 часов теории
21 час практики
Введение в программирование на Java
Структура программы
Условные операторы и циклы
Типы данных в Java: примитивы
Типы данных в Java: примитивы
Типы данных в Java: объекты
Массивы одномерные
Массивы многомерные
Разбор вопросов по занятиям
Проекты:
Планировщик продуктовой корзины Налоговый помощник для индивидуального предпринимателя
3 проекта в портфолио
Глубже познакомитесь с системой типов и объектно-ориентированным программированием, расширите инструментарий для работы с наборами данных. Попрактикуетесь писать консольные программы и программировать сложные типы данных, включая программу хранения телефонных контактов.
12 часов теории
51 часов практики
Модификаторы доступа, наследование
Полиморфизм
Абстракции и интерфейсы
Исключения, Stacktrace
Разбор вопросов по занятиям
Generics в коллекциях и методах
Коллекции List
Коллекции HashSet и HashMap
Коллекции TreeMap и TreeSet
Коллекции Queue
Разбор вопросов по занятиям
Проекты:
Программа для проверки надёжности пароля Сервис расчёта стоимости доставки
Курсовой проект: Конвертер в текстовую графику
Научитесь работать с системой Git и с сервисом GitHub. Опубликуете свои домашние работы и уже в процессе обучения сформируете полное портфолио
4 часа теории
3 часа практики
Знакомство с системой контроля версий Git
Работа с локальным репозиторием в Git
Работа с удалённым репозиторием через GitHub
Командная работа в Git и GitHub. Часть 1
Командная работа в Git и GitHub. Часть 2
Вебинар с ответами на вопросы
Java Core — фундаментальные основы языка, которых достаточно для дальнейшей стажировки или работы на junior-специальности. Вы с нуля изучите работу с автотестами, что поможет вам проверять свои проекты на ошибки. Начнёте работать с сетями, изучите сетевые протоколы UPD, TCP/HTTP, OSI. Сможете читать файлы разных форматов: txt, json, xml. Научитесь разрабатывать клиент-серверные приложения.
12 часов теории
27 часов практики
Лямбда-выражения и функциональные интерфейсы. Stream API
Потоки ввода-вывода. Работа с файлами. Сериализация
Сборка проектов. Maven и Gradle
Работа с файлами CSV, XML, JSON
Тестирование кода и Unit-тесты
Mockito. Мокирование вызовов, Mock
Основы работы с сетью. Модель OSI, TCP, UDP
Протокол HTTP. Вызов удалённых серверов
JVM. Организация памяти, сборщики мусора, VisualVM
Узнаете о разных шаблонах проектирования, научитесь их использовать и писать красивый и понятный код. Такие шаблоны позволяют быстрее решать задачи, используя лучшие решения, а также быстрее понимать чужой код. Знания пригодятся вам во время работы в крупной команде разработки.
4 часа теории
6 часов практики
Порождающие, структурные и поведенческие шаблоны
Свойства хорошего кода и принцип SOLID
1 проект в портфолио
Изучите продвинутые техники программирования, которые позволяют оптимизировать и ускорить работу программы. Освоите техники параллельного программирования, функционального программирования, синхронный и асинхронный вызов (blocking and non-blocking IO).
7 часов теории
34 часов практики
Многопоточное (параллельное) программирование. Создание и запуск потоков
Работа с синхронизацией
Переменные многопоточной программы
Коллекции для параллельной (конкурирующей) работы
Клиент-серверное взаимодействие. Blocking и Non-Blocking IO
Функциональное программирование
Методология разработки. TDD, DDD
Курсовой проект: Сетевой чат
Spring — самый популярный фреймворк для работы с Java. Его изучение на курсе будет идти постепенно. Это первый из трёх модулей, посвященных изучению Spring. Здесь вы научитесь работать с Spring MVC, контейнерами Servlet, протоколами HTTP и REST API.
12 часов теории
24 часа практики
HTTP и современный Web
Формы и форматы передачи данных
JavaScript, AJAX, REST, JSON, CORS
Servlets Containers
Dependency Lookup, Dependency Injection, IoC, Application Context
Spring Web MVC
1 проект в портфолио
Продолжите углублять свои знания о работе с фреймворком Spring. Узнаете, из чего состоит Spring Boot и как с ним работать, научитесь разворачивать Spring Boot приложения в Linux, а также упаковывать Spring Boot приложения в Docker-контейнеры.
6 часов теории
44 часа практики
Spring Boot: назначение и внутреннее устройство
REST
Разворачивание Spring Boot приложений: nginx, systemd, firewall, journalctl
Основы работы: Docker, Docker Compose, упаковка приложений
Обзорная лекция: TestContainers, Kubernetes, облака
Курсовой проект: Сервис перевода денег
Научитесь работать с реляционными базами данных, освоите JPA и Spring Data JPA и подключите в свои приложения Spring Security. Изучите основы нереляционных баз данных и получите базовое понимание NoSQL.
14 часов теории
32 часа практики
SQL: основы работы, DDL, DML
SQL: вложенные подзапросы, JOIN'ы, агрегирующие запросы
JDBC API, JdbcTemplate, NamedParametersJdbcTemplate
Введение в NoSQL: Типы баз данных и их применение
ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
Spring JPA Repositories, JPQL
Безопасность в веб-приложениях, Spring Security
Аутентификация и авторизация
Изучите ключевые принципы микросервисов. Познакомитесь со Spring Cloud — популярным инструментом конфигурации микросервисов. Узнаете, как обеспечить взаимодействие микросервисов между собой и изучите важность брокеров сообщений, таких как Kafka и RabbitMQ.
10 часов теории
20 часов практики
Введение в микросервисы и их основные принципы. Преимущества и недостатки микросервисной архитектуры
Spring Cloud: конфигурация микросервисов
Взаимодействие микросервисов через RESTful API
Брокеры сообщений: Kafka & RabbitMQ
Разбор вопросов