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
- BFS
- 동시성처리
- collapse
- lombok
- 클린아키텍처
- AOP
- thymeleaf
- 캐시
- spring
- 알고리즘
- JPA
- cache
- TDD
- 배낭문제
- @Transactional
- Garbage Collection
- Transactional
- JVM
- 코딩테스트
- effective java
- Java
- 파이썬
- EntityGraph
- Spring Security
- 멱등성
- 자바
- 이펙티브자바
- interceptor
- 타임리프
- EffectiveJava
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