최근 포스트

읽기, 쓰기 모델의 분리 - CQRS 패턴

CQRS(Command and Query Responsibility Segreagation)는 데이터 변경과 데이터 조회를 서로 다른 모델로 처리하는 것을 의미한다. 기존의 데이터베이스 접근 방식에서 변경과 조회에 대해 같은 모델을 사용하는 것과 달리 CQRS는 변경과 조회를 분리...

Spring - 테스트 코드 작성하기

테스트의 목적은 설계를 검증하기 위함이다. 어떠한 목적을 이루기 위한 비즈니스 로직을 설계하고 해당 설계가 제대로된 결과값을 내는지를 검증하기 위해 이용한다. 테스트를 작성함으로써 검증 및 예상되는 문제를 미리 확인할 수 있다는 장점이 있다.

Spring - Filter와 GenericFilterBean, OncePerRequestFilter

Spring boot에서 Filter를 만들기 위한 방법에는 여러가지가 존재한다. 그 중 자주 사용하는 방식은 다음과 같다. Filter 인터페이스 이용 GenericFilterBean 추상 클래스 이용 OncePerRequestFilter 추상 클래스...

Spring - mvc 설정을 위한 다양한 방법들

Spring boot를 이용한 프로젝트 도중 WebMvc 설정에 문제가 발생하였다. WebMvcConfigurationSupport와 WebMvcConfigurer를 혼용하면서 발생한 문제였다. 가까스로 문제를 해결한 후 해당 개념에 대한 지식이 부족하다고 판단하여 이에 관한 내용...

Spring - Argument Resolver와 동작원리 Deep Dive

Controller의 메서드에 파라미터로 사용하는 @RequestParam, @RequestBody 는 어떻게 동작하는 것일까? Controller의 파라미터로 클라이언트의 요청정보가 아닌 추가적인 정보를 넘길 수 있을까? 이러한 의문들을 해결하기 위해 HandlerMethodAr...