[CS스터디]Day 30

DaramGee·2024년 5월 10일

Study

목록 보기
16/20

일시 : 2024.05.10 14:00~14:30

TDD란?

TDD는 "Test-Driven Development"의 줄임말입니다. 이것은 소프트웨어 개발 방법론 중 하나로, 코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 것을 강조합니다. TDD의 주요 원칙은 다음과 같습니다:

테스트 작성: 먼저 개발하려는 기능에 해당하는 테스트 케이스를 작성합니다. 이 테스트 케이스는 해당 기능이 예상대로 동작하는지 확인하는 역할을 합니다.
실패하는 테스트 통과: 작성한 테스트 케이스를 실행하고, 이 테스트가 실패함을 확인합니다. 이 시점에서 아직 개발한 기능이 없으므로 당연히 테스트는 실패합니다.
코드 작성: 이제 실패한 테스트를 통과할 수 있도록 코드를 작성합니다. 이때 최소한의 코드만을 작성하여 테스트를 통과하게 만듭니다.
리팩토링: 작성한 코드를 리팩토링하여 코드의 가독성을 높이고, 중복을 제거하고, 유지보수성을 향상시킵니다. 이 단계에서는 기능이 변경되지 않는 한 테스트가 통과되어야 합니다.
이러한 과정을 반복하여 개발을 진행하면서, 테스트 케이스를 통해 코드의 안정성을 유지하고 기능이 변경되어도 예상치 못한 부작용이 발생하지 않도록 보장합니다. 이는 전체적으로 코드의 품질을 향상시키고 개발 생산성을 높이는 데 도움이 됩니다.

디스패처 서블릿이란?그리고 그 역할은?

Dispatcher Servlet은 Java 웹 애플리케이션에서 클라이언트의 요청을 적절한 핸들러(컨트롤러)에게 전달하는 역할을 담당하는 중심적인 컴포넌트입니다. 주로 Spring Framework와 연관이 깊습니다.

Spring MVC에서 Dispatcher Servlet은 클라이언트의 HTTP 요청을 받아들이고, 적절한 컨트롤러에게 요청을 전달합니다. 이것은 사용자 요청에 따라 어떤 컨트롤러(핸들러)가 작동할지 결정하는 주요 매커니즘입니다. 이를 통해 개발자는 서블릿을 직접 다루는 것보다 간단하고 유연한 방식으로 웹 애플리케이션을 개발할 수 있습니다.

Dispatcher Servlet은 XML 또는 Java 설정 파일을 통해 구성되며, URL 매핑 및 다양한 인터셉터, 핸들러 매핑 등을 정의하여 요청을 처리하는 방식을 제어할 수 있습니다. 이를 통해 Dispatcher Servlet은 전체 애플리케이션의 흐름을 제어하고 비즈니스 로직과의 상호작용을 가능하게 합니다.

역할:

Spring MVC에서 Dispatcher Servlet의 역할은 다음과 같습니다:

1) 클라이언트 요청의 전달: Dispatcher Servlet은 클라이언트의 HTTP 요청을 받아들이고, 요청에 맞는 핸들러(컨트롤러)에게 전달합니다.
2) 핸들러 매핑과 핸들러 어댑터 호출: Dispatcher Servlet은 요청된 URL에 대한 핸들러를 찾기 위해 핸들러 매핑을 사용합니다. 그리고 이 핸들러를 실행하기 위해 적절한 핸들러 어댑터를 호출합니다. 핸들러 어댑터는 실제 핸들러(컨트롤러)의 실행을 담당합니다.
3) 뷰 리졸버 호출: 핸들러가 실행되고 결과를 반환하면, Dispatcher Servlet은 뷰 리졸버를 사용하여 해당 결과를 렌더링할 뷰를 결정합니다.
4) 뷰 렌더링: Dispatcher Servlet은 뷰 리졸버를 통해 결정된 뷰를 렌더링하고, 클라이언트에게 응답을 전송합니다.
5) 예외 처리: Dispatcher Servlet은 요청 처리 중에 발생할 수 있는 예외를 처리하고 적절한 에러 페이지로 리디렉션합니다.
6) 인터셉터 처리: Dispatcher Servlet은 인터셉터를 통해 요청 처리 전후에 추가적인 로직을 수행할 수 있습니다. 인터셉터는 요청을 가로채고 수정하거나 로깅, 보안 검사 등의 작업을 수행할 수 있습니다.
이러한 역할들을 통해 Dispatcher Servlet은 Spring MVC 애플리케이션의 흐름을 제어하고, 요청과 응답 사이의 연결을 관리합니다.

스터디 현황

0개의 댓글