
이 글은 2026년 04월 10일 작성된 글입니다.
오늘은 명언 게시판 코드에 Stream 도입과 Rq 클래스 구현, 그리고 컨트롤러 구조 개선과 TDD
개념까지 정리했다.
기존에는 반복문과 조건문을 사용해 데이터를 처리했다. 하지만 Stream을
사용하면 더 간결하게 표현할 수 있다.
list.stream()
.filter(e -> e.getId() == id)
.findFirst();
핵심 - 반복문 없이 데이터 처리 가능 - filter, map 등으로 선언형 코드
작성 가능
컬렉션에서 조건에 맞는 요소를 제거할 때 사용한다.
list.removeIf(e -> e.getId() == id);
핵심 - 반복문 없이 삭제 가능 - 코드가 훨씬 간결해짐
컨트롤러는 명령어를 처리하는 역할을 한다. 식당의 점원과 같은 역할을
한다.
Rq는 Request의 약자로, 컨트롤러에서 자주 사용하는 로직을 모아둔
클래스이다.
Rq rq = new Rq("목록?page=5&searchKeyword=영광");
int page = rq.getParamAsInt("page", -1);
String keyword = rq.getParam("searchKeyword", "");
public String getParam(String paramName, String defaultValue) {
if (paramsMap.containsKey(paramName)) {
return paramsMap.get(paramName);
} else {
return defaultValue;
}
}
public int getParamAsInt(String paramName, int defaultValue) {
String value = getParam(paramName, "");
if (value.isEmpty()) return defaultValue;
try {
return Integer.parseInt(value);
} catch (NumberFormatException e) {
return defaultValue;
}
}
TDD(Test-Driven Development)는 테스트를 먼저 작성하고, 그 테스트를
통과시키는 방식으로 개발하는 방법이다.
구분 자동 테스트 수동 테스트
실행 주체 컴퓨터 사람
실행 속도 빠름 느림
신뢰도 높음 낮음