
프로젝트를 진행하다 OSIV라는 단어를 듣게 되었다. 그럼 트랜잭션과 DB connection 간의 상관관계는 어떻게 되지?라는 의문이 들어 이참에 각 개념들을 정리하고자 한다. 먼저 트랜잭션의 정의를 먼저 보고 가자. 하나의 작업을 수행하기 위해 필요한 데이터베이스 연산들을 모아 놓은 것으로, 데이터베이스에서 논리적인 작업의 단위가 된다. 만약 A가 B에게 자신의 통장에서 1만원의 금액을 송금한다면 SQL 상 A의 계좌에서 1만원이 마이너스되고, B의 계좌에는 1만원이 플러스되는 작업이 모두 수행되어야 한다. 만약 A의 계좌에서만 1만원이 빠져나가고 B의 계좌에는 1만원이 들어오지 않는다면 이는 데이터베이스의 무결성과 일관성이 깨지게 되는 결과를 낳는다. 따라서 각 2개의 SQL을 하나의 작업 단위로 ..

프로젝트에서 API 문서 작성을 위해 swagger를 많이 사용할 것이다. 이왕이면 최신 버전을 사용하고자 컨트롤러의 swagger 내용을 다음과 같이 작성하였다. @RestController @RequiredArgsConstructor @RequestMapping("/user") @Api(tags = "유저 API") public class UserController { private final UserRepository userRepository; @Operation(summary = "유저 정보 조회", description = "로그인 상태의 유저 정보 조회", responses = { @ApiResponse( responseCode = "400", description = "만료된 엑세스 토큰이..
- Total
- Today
- Yesterday
- facade 패턴
- 단위 테스트
- Gitflow
- SSE
- spring aop
- servlet filter
- Assertions
- Spring Security
- C++
- Git
- junit5
- QueryDSL
- spring
- ParameterizedTest
- 모두의 리눅스
- Java
- JPA
- vscode
- 서블릿 컨테이너
- mockito
- rest api
- Linux
- FrontController
- spring boot
- 템플릿 콜백 패턴
- 디자인 패턴
- Transaction
- Front Controller
- github
- 전략 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |