| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 모듈 분할
- 개발자회고
- 모듈 설계
- 블랙박스 테스트
- java
- 단체테스트
- 탑다운 테스트
- Integration Test
- 테스트코드
- 성능최적화
- 프로그래머블로그
- 스텁
- 오사카프로그래머
- 결합 테스트
- STS분할
- 응용정보기술자
- CI/CD
- 암합적 강도
- DBUnit
- 모듈 결합도
- Transactional
- 일본IT
- 데이터 결합
- 모듈 강도
- 바텀업 테스트
- 필드주입
- spring
- 생성자주입
- 기능적 강도
- 성장기록
- Today
- Total
목록spring (3)
오사카 프로그래머의 생존기
[Spring] @Transactional 롤백 실패 원인 분석 + 예외 처리 원리 학습한 줄 요약: 스프링 @Transactional은 기본적으로 RuntimeException(언체크 예외)만 롤백하며, 체크 예외나 내부 try-catch로 예외를 삼킬 경우 프록시가 이를 인지하지 못해 커밋이 발생함을 정리한 기록.1. 학습 배경 (Motivation)실무에서 데이터베이스 상태를 변경하는 비즈니스 로직을 작성할 때, 메서드 상단에 @Transactional 어노테이션을 붙이는 것은 일종의 관행처럼 여겨졌다. 오사카에서 프로그래머로 일해온 지난 6년 동안 이 어노테이션은 복잡한 트랜잭션 경계 설정을 대신해주고, 에러가 나면 데이터를 안전하게 롤백해 주는 강력한 도구로 기능해 왔다.하지만 최근 서비스 로직..
[Spring] @Autowired 필드 주입의 배신과 생성자 주입을 써야 하는 이유한 줄 요약: 편리함 때문에 관성적으로 사용하던 @Autowired 필드 주입의 치명적인 단점(순환 참조, 테스트 어려움)을 파악하고, 불변성과 테스트 용이성을 보장하는 생성자 주입의 필요성을 정리한다.1. 학습 배경 (Motivation)과거 현장에서 다른 프로그래머들이 작성한 코드를 참고하며, 습관적으로 클래스 변수 위에 @Autowired를 붙여 객체를 주입받아 사용해왔다. 코드가 간결해지고 당장 기능이 잘 동작했기 때문에 깊은 고민 없이 이 방식(필드 주입)을 선호했다.하지만 코드를 작성할 때마다 인텔리제이(IntelliJ IDEA)는 해당 필드에 노란색 밑줄(Warning)을 띄우며 "Field injection..
[Spring] 단위 테스트(単体テスト) 핵심 개념 요약 + 공부하게 된 이유한 줄 요약: 커버리지를 채우기 위해 무지성으로 복붙하던 @Test, @Mock, MockMvc의 진짜 목적(의존성 분리 및 격리)을 파헤치고 테스트 코드의 본질을 객관적으로 정리한 기록.1. 학습 배경 (Motivation)과거 파견 현장에서 단체 테스트(단위 테스트, 単体テスト) 코드를 작성할 때의 일이다. 당시에는 일정에 쫓겨 기존 레거시 코드나 사내 위키에 있는 @Test와 @Mock 어노테이션을 그저 복붙해서 쓰기 바빴다. 테스트 코드가 왜 그렇게 구성되어 있는지 이해하기보다는, 당장 소나큐브(SonarQube)나 빌드 툴에서 요구하는 테스트 커버리지 퍼센트를 채우는 것에만 급급했기 때문이다.최근 다음 안건으로 다시 J..