멀티스레드 환경에서 공유 자원을 보호하는 방법. ReentrantLock, ConcurrentHashMap, computeIfAbsent를 조합해 계좌별 인메모리 락을 구현하고, 인메모리 락과 분산 락의 선택 기준을 살펴봅니다.
Bean Validation의 선언-실행 두 단계 구조를 이해하고, @Valid가 동작하지 않는 상황과 SelfValidating 패턴으로 생성 시점에 검증하는 방법을 살펴봅니다.
테스트에서 외부 의존성을 대체하는 두 가지 방법, Fake 객체와 Mockito의 차이와 언제 어떤 것을 선택해야 하는지 살펴봅니다.
커스텀 예외가 늘어날 때 계층 구조로 정리하는 방법, Spring 전역 예외 처리, RFC 9457 표준 에러 응답까지 순서대로 살펴봅니다.
컬렉션을 클래스로 감싸는 이유와 일급 컬렉션이 가져다주는 네 가지 장점을 정리합니다.
원시 타입 대신 Value Object를 사용하는 이유와 불변 객체 설계 방법을 정리합니다.
JVM의 메모리 구조를 영역별로 정리하고, 각 영역의 역할과 동작 방식을 설명합니다.
MySQL B-Tree 인덱스의 개념, 구조, 설계 원칙을 정리합니다.
조건에 맞는 글이 없습니다.