[회고] 코드숨 스프링 12기 2주차

개발자 춘식이·2022년 11월 20일
0

CodeSoom

목록 보기
2/8
post-thumbnail

2주 차 회고록

이번 주는 저번주에 비해 쉬웠다. 스프링에 있는 기능들을 활용해서 과제를 진행했기 때문이다. 스프링을 써왔지만 이렇게 까지 스프링이 왜 생겨났는지 그리고 스프링의 필요성에 대해 피부로 와닿은 적은 처음이다.


2주 차 Keyword

  • @CrossOrigin : 서버는 8080 포트를 사용하고, 프론트는 3000 포트를 사용하므로 CORS 를 방지하기 위해 @CrossOrigin을 클래스 레벨에 사용하였다.
  • @ExceptionHandler : @ExceptionHandler에 해당 컨트롤러에서 처리하고 싶은 예외를 지정해주면 이 애노테이션이 붙은 메서드를 호출한다.
@ExceptionHandler({FileSystemException.class, RemoteException.class})
public ResponseEntity<String> handle(IOException ex) {
    // FileSystemException, RemoteException을 포함한 자식 예외가 발생하면 이 메서드를 호출한다.
}
  • @RestControllerAdvice : @ExceptionHandler를 해당 컨트롤러뿐만 아니라 다른 컨트롤러에서도 사용하기 위해 사용하는 애노테이션이다.
    @ControllerAdvice@RestControllerAdvice 두 종류가 있는데, 현재 애플리케이션은 @RestController이므로 @RestControllerAdvice를 사용하였다.
  • Layered Architecture : SRP 단일 책임 원칙에 따른 관심사를 분리한 아키텍처이다.
  • synchronized
  • TaskNotFoundException::new : () -> new TaskNotFoundException()를 좀 더 간결하게 표현한 문법이다.

코드 리뷰 코멘트

📌 커밋 내용안에 @을 사용하면 엉뚱한 사람을 태그할 수 있다. -> 꼭 사용을 해야한다면 백쿼트(`)로 감싸주자.

📌 간단한 if문이더라도 {중괄호}로 꼭 감싸주자.

📌 NullPointerException는 참조하는 대상이 null일 경우 발생하는 예외로, 주어진 id로 Task를 찾을 수 없을 때 발생하는 예외는 새롭게 정의해주자. -> TaskNotFoundException 사용자 예외 정의함.


마무리

이번 주는 모든 API 테스트와 E2E 테스트를 통과했다. 💯 테스트를 실행하기 위한 환경설정들을 맞추는데 애를 좀 먹었지만 모두 통과된 결과를 보니 참 뿌듯하다. 갑자기 회사일이 많아져서 체력 분배와 시간 분배 조절이 필요해보인다.

profile
춘식이를 너무 좋아하는 주니어 백엔드 개발자입니다.

0개의 댓글