이번에는 @WebMvcTest가 갖는 한계와 이를 극복하기 위해 직접 개발해본 라이브러리를 소개해보고자 합니다. 매우 초기 버전인만큼 어떠한 버그와 문제가 나올지 모르지만, 써보시고 이슈 등록이나 문제점 공유 등 해주시면 감사드리겠습니다! 1. @WebMvcTest에 의해 느려지는 테스트 속도 [ @WebMvcTest에 대하여 ] 스프링부트는 편리한 테스트를 위한 다양한 테스트 어노테이션을 제공하고 있다. 그 중에서 @WebMvcTest는 컨트롤러 계층 만을 슬라이스 테스트할 수 있도록 도와주는 어노테이션이며, 다음과 같이 사용된다. @WebMvcTest(MemberController.class) class MemberControllerTest { @MockBean private MemberService..
PATCH 메소드는 2010년도에 뒤늦게 HTTP 표준 스펙으로 추가되었습니다. 그리고 이로 인해 스프링 코드도 영향을 받게 되었는데, 왜 영향을 받게 되었고 어떠한 영향을 받게 되었는지 살펴보도록 하겠습니다. 그렇게 중요하지도 않은 내용이고 기록용으로 작성하는 것이라서 편하게 읽어주시면 될 것 같습니다. 1. 뒤늦게 등장한 HTTP PATCH 메소드 [ 뒤늦게 등장한 HTTP PATCH 메소드 ] PUT과 PATCH의 용도 개발을 하다보면 PATCH 메소드에 대해 잘 모르거나, 익숙해하지 않는 분들이 많이 있다. 또한 PUT과 PATCH의 용도를 헷갈리는 개발자들도 많은데, PUT과 PATCH의 용도를 쉽게 정리하면 다음과 같다. PUT: 리소스의 전체 수정 PATCH: 리소스의 부분 수정 PATCH에..
최근에 송파구에서 일을 더잘하는 11가지 방법과 김창준님이 집필하신 함께 자라기라는 책을 접하게 되었습니다. 이번에는 두 가지를 접하면서 느꼈던 점들을 정리해보고자 합니다. 1. 우아한 형제들의 "잡담이 경쟁력이다"와 함께 자라기의 "심리작 안전감" [ 송파구에서 일을 더 잘하는 11가지 방법 ] 우아한 형제들의 김봉진 의장은 2015년에 우아한형제들의 일 문화의 상징이자 꽤나 구체적인 가이드를 포스터로 정리했다. 그것은 바로 "송파구에서 일을 더 잘하는 11가지 방법"인데, 포스터를 보면 다음과 같다. 그 중에서도 가장 인상깊었던 부분, 그리고 이번에 얘기해보고자 하는 부분은 3번의 "잡담을 많이 나누는 것이 경쟁력이다"라는 부분이다. 처음 이것을 접하고는 신선한 충격을 받았는데, 잡담을 많이 나눌 것..
이번에는 @RequestBody에 ArgumentResolver(아규먼트 리졸버)가 동작하지 않는 이유를 알아보고 @RequestBody의 동작을 커스터마이징하여 부가 기능을 적용하는 방법에 대해 알아보도록 하겠습니다. 1. @RequestBody에 ArgumentResolver(아규먼트 리졸버)가 동작하지 않는 이유 [ ArgumentResolver(아규먼트 리졸버)란? ] 스프링의 디스패처 서블릿은 컨트롤러로 요청을 전달한다. 그때 컨트롤러에서 필요로 하는 객체를 만들고 값을 바인딩하여 전달하기 위해 사용되는 것이 ArgumentResolver이다. 스프링이 제공하는 다음과 같은 어노테이션들은 모두 ArgumentResolver로 동작한다. @RequestParam: 쿼리 파라미터 값 바인딩 @Mod..
아래의 내용은 김창준님의 함께자라기를 읽고 정리한 내용입니다. 1. 자라기 [ 당신은 몇 년차? ] 연차는 중요한 요소가 아니다 소프트웨어 기술자의 등급은 학력과 연차로 고려되는 경우가 많지만 사실상 경험이 가장 중요한 요소이다. 그 사람의 실력에 대해서는 연차로부터 다음과 같은 사항들만 결정할 수 있다. 연차로는 이 사람이 초급인지 아닌지 정도만 기대할 수 있다. 초급이 아닌 사람들에 대해서는 연차가 오히려 혼동을 불러일으키는 잘못된 정보로 작용할 수 있다. 연차로 채용 여부나 임금 수준을 결정하는 것은 편의적이고 관료주의적이며 조직에 손해를 줄 수 있다. 미국 연방 정부의 연구 결과에 따르면 채용 후 성과-연차 또는 성과-학력의 상관성은 매우 낮았다. 반면에 샘플 작업, 지능 테스트, 구조화된 인터뷰..