자기 입맛에 맞는 NestJS 초기 세팅하기
"NestJS boilerplate" NestJS를 처음 시작한 사람들은 한 번씩 검색해봤을 법한 키워드일 것이다. 근데 막상 코드를 확인해보면 뭐가 뭔지, 다 필요한 건지 헷갈린다.

"NestJS boilerplate" NestJS를 처음 시작한 사람들은 한 번씩 검색해봤을 법한 키워드일 것이다. 근데 막상 코드를 확인해보면 뭐가 뭔지, 다 필요한 건지 헷갈린다.

분산 락의 try-finally가 비즈니스 로직을 가릴 때, Spring AOP로 그 코드를 빼는 방법이다. @Transactional처럼 쓰는 DistributedLock과 SpEL로 락 키를 고르는 과정까지 담았다.

"Lettuce는 SpinLock만 지원한다"는 잘못된 정보를 바로잡는다. Spring RedisLockRegistry의 PubSub Lock 설정으로 Redisson 없이도 효율적인 분산 락을 구현하는 방법을 소개한다.

좋아요를 저장할 때의 동시성 문제를 비관적 락으로 푸는 과정이다. 락의 동작과, 없는 행 때문에 넥스트 키 락이 성능을 떨어뜨리는 지점까지 살펴본다.

synchronized의 JVM 모니터 락이 실제로 어떻게 동작하는지 보고, ReentrantLock으로 생산자-소비자 문제를 푼 뒤, 사용자별 키로 락을 나눠 성능을 높인다.