Что каждый разработчик должен знать об аннотации @Transactional

Оглавление Введение В современных приложениях важно обеспечивать атомарность операций с данными. Если выполнение бизнес-логики включает несколько обращений к базе данных, они должны выполняться все как единое целое или не выполняться вовсе. Например, при переводе денег со счета покупателя на счет продавца нужно либо уменьшить баланс покупателя и увеличить баланс продавца, либо не делать ничего, если … —Читать далее—

Loading

20 типовых ошибок Java-разработчиков в пул реквестах

Оглавление Введение Code review (ревью кода) – ключевой этап в корпоративной разработке, позволяющий повысить качество программного обеспечения. Опытные инженеры при проверке pull request’ов обращают внимание на типичные ошибки, которые повторяются из проекта в проект. Эти системные проблемы затрагивают разные аспекты: от архитектуры и читабельности кода до производительности, устойчивости и безопасности приложения. Игнорирование этих аспектов приводит … —Читать далее—

Loading

Soft Delete в Spring Boot JPA: лучшие практики и практическая реализация

Оглавление Введение Почти в каждом приложении наступает момент, когда возникает необходимость удалять данные. Однако прямое физическое удаление записей (DELETE FROM…) далеко не всегда лучший подход. Часто требуется сохранить возможность восстановления данных, проводить аудит изменений или выполнять нормативные требования законодательства, согласно которым удаление записей может быть нежелательным или вовсе запрещенным. В таких случаях на помощь приходит … —Читать далее—

Loading

Spring Boot 4: обзор нового релиза

Оглавление Введение Фреймворк Spring Boot уже много лет занимает лидирующие позиции среди инструментов для разработки backend-приложений на Java. С каждым крупным релизом он не только следует актуальным трендам разработки, но и сам задает их направление, облегчая работу тысячам разработчиков по всему миру. Выпуск первой milestone-версии Spring Boot 4.0.0-M1 не стал исключением – он знаменует собой … —Читать далее—

Loading

Service Integration Contract Test: контрактное тестирование интеграции сервисов

Оглавление Введение Современные приложения все чаще строятся на основе микросервисной архитектуры, где десятки независимых сервисов взаимодействуют друг с другом посредством REST API или асинхронного обмена сообщениями, например, через Apache Kafka. Несмотря на очевидные преимущества такого подхода, такие как гибкость, масштабируемость и автономность команд разработки, возникают и серьезные вызовы, особенно связанные с интеграционным тестированием. Классические интеграционные … —Читать далее—

Loading