본문 바로가기
반응형

분류 전체보기114

[서블릿과 스프링 디스패처 서블릿] 역할과 동작 과정 스프링의 디스패처 서블릿은 http 요청을 적절할 컨트롤러에 위임하는 역할을 한다. 디스패처 서블릿을 제대로 이해하기 위해서는 자바 서블릿, 서블릿 컨테이너, MVC에 대한 사전 지식을 필요로 한다.이에 대한 설명을 먼저 진행하고 디스패처 서블릿에 대해 알아보도록 하겠다.(이왕 하는거 REST 설명까지 넣었다. 물론 서블릿과 연관이 있는것은 아니다.) 자바 서블릿 (jaca docs)자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그래밍 기술을 서블릿이라고 한다.클라이언트의 요청에 대한 응답을 반환하는 요청-응답 프로그래밍 모델이라고 이해해도 좋다.서블릿은 초기화 메서드, request에 대한 response를 제공할 수 있는 service메서드, 서비스 종료 이후 실행될 destory 메서드를 .. 2025. 1. 27.
[I/O 이해하기-3] 톰캣의 요청 수신 방식 [I/O 이해하기-1] 동기와 비동기 VS Blocking과 Non Blocking[I/O 이해하기-2] Stream vs Channel[I/O 이해하기-3] 톰캣의 요청 수신 방식이전의 [I/O 이해하기 1,2]를 통해 I/O 작업에 사용되는 개념에 대해 학습을 하였다.개념에 대한 내용은 1,2편에서 설명하였으므로 이 글에서는 개념과 용어에 대해 세세한 설명은 하지 않을 것이다. 나는 개인적으로 톰캣이 어떻게 요청을 처리하는지 알고 싶어 동기와 비동기, Blocking과 Non Blocking, Stream과 Channel을 학습하였다. 톰캣이 비동기 NonBlocking으로 동작한다고 알고 있었기에 학습한 이론을 토대로 톰캣이 클라이언트 요청에 대한 모든 I/O 작업을 비동기-NonBlocking으로.. 2025. 1. 27.
테스트 커버리지 100% 달성기[2] - 테스트 환경 구축 및 시간 단축 테스트 커버리지 100% 달성기[1] - 레이어별 100% 달성 과정테스트 커버리지 100% 달성기[2] - 테스트 환경 구축 및 시간 단축 -------------------------병렬 테스트 문제mock() 을 통해 의존객체 모킹시 IllegalArgument 문제 -> 병렬로 여러 스레드에서 동시에 mock()을 사용하는 경우 각 스레드에서 목객체를 만들게되는데 이때 각 테스트에서 사용하는 mock의 타겟 객체의 타입이 달라 정상적으로 타입 변환이 되지 않는 것으로 보임 Byte Buddy could not instrument all classes within the mock's type hierarchy InlineBytecodeGenerator의 lastException 속성이 있는 경우 해.. 2025. 1. 27.
테스트 커버리지 100% 달성기[1] - 레이어별 100% 달성 과정 테스트 커버리지 100% 달성기[1] - 레이어별 100% 달성 과정테스트 커버리지 100% 달성기[2] - 테스트 환경 구축 및 시간 단축 최근 토스에서 테스트 커버리지 100% 달성한 글과 영상을 보면서 테스트 커버리지 100% 달성의 목표를 세우고 이를 달성하였다.나는 개인적으로 테스트를 굉장히 중요시 생각하며 테스트 코드 작성이 아니더라도 수동 테스트도 많이 진행한다.프로젝트 구조와 결과에 대해 설명하고 100% 달성 과정에 대해 설명하겠다.프로젝트 구조kotlin(jvm 1.9.22)spring-boot 3.2.3jpa, querydsl헥사고날 아키텍쳐(멀티모듈)presentation layer : controllerbusiness layer : servcie(pojo)infrastructure.. 2025. 1. 4.
반응형