Python мануфактураJavaDesign Patterns для автоматизаторів

Python мануфактура · Сесії: AMA та PMP · 0:00–1:27

Інтеграційні та компонентні тести в сучасних системах

Сучасні системи часто збираються на зрілих фреймворках на кшталт Spring, Django, Angular або Next.js. Через це багато базової поведінки вже реалізовано й перевірено фреймворком, тож команді не обов’язково компенсувати все великою кількістю власних unit-тестів. Значну цінність дають інтеграційні та компонентні перевірки. У наведеному розмежуванні інтеграційний тест перевіряє функцію, клас або сервіс із замоканими зовнішніми залежностями, включно з базою даних. Компонентний тест піднімає сервіс разом із реальною тестовою БД, але ізолює сторонні системи. Отже, компонентний тест перевіряє більший реальний зріз застосунку.

Піраміда тестування, чому не API спочатку та як жити з упровадженням ШІ →

Java Light · 4:00–6:10

Моноліт, модульний моноліт і мікросервіси

У моноліті business logic, email, SMS, persistence та integrations розгортаються як один application. Це не є автоматично погано: добре структурований моноліт простіший у розробці і не платить network latency за кожен внутрішній виклик. Модульний моноліт розділяє functionality всередині одного deployment і може зберігати окремі data boundaries. Мікросервісна архітектура виносить ці частини у незалежні services, але додає HTTP, serialization, handshakes, deployment і distributed failure modes.

Вступ до API-автоматизації →

Python мануфактура · Сесії: AMA та PMP · 11:41–15:35

Міграція моноліту в мікросервіси

Під час декомпозиції логіку, яка раніше жила в одному або кількох класах, переносять у різні services. Треба не лише перенести записи, а й зберегти правила зіставлення полів та джерела кожного значення. Показано типовий регресійний ланцюжок: `fullName` випадково мапиться лише з `lastName`; локальний fix додає `name`, але дані все одно не оновлюються, бо справжнім джерелом був інший service. Так само похідний `status` може формуватися з timestamps лише на одному code path і залишитися `null` під час читання.

Міграція бази даних і тестування даних →
Запитати в чаті про «microservices» →