План уроку:
Основна теорія
Монолітна архітектура
Мікросервісна архітектура
Архітектура ПО
Архітектура програмного забезпечення – це організаційний дизайн всього програмного застосунку, включаючи всі підкомпоненти та зовнішні застосунки.
Архітектура квартири
Монолітна архітектура
Переваги монолітної архітектури:
Спрощена розробка та розгортання
Менше проблем сумісностіo
Найкраща продуктивність
Недоліки монолітної архітектури:
Зі зростанням кодової бази зростає складність:
o Внесення змін
o Входження до проекту
Обмежена гнучкість:
o У технологіях
o Архітектурні підходи
o Масштабованості
Монолітна архітектура для тестування
Переваги:
Легко стежити та тестувати різні версії
Легко створювати та стежити за тестовими даними
Недоліки:
Лише одна точка входу – UI
Обмежує доступні види тестування
Ускладнює вирахування тестового покриття
Для тестування будь-якої частини програми потрібна вся програма
Мікросервісна архітектура
Мікросервісна архітектура
Переваги архітектури:
Висока відмовостійкість
Гнучкість у технологіях та підходах
Масштабованість
Легка зміна коду будь-якого сервісу
Легкість виведення написаного коду до робіту
Недоліки архітектури:
Повідомлення між самими сервісами складне
Накладні витрати на комунікації між компонентами
Складність організації даних між сервісами
Складне керування інфраструктурою – деплой, версіонування
Важко організувати безпеку
Підвищує необхідний рівень тех. компетенцій команди та керівництва
Мікросервісна архітектура для тестування
Переваги:
Можливості прямого тестування будь-якого компонента та їх зв'язок
Тестування будь-якого компонента можна організувати незалежно
API дозволяє оптимізувати тестове покриття
Недоліки:
Важко тестувати дані та особливо транзакції
Важко знайти першопричину помилки
Необхідність синхронізації проходу тестів з деплом усіх компонентів, що беруть участь.
Складність тестування зростає з різноманітністю інтерфейсів сервісів
Високі вимоги до планування тестування та QA менеджменту
Архітектура Web Application. Висновки
Моноліт:
Легший як у розробці так і в тестуванні
Обмежує види тестування
Можливі області, які неможливо тестувати
Мікросервіси:
Збільшують складність розробки та тестування надаючи великі можливості
Більш вимогливі до технічного рівня команди та менеджменту
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Урок 14. Архітектура Web Application
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩
Опис завдання:
Валідатор паролів повинен перевіряти вхідний пароль на відповідність заданим правилам безпеки.
Правила безпеки для паролів:
Пароль повинен містити щонайменше 8 символів.
Пароль повинен містити щонайменше одну велику літеру.
Пароль повинен містити щонайменше одну малу літеру.
Пароль повинен містити щонайменше одну цифру.
Пароль може містити спеціальні символи (!, @, #, $, %, ^, &, *).
Завдання:
Визначте класи еквівалентності для валідатора паролів на основі правил безпеки.