Программа и содержание

Сайт: Сайт автора

Для кого этот курс:

Для Java-разработчиков. Kotlin полностью совместим с Java, поэтому освоить его просто. Он легко интегрируется в существующие проекты и предлагает современные инструменты для более качественный и удобной бэкенд-разработки.

Для разработчиков других языков. Синтаксис Kotlin — прост и выразителен. Если вы владеете PHP, Python, jаvascript или C#, перейти на Kotlin будет легко. Он даст новые инструменты, упрощающие бэкенд-разработку.

Для мобильных разработчиков. Сможете сохранить единый язык программирования на фронтенде (Android) и на бэкенде. Это упростит командную работу, повысит эффективность разработки.

Для Kotlin бэкенд-разработчиков. Узнаете о современных практиках разработки: о чистой архитектуре, микросервисах, технологиях высокой доступности и обработке больших данных.

Необходимые знания:

опыт программирования на любом языке ООП

SQL

навыки работы с Linux

Будет плюсом:

опыт программирования на Java

знание шаблонов проектирования

умение писать чистый код

навыки использования git

Что вам даст этот курс:

Вы узнаете, как разрабатывать гибкие и высокопроизводительные серверные приложения на языке Kotlin. Изучите архитектурные подходы и практики, а также современные инструменты: системы хранения, обозреваемости, мониторинга и безопасности.

На вебинарах преподаватели покажут, как разрабатывается проект маркетплейса: от идеи и постановки задачи — до конечного решения.

Вы научитесь:

использовать язык Kotlin для разработки серверных приложений

создавать приложения для разных платформ с помощью Kotlin Multiplatform: JS, JVM, Native (Linux, Windows, MacOs, Android, iOS)

применять асинхронное и многопоточное программирование с корутинами

использовать OpenAPI и Kotlin Multiplatform и выполнять интеграцию бэкенд-приложения с различным фронтендом

использовать Kotlin вместе с 10 фреймворками, включая Spring и Ktor, а также с бессерверными библиотеками

реализовывать асинхронный транспорт с применением WebSocket, RabbitMQ и Kafka

строить хранилища на базе SQL, NoSQL и NewSQL: Postgres, Cassandra, ArcadeDb

писать приложения с монолитной, микросервисной и бессерверной архитектурой

разрабатывать гибкую и надёжную бизнес-логику любой сложности, используя инструменты Kotlin DSL, ООП и null-safety

проектировать архитектуру приложений, применяя модульную разработку, DDD, TDD, MDD

формировать архитектуру приложения с учётом требований законодательства в области защиты информации

внедрять в приложения элементы BI, чтобы получать аналитические отчёты по функционированию и бизнес-процессам

Программа второй части

3. Подготовка к разработке

В модуле обсуждается этап подготовки к старту проекта, который предшествует началу разработки. Среди тем рассматривается работа с идеей проекта, маркетинговая проработка, формирование требований и организация тестирования. Также обсуждается целевая архитектура проекта, инфраструктура сборки и функционирования. Модуль важен тем, что позволяет выполнить планирование и проработку выпускного проекта студента. Результатами работы в учебном модуле будут следующие: 1) список требований и критериев приемки к выпускному проекту; 2) описание API, с которым будет работать выпускной проект студента; 3) готовая инфраструктура для тестирования, развертывания и мониторинга выпускного проекта.

Тема 1: Выбор проекта и консультация по пройденному материалу // ДЗ

Тема 2: Маркетинг и аналитика проекта

Тема 3: Общие принципы защиты информации

Тема 4: Архитектурные принципы и архитектура проекта

Тема 5: Основы DevOps и среда выполнения приложения

4. Разработка API

Модуль посвящен разработке API и освоению различных элементов ООП. В нем студент разработает собственное API для выпускного проекта, сделает комплект различных классов для внутреннего использования в приложении, а также научится делать мапинг между этими сущностями. Также в модуле обсуждаются вопросы тестирования и мониторинга системы на базе логов. Обязательным результатом работы по учебному модулю являются: 1) API; 2) внутренние модели; 3) маперы. Опционально студент может освоить следующие темы: 1) разработка сквозных и интеграционных тестов; 2) разработка библиотек логирования.

Тема 1: Создаем интерфейс с помощью OpenAPI // ДЗ

Тема 2: Создаем внутренние модели и маперы

Тема 3: Тестирование проекта

Тема 4: Мониторинг, сбор логов и метрик

Преподаватели:

Сергей Окатов, Николай Никольский, Евгений Непомнящий, Кирилл Крылов, Анастасия Порхун, Александр Брут-Бруляко