Программа и содержание
Сайт: Сайт автора
Для кого этот курс:
Для 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: Мониторинг, сбор логов и метрик
Преподаватели:
Сергей Окатов, Николай Никольский, Евгений Непомнящий, Кирилл Крылов, Анастасия Порхун, Александр Брут-Бруляко