Андрей Казаков

+31
с 2025

IT Лидер. Трансформирую разработку от хаоса к гармонии.

10 подписчиков
8 подписок
Тактический дизайн в DDD: Мост между бизнесом и кодом

Когда мы слышим Domain Driven Design, на ум сразу приходят такие понятия, как Ubiquitous Language (Повсеместный/Всеобщий язык), Bounded Contexts (Ограниченные контексты), то есть чаще всего говорят о стратегическом дизайне.

1
Saga: когда “отмена” — это не rollback, а новое действие в домене

В мире микросервисов есть одна вечная проблема: как обеспечить согласованность данных между независимыми компонентами? Традиционные транзакции здесь не работают, но есть элегантное решение — Saga-паттерн. Разберем, откуда он произошел, что из себя представляет и почему стал стандартом индустрии.

1
🦁 Кэш: этот зверь не так прост, как кажется на первый взгляд

Кэш — механизм, который часто используют как «волшебную кнопку» для ускорения системы — достаточно добавить Redis, и всё работает быстрее. Есть обманчивое восприятие механизма кэширования — будто мы можем радикально изменить производительность системы, снизить затраты на инфраструктуру и даже повлиять на бизнес-метрики.

1
Когда сущности оживают: применение State в доменной модели DDD

Сущность в Domain Driven Design — это сердце бизнес-логики. Ее цель - моделирование бизнес-процессов и их жизненного цикла. Сущность инкапсулирует состояние и поведение важное для бизнеса.

Чем заменить Cursor, если нет зарубежной карты: тест 4 бесплатных альтернатив

Cursor — зверь для кодинга с агентами, но подписка кусается, а оплата из РФ иногда превращается в квест. А если хочется мощного AI-ассистента абсолютно бесплатно?

4
Стратегии проектирования компенсаций

Компенсации - это не просто отмена предыдущих шагов. Это новый бизнес-процесс, который требует тщательного проектирования. Перед разработчиками встают сложные вопросы:

Приоритизация по RICE: когда хочется больше точности

В одном из прошлых постов мы говорили об ICE - простом и быстром методе приоритизации задач. Сегодня рассмотрим его «старшего брата» - методику RICE, которая дает более взвешенные оценки.

Testcontainers + DB Rider = конец проблем с данными в интеграционных тестах

Если у тебя когда-нибудь “плавали” интеграционные тесты из-за грязной БД — ты знаешь эту боль. Testcontainers решает только половину проблемы: он поднимает чистый контейнер. Но что происходит внутри теста? Как гарантировать предсказуемые данные и стабильные проверки?

Элегантный хаос: где компенсации превращаются в проблему

В распределенных системах компенсационные транзакции — это спасательный круг для обеспечения согласованности. Но что, если этот «спасатель» сам тонет в сложности? Вместо надежности вы получаете хаос, ошибки и бессонные ночи для команды. Элегантное решение превращается в источник раздражения. Давайте разберем три главных антипаттерна, которых стоит…

💥 Проблемы и подводные камни хореографии

Представьте танец - каждый участник знает свои шаги и реагирует на движения партнёров без указаний хореографа. Но стоит одному из танцоров сбиться или споткнуться, и весь зал погружается в несвязный хаос!

Прокачайте тесты с Database Rider: от датасетов до версионирования данных

Если ваши интеграционные тесты тонут в хаосе тестовых данных, а ручные SQL-скрипты вызывают головную боль, то Database Rider — ваш супергерой. В прошлом посте мы разобрали основы, а сегодня нырнем в практику: от многоформатных датасетов и хитрых проверок БД до ускорения тестов и организации данных без бардака.