Тариф: Standart
спікери курсу: Єгор Лук'янов, Олександр Вагнер
- на курсі переймемося мисленням архітектора і почнемо думати далі, ніж бачимо, щоб код нагадував витвір мистецтва, а не руїни.
- Навчіться писати чисті та керовані проекти, створювати підтримувані системи та організовувати код.
- безкоштовно зробимо всі можливі помилки під час практичних завдань, щоб потім уникнути їх в роботі і зберегти мільйони.
- У минулому багато додатків створювалися без проектування. Це здавалося зручним: ніяких витрат, пов'язаних з плануванням, прискорене прототипування.
- але з часом складні додатки перетворювалися в некерований крейсер, який на повному ходу мчить на айсберг.
- тоді-то архітектура і стала справжнім рятувальним жилетом. Додаток із добре розробленою архітектурою легше розширювати, змінювати, тестувати, налагоджувати та розуміти.
- Архітектура програми-це мистецтво. Мистецтво проектувати і створювати масштабні системи.
- прискорення розробки навіть складного додатка
- Можливість змінювати структуру навіть у старих версіях програми
- гнучкість у зміні окремих блоків додатка
- спрощений онбординг нових співробітників
- безшовну ротацію розробників між проектами
- розробників і і всіх, хто хоче думати як архітектор
Погляньте на світ очима інших архітекторів, вийдіть на новий рівень в розробці ПЗ і Підвищіть свою цінність як фахівця. - Team Lead і Tech Lead
Почніть легко керувати змінами в проекті та отримайте єдине розуміння архітектури всією командою.
- має досвід роботи з Git
- знає хоча б одну мову програмування
на вас чекають теоретичні лекції та практичні завдання. Під час навчання студенти будуть виконувати лабораторні роботи — всі вони засновані на реальних завданнях.
перший модуль: вступ до архітектури додатків
перший модуль: вступ до архітектури додатків
познайомимося з підходами і парадигмами архітектури додатків
Тема I. Проблематика, чому важливо проектувати софт грамотно. Навіщо потрібна Архітектура, що буває, коли про неї не думають.
Тема II. ізоляція як засіб контролю складності. Спагетті-код. Модульність. Зв'язаність (coupling). Статичне зв'язування, динамічне зв'язування. Компоненти та їх взаємодія. Компонент як самостійна сутність. Проектування слабосвязанних компонентів. Тестування компонентів. MVC як приклад модульного шаблону. Причини змін, ізоляція за принципом причин змін.
Тема I. Проблематика, чому важливо проектувати софт грамотно. Навіщо потрібна Архітектура, що буває, коли про неї не думають.
Тема II. ізоляція як засіб контролю складності. Спагетті-код. Модульність. Зв'язаність (coupling). Статичне зв'язування, динамічне зв'язування. Компоненти та їх взаємодія. Компонент як самостійна сутність. Проектування слабосвязанних компонентів. Тестування компонентів. MVC як приклад модульного шаблону. Причини змін, ізоляція за принципом причин змін.
другий модуль: Unified Modelling Language
освоїмо мову графічного відображення: зможете читати і проектувати за допомогою цієї мови. Навчимося використовувати діаграми для візуалізації архітектури та зв'язків.
Тема I. основні компоненти (сутності, терміни, діаграми класів і послідовностей), що ними можна виражати для чого вони потрібні.
Тема I. основні компоненти (сутності, терміни, діаграми класів і послідовностей), що ними можна виражати для чого вони потрібні.
третій модуль: принципи ООП
навчимося аналізувати високорівнево: будете знати, як вирішувати проблему і за допомогою якої парадигми.
Тема i . Огляд парадигм програмування.
Тема II. ООП, принципи. ООП як засіб архітектури. Класи та методи. Об'єктний підхід, як метод ізоляції. Інтерфейси та абстрактні класи. Проблеми успадкування.
тема III. Принципи ООП: (SOLID, DRY).
Тема i . Огляд парадигм програмування.
Тема II. ООП, принципи. ООП як засіб архітектури. Класи та методи. Об'єктний підхід, як метод ізоляції. Інтерфейси та абстрактні класи. Проблеми успадкування.
тема III. Принципи ООП: (SOLID, DRY).
четвертий модуль: патерни проектування
навчимося проектувати системи, використовуючи патерни: зрозумієте переваги та обмеження патернів, зможете розпізнати в системах застосовані патерни
Тема i . Що таке патерни і навіщо вони потрібні. Їх види.
Тема II. Породжуючі і структурні патерни.
тема III. Поведінкові патерни.
тема IV . Антипаттерни.
Тема i . Що таке патерни і навіщо вони потрібні. Їх види.
Тема II. Породжуючі і структурні патерни.
тема III. Поведінкові патерни.
тема IV . Антипаттерни.
П'ятий модуль: чиста Архітектура
навчимося проектувати за критеріями чистої архітектури, знаходити відхилення від чистої архітектури і пропонувати варіанти системного рішення. Навчимося застосовувати компановку коду, проектувати і проводити архітектурні кордони для спрощення подальшої зміни і підтримки коду.
Тема i . Coupling & amp; Cohesion (Зв'язаність і сочетаимость).
Тема II. Архітектурні межі.
тема III. Чиста Архітектура.
Тема i . Coupling & amp; Cohesion (Зв'язаність і сочетаимость).
Тема II. Архітектурні межі.
тема III. Чиста Архітектура.
шостий модуль: різні архітектурні підходи
навчимося вибирати підхід до вирішення поставлених виробничих завдань, пояснювати переваги або чужі/власні рішення. Зможемо знаходити відповідні рішення для поставлених завдань з урахуванням актуальної ституації
Тема i . Вимоги, предметна область. Аналіз. Функціональні/нефункціональні вимоги.
Тема II. Архітектура додатків. Патерни MVC, MVVM, MVP, Mv.
тема III. Архітектура систем. Трирівнева Архітектура, гексагональна Архітектура.
Тема i . Вимоги, предметна область. Аналіз. Функціональні/нефункціональні вимоги.
Тема II. Архітектура додатків. Патерни MVC, MVVM, MVP, Mv.
тема III. Архітектура систем. Трирівнева Архітектура, гексагональна Архітектура.
сьомий модуль: Архітектура скрізь
навчимося застосувати знання про архітектуру до різних рівнів масштабу (не тільки компонування класів і модулів, а й цілих систем)
Тема i . Види архітекторів і їх завдання.
Тема II. Архітектури на різних рівнях (embedded, application, distributed system, cloud-native service).
Тема i . Види архітекторів і їх завдання.
Тема II. Архітектури на різних рівнях (embedded, application, distributed system, cloud-native service).
восьмий модуль: підводимо підсумки
навчимося без проблем вибирати інструмент під конкретну задачу
Тема i . Огляд основних інструментів і технологій, їх місце в архітектурі і принципи вибору.
Зберігання даних: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Kafka, Cassandra.
Мови: Python, Java, GO, C++, Javascript/TypeScript, WEB.
Frameworks: React, Vue, Angular, Jquery.
Kubernetes та ін.
Тема i . Огляд основних інструментів і технологій, їх місце в архітектурі і принципи вибору.
Зберігання даних: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Kafka, Cassandra.
Мови: Python, Java, GO, C++, Javascript/TypeScript, WEB.
Frameworks: React, Vue, Angular, Jquery.
Kubernetes та ін.
на вас чекають теоретичні лекції та практичні завдання. Під час навчання студенти будуть виконувати лабораторні роботи — всі вони засновані на реальних завданнях.
перший модуль: вступ до архітектури додатків
перший модуль: вступ до архітектури додатків
познайомимося з підходами і парадигмами архітектури додатків
Тема I. Проблематика, чому важливо проектувати софт грамотно. Навіщо потрібна Архітектура, що буває, коли про неї не думають.
Тема II. ізоляція як засіб контролю складності. Спагетті-код. Модульність. Зв'язаність (coupling). Статичне зв'язування, динамічне зв'язування. Компоненти та їх взаємодія. Компонент як самостійна сутність. Проектування слабосвязанних компонентів. Тестування компонентів. MVC як приклад модульного шаблону. Причини змін, ізоляція за принципом причин змін.
Тема I. Проблематика, чому важливо проектувати софт грамотно. Навіщо потрібна Архітектура, що буває, коли про неї не думають.
Тема II. ізоляція як засіб контролю складності. Спагетті-код. Модульність. Зв'язаність (coupling). Статичне зв'язування, динамічне зв'язування. Компоненти та їх взаємодія. Компонент як самостійна сутність. Проектування слабосвязанних компонентів. Тестування компонентів. MVC як приклад модульного шаблону. Причини змін, ізоляція за принципом причин змін.
https://privatelink.de/?https://slurm.io/architect