Архитектура апликације: пишите као програмер, размишљајте као архитекта - курс 80.000 руб. из Слурма, обука 3 месеца, датум 22.01.2024.
мисцеланеа / / November 29, 2023
Научите да пишете чисте и управљиве пројекте, креирате системе за одржавање и организујете код.
Бесплатно ћемо правити све могуће грешке током практичних задатака, како бисте их касније избегли у свом раду и уштедели милионе.
У прошлости су многе апликације креиране без дизајна. Чинило се згодним: без трошкова планирања, брза израда прототипа.
Али током времена, сложене апликације су се претвориле у неконтролисану крстарицу, која је јурила пуном брзином ка леденом брду.
Тада је архитектура постала прави прслук за спасавање. Апликацију са добро дизајнираном архитектуром је лакше проширити, променити, тестирати, отклонити грешке и разумети.
Архитектура апликације је уметност. Уметност пројектовања и креирања система великих размера.
Научићете да правите УМЛ дијаграме, рефакторишете код, цртате архитектонске границе и анализирате системе. Сваки учесник ће завршити пројекат курса: дизајнирати и у потпуности описати информациони систем какав се дешава у стварним производним активностима.
Уводна сесија са говорницима
22. јануара у 19:00
Модул један: Увод у архитектуру апликације
22. јануара
Хајде да се упознамо са приступима и парадигмама архитектуре апликација
- Тема И. Проблем је зашто је важно правилно дизајнирати софтвер. Зашто је потребна архитектура, шта се дешава када људи не размишљају о томе.
- Тема ИИ. Изолација као средство контроле сложености. Шпагети код. Модуларност. Квачило. Статичко везивање, динамичко везивање. Компоненте и њихове интеракције. Компонента као независна целина. Дизајн лабаво спојених компоненти. Тестирање компоненти. МВЦ као пример модуларног узорка. Разлози за промене, изолација на основу разлога за промене.
Други модул: Унифиед Моделинг Лангуаге
29. јануара
Хајде да савладамо језик графичког приказа: моћи ћете да читате и дизајнирате користећи овај језик. Научимо да користимо дијаграме за визуелизацију архитектуре и веза.
- Тема И. Главне компоненте, шта се њима може изразити, за шта су потребне.
- Тема ИИ. Дијаграми класа, активности, секвенци и случајева употребе.
- Тема ИИИ. Недостаци УМЛ-а. Модел Ц4. Алати
Трећи модул: ООП принципи
12. фебруара
Научићемо да анализирамо на високом нивоу: знаћете како да решите проблем и коју парадигму користите.
- Тема И. Преглед програмских парадигми.
- Тема ИИ. ООП принципи. ООП као средство архитектуре. Класе и методе. Објектни приступ као метод изолације. Интерфејси и апстрактне класе. Проблеми са наслеђивањем.
- Тема ИИИ. ООП принципи: (СОЛИД, ДРИ).
АМА сесија са звучницима
Модул четири: Обрасци дизајна
26. фебруара
Научићемо да дизајнирамо системе користећи обрасце: разумећете предности и ограничења шаблона, моћи ћете да препознате примењене обрасце у системима
- Тема И. Шта су обрасци и зашто су потребни? Њихове врсте.
- Тема ИИ. Генеративни и структурни обрасци.
- Тема ИИИ. Обрасци понашања.
- Тема ИВ. Антипаттернс.
Модул 5: Чиста архитектура
11. марта
Научићемо да пројектујемо по критеријумима чисте архитектуре, пронађемо одступања од чисте архитектуре и предложимо опције за системско решење. Научићемо како да применимо распоред кода, дизајнирамо и нацртамо архитектонске границе да бисмо поједноставили даље промене и одржавање кода.
- Тема И. Спајање и кохезија.
- Тема ИИ. Архитектонске границе.
- Тема ИИИ. Чиста архитектура.
Модул шест: Разни архитектонски приступи
25. марта
Научићемо да изаберемо приступ решавању задатих производних проблема, објаснимо предности или туђа/наша сопствена решења. Моћи ћемо да пронађемо одговарајућа решења за постављене задатке, узимајући у обзир тренутну ситуацију
- Тема И. Захтеви, предметна област. Анализа. Функционални/нефункционални захтеви.
- Тема ИИ. Архитектонски стилови. Лук, више нивоа, оријентисан на услуге, микросервис, вођен догађајима.
- Тема ИИИ. Архитектура апликације. МВЦ, МВП, МВВМ, МВ*.
АМА сесија са звучницима
Седми модул: архитектура свуда
1. априла
Научићемо да применимо знање о архитектури на различите нивое размера (не само распоред класа и модула, већ и читавих система)
- Тема И. Врсте архитеката и њихови задаци.
- Тема ИИ. Архитектуре на различитим нивоима (уграђени, апликација, дистрибуирани систем, цлоуд-нативе сервис).
Осми модул: сумирање
8. април
Хајде да научимо како лако одабрати алат за одређени задатак
- Тема И. Преглед главних алата и технологија, њихово место у архитектури и принципи селекције.
- Складиштење података: С3, Цепх, Посгрес, МонгоДБ, Цлицкхоусе, Нео4Ј, Цассандра, КеиВалуе.
- Редови: АМКП, Раббит, Кафка, МКТТ.
- Језици: Питхон, Јава, ГО, Ц++, Јавасцрипт/Типесцрипт.
- Интерфејс: Конзола, изворне апликације, ВЕБ: Реацт, Вуе, Ангулар, Јкуери, хибрид, цхат ботови.
- Инфраструктурни алати: доцкер, к8с, терраформ, ансибле.