이번주는 동시성 구현에 대해서 구현하는데 재미있었다.6주차에 CI/CD는 생각보다 어렵고 지루했는데 다시 코딩하니 재미있었다. Keep : 현재 만족하고 개선할 부분1. 포인트 충전에 대해서 비관적락과 테스트 코드 구현 완성.사용자가 포인트 충전 요청에 대해서 모두 순차적으로 충전해줘야 한다고 생각해서 비관적락으로 구현 2. 좌석 예약을 낙관적 락, 비관적 락으로 구현 완료.3주차 때 좌석예약을 비관적 락으로 구현했는데 테스트가 중간에 끝나지 않고 계속해서 도는 현상이 발생했다.알고보니 테스트 코드의 countLatchDown.await() 메서드를 잘못 사용하고 있어서 그랬었다. 원인 : await() 메서드로 인해서 다른 스레드가 끝날 때까지 무한대기.for(int i=0; i{ try{..
[어떤 Lock을 적용할지 고려하는 순서]1. DB Transaction과 Lock 범위에 따른 처리를 고려해야 한다.트랜잭션 시작, 종료 전후로 락을 획득해야 하는지트랜잭션을 먼저 시작하고 락을 획득해도 되는지 등등 2. 낙관적 Lock으로 해소가 가능한가?먼저 낙관적락으로 해소가 가능한지 확인한다.낙관적 락이 적합한 경우는첫 번째 조건 : 수정에 실패했을 때, 해당 비즈니스로직의 실패로 이어져도 되는 경우두 번째 조건 : 동시에 많은 충돌을 발생시키지 않는 경우(Retry로 해소) 3. 비관적 Lock으로 해소가 가능한지?비관적 락이 적합한 경우는첫 번쨰 조건 : 작은 트랜잭션 범위 내에서는 빠르게 처리 가능두 번째 조건 : 반드시 순서대로 처리해야 하는 작업에 효과적 주의 : Lock의 잠금 범위에..
- Total
- Today
- Yesterday
- 재테크공부
- resize
- GIT
- Spring boot
- 관계대수
- 월급쟁이부자들
- Use case
- 2023년
- 깃
- 도커
- 깃허브
- 개발자 회고
- 바
- 작성 방법
- 월부닷컴
- 내년은 빡세게!!
- 인셉션
- front
- 열반스쿨기초반
- docker
- 폭포수
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 파라메터
- Inception
- 유즈케이스
- 회고
- 부동산공부
- pop_back
- push_back
- 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 |