аспектно-ориентированное программирование (AOP), управление транзакциями обозначает метод или класс для автоматического открытия, фиксации и отката транзакции при вызове метода Spring создаёт новую транзакцию либо…
Оба варианта блокировок доступны в Spring ORM через JPA Оптимистичный подход использует контроль версий: на сущность добавляется аннотация @Version Во время обновления версия сравнивается; при расхождении возникает…
Как в pytest запускать тест с разными параметрами? Тесты параметризуют с помощью декоратора @pytest.mark.parametrize Функции теста передают имена переменных и соответствующие списки значений Для каждого набора…
В CQRS командная (write) и запросная (read) базы разделяются, чтобы эффективнее распределять нагрузку Изменения передаются с помощью асинхронной репликации Для этого применяют event sourcing либо событийную шину…
реляционная модель, база данных основа решения: две сущности соединяются через промежуточную таблицу в промежуточной таблице хранятся внешние ключи, ссылающиеся на первичные ключи обеих сущностей в качестве первичного…
Транзакция представляет собой последовательность операций, выполняемую как единое целое Атомарность (ACID) означает: либо выполняются все операции, либо не выполняется ни одна При возникновении ошибок используются…
Что представляет собой паттерн Singleton? Это паттерн проектирования, относящийся к группе порождающих Он гарантирует наличие единственного экземпляра класса в приложении И предоставляет глобальную точку доступа к…
Подходы к оптимизации SQL-запросов Индексы: их создают для колонок, участвующих в частых фильтрах и JOIN, чтобы сократить число полных сканирований таблиц Минимизация JOIN: отказ от ненужных соединений,…
Начинаю с анализа логов и профилировщика, включая EXPLAIN, чтобы определить причину задержек Для связанных объектов выбираю жадную загрузку (eager loading), а не ленивую Для сложных случаев использую нативный SQL или…
поддержание согласованности кэша и БД — одна из основных задач систем, использующих кеширование часто применяют подход write-through: данные сначала записываются в кэш, а затем — в БД при использовании write-back…
Как применять миграции в Django и справляться с типичными сложностями? Миграции — встроенный механизм версионирования схемы БД Для создания использую makemigrations, а для применения — migrate Контролирую…
изучение требований: данные, операции и бизнес-логика выделение сущностей и связей между ними (ER-модель) нормализация для снижения избыточности и предотвращения аномалий выбор типа БД (реляционная vs NoSQL) с учетом…