Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- interceptor
- collapse
- 이펙티브자바
- spring
- 클린아키텍처
- Garbage Collection
- AOP
- 동시성처리
- Spring Security
- JVM
- effective java
- 배낭문제
- TDD
- @Transactional
- 타임리프
- 멱등성
- 파이썬
- Java
- 알고리즘
- thymeleaf
- EffectiveJava
- 코딩테스트
- 자바
- Transactional
- cache
- 캐시
- lombok
- JPA
- EntityGraph
- BFS
Archives
- Today
- Total
목록@Transactional (1)
Jinnie devlog
@Transactional 남용 줄이기 도전기 - 두 번의 삽질
커머스 시스템의 주문 로직에 쿠폰 기능을 추가하면서, 주문 과정에 필요한 트랜잭션이 점점 많아졌다. 그동안은 거의 모든 서비스 클래스에 @Transactional을 붙여 사용했고, 특별한 문제는 없었다.그런데 찾아보니 무분별한 트랜잭션 사용은 성능 저하와 의도치 않은 트랜잭션 경계를 만들 수 있다는 사실을 알게 됐다.그래서 “가능한 한 @Transactional을 빼보자”는 마음으로 무작정 제거 후 테스트를 돌렸다가, 두 번의 힘든 경험을 했다.첫번 째 경우 - 좋아요 기능의 TOCTOU(체크-사용 사이 레이스)public LikeInfo like(LikeCommand.Create likeCommand) { final LikeEntity likeEntity = LikeEntity.of(likeCom..
교육
2025. 8. 8. 17:09