목록Spring (2)
디지안의 개발일지
Restdocs DSL 개요 평소에 회사에서 API 문서를 작성하기 위해서는 Swagger를 사용하여 작성하였다. 그런데 최근 시작한 프로젝트에 RestDocs를 사용해야되는 일이 생겼다. 오랜만에 작성하는 RestDocs를 작성하기 위한 테스트 코드는 너무 복잡하고 직관적이지 않다는 것을 느껴 더 좋은 방법이 없을까 고민을 하였고 우연히 toss에서 소개한 Kotlin으로 DSL 만들기라는 글을 보게 되었고 코드가 공개되어 있지 않아 직접 사용하기 위해 시간을 내어 만들어 보기로 했다. DSL이란? DSL은 Domain Specific Language의 약자로 특정한 도메인을 적용하는데 특화된 컴퓨터 언어를 의미한다. 굉장히 어려워 보이는 개념 같이 보이지만 사실 개발자라면 모두 DSL를 사용하고 있다..
개요 회사에서 Spring Webflux에 대해 발표를 할 기회가 있었어서 그 내용에 대해 정리하려고 한다. 웹요청 처리의 처리 방식 웹요청을 처리하기 위해서는 다음과 같은 과정이 필요하다. 클라이언트에게 받은 웹요청(네트워크 패킷)은 이진 데이터로 요청이 들어온다. 이 이진 데이터를 웹서버에서 처리할 수 있는 데이터로 변환하는 작업이 필요하다. 이진 데이터 → 바이트 → HTTP 객체로 변환하는 과정이 필요하다. 이 과정에서 네트워크 패킷(이진 데이터)를 바이트로 변환하는 과정은 커널 스레드가 바이트 값을 HTTP 객체로 변환하는 과정은 유저 스레드가 진행하게 되는데 이 과정을 누가, 어떻게 처리하는가에 따라 웹 기술이 발전하였다. CGI(Common Gateway Interface) 1993년에 발표..