본문 바로가기

개인생각/회고

코드숨 2주차 주간 회고

한 것(Fact)

스프링 이용한 간단한 ToDo REST API 만들기
Marko.js에 대한 학습

느낀 것(Feelings)

  1. e2e 테스트
    내가 직접 테스트 코드를 작성한 것은 아니지만, 실제 브라우저에서 행위를 시뮬레이션하며 테스트하는 것을 처음 보았다.
    백엔드의 api 테스트를 작성하는 경우는 많이 봤었지만, 사용자 관점에서 테스트는 수동으로 해왔었기에 신선하였다.
  2. Optional
    Optional의 사용이 익숙하지 않아 Optional을 Optional답게 사용하지 못하는 것 같았다. 그래서인지 null체크를 하는 코드로 작성하고 이를 Optional로 변환하는 식으로 하였는데 아직 감이 오지 않는 듯하다.
  3. frontend
    현재 내가 잘 사용할 수 있는 프론트엔드 라이브러리가 없다는 것을 느꼈다. 더 나아가 Javascript 역시 부족함을 알았다. 추후 있을 프로젝트에 사용할 수 있도록 연습해야겠다.

배운 것(Findings)

  1. @ResponseStatus와 @ExceptionHandler
    @ResponseStatus를 사용하여 익셉션이 발생하였을 때 정의된 Response Status code로 반환하는 방법을 알게 되었다. 그리고 @ExceptionHandler를 사용하여 해당 컨트롤러에서 발생하는 익셉션을 캐치하고 처리하도록 하였는데 @ControllerAdvice를 활용하여 사용할 수도 전역에 걸쳐서 예외를 처리할 수 있는 어노테이션과 활용방법에 대해 알게 되었다.

  2. 정적 팩토리 메소드
    http응답을 반환할 때 ResponseEntity를 사용하는 방법에 두 가지가 있었다.

    1. 정적 팩토리 메소드 사용
    @PostMapping("/{id}")
     public ResponseEntity<Task> putTask(@PathVariable Long id, @RequestBody Task task) {
         //...
         return ResponseEntity.ok(task);
     }
    
    1. new 사용
    @PostMapping("/{id}")
     public ResponseEntity<Task> putTask(@PathVariable Long id, @RequestBody Task task) {
         //...
         return new ResponseEntity<>(task,HttpStatus.OK);
     }

    둘 다 사용하는 방법은 알고 있었으나 전자의 방식을 정적 팩토리 메소드라고 하는지 모르고 있었고 장단점도 모르고 있었는데 어느 정도 알게 되었다.

자기 선언(Affirmation)

이번 주에 과제를 하면서 주석 작성을 하지 않았는데 피드백 받은 내용을 항상 생각하며 진행할 수 있도록 하자

'개인생각 > 회고' 카테고리의 다른 글

코드숨 4주차 주간 회고  (0) 2021.02.21
코드숨 3주차 주간 회고  (0) 2021.02.07
코드숨 1주차 주간 회고  (0) 2021.01.24
2019 오픈소스 개발자 이야기 참석 후기  (0) 2019.07.14
알고리즘 공부시작  (0) 2019.04.25