🍒 오늘 공부한 내용
- @Nested
- 테스트 시에 묶어서 볼 수 있는 어노테이션 - Cardinality
- 집합의 크기
- 중복도가 낮으면 cardinality가 높다
- 생물학적 성별 -> cardinality == 2 (남자, 여자) - Jetty
- tomcat과 같은 서블릿 컨테이너(WAS) (https://www.itworld.co.kr/news/249508) - MVCC (https://mangkyu.tistory.com/53)
- Locking 메커니즘의 문제를 해결하기 위해서 나온 방법
- Multi-Version Concurrency Control (다중 버전 동시성 제어)
- MVCC에서 데이터에 접근하는 사용자는 접근한 시점에 데이터베이스의 스냅샷을 읽는다.
- MySQL에서는 Undo로그로 MVCC를 구현함 - @Transactional(noRollBackFor = RuntimeException.class)
- 특정 예외 발생시 롤백 하지 않게 해주는 어노테이션 (https://velog.io/@kdhyo/JavaTransactional-Annotation-%EC%95%8C%EA%B3%A0-%EC%93%B0%EC%9E%90-26her30h)
🎶 느낀 점 & 배운 점
오늘 계획 한 것 : 프로젝트 이슈 하나 해결
오늘 한 것 : 프로젝트 이슈 하나 해결(지금부터 시작)
공부할 것 :
propagation, isolation 직접 설정 (https://velog.io/@kdhyo/JavaTransactional-Annotation-%EC%95%8C%EA%B3%A0-%EC%93%B0%EC%9E%90-26her30h) -> 이거 보고 감 잡기
팬텀리드 예시 다시 보기
MVCC
DB에서 B-Tree 쓰는 이유
복합키
Unique 동시에 걸기
커버링 인덱스
인덱스 스킵 스캔
springfox, springdoc
queryDSL
CQRS
LAZY Loading (Transactional 사용하지 않으면 못 쓰는 이유)
Fetch Join
@async
@ContextConfiguration(classes = TestSyncConfig.class)
TransactionTemplate
나아가팀 배포 스크립트문제 -> 쉘 스크립트 프로세스 물고 있는 문제
동욱님 JPA Exists 쿼리 성능 개선 블로그
로깅
🌸 감정회고
정신 안차리면 패턴 무너지는 건 한순간이다
내 앞가림부터 잘 하고 보자
학습부채 쌓여가서 좋다 얼른 해결해야겠다
다른 곳에 적어둔 부채들도 마이그레이션 해와야겠다