티스토리 뷰

Lv2 - 1주차 미션 : Spring Boot/게시글 관련 기능 구현

https://github.com/woowacourse/jwp-blog

학습목표

  • Spring Boot를 통해 웹 애플리케이션 프로젝트를 생성하는 경험을 한다.
  • Spring MVC를 통해 웹 애플리케이션에서 요청을 받고 응답을 하는 흐름을 이해한다.
  • Acceptance Test(인수 테스트) 기반으로 웹 애플리케이션을 개발하는 경험을 한다.

미션

  • 게시글 생성/조회기능 구현하기
  • 게시글 수정/삭제기능 구현하기
  • (adv) 카테고리 관련 기능 구현하기

체크리스트

  • 제약조건
    • HTML 중복 제거하였는가
    • 정적 파일 수정 시 재시작 하지 않고 변경사항 반영하기
    • class 파일 수정 시 자동으로 재시작 하기
  • 기능구현
    • 게시글 CRUD 기능을 구현했는가
    • 모든 요청에 대한 Acceptance Test를 구현했는가
    • 테스트의 중복을 제거하였는가
    • URL 컨벤션을 지키며 구현했는가

새롭게 알게된 것

  • Spring, Spring boot의 전체적인 컨셉
  • Spring boot (정말)기본적인 사용법
  • Thymeleaf 문법
  • thymeleaf-layout을 통한 HTML 중복 제거
  • SpringBoot Devtools 자동 리로드
  • ATDD
  • WebTestClient

느낀점

  • Spring, Spring boot라는 엄청난 친구들의 존재를 알게되었다.
  • 레벨1에서 맛보기로 써봤던 SparkJava의 수동적인 부분들이 스프링 부트에선 자동으로 되어 참 편하더라 (미션내내 "이게 왜 되지?")
  • 여전히 웹 환경이 익숙하지 않고, 스프링이 처음이라 어색한 점이 많았다.
  • 스프링, 부트에 전반적으로 익숙해지면서 그 원리도 공부할 필요있음. 단기간에 되는 건 아니고, 꾸준히 해가야할것 같음.
  • Thymeleaf 문법도 어색했는데, 모든것들이 새롭게 등장하므로 빠르게 검색으로 필요한 것을 찾아서 사용하고 익숙해지는 연습이 필요할 것 같다.
  • 레벨1때 느꼈던 것처럼, 혼자 삽질하기보다 빠르게 주기를 가져가며 주변에 물어보며 그 시간을 줄여나가는것이 좋음
  • CGI, Servlet, JSP, Spring 등등.. 새롭게 등장하는 웹 환경에서의 용어들, 조만간 큰 흐름을 한번 그려보고 파악해야겠다.
  • 테스트 방식이 처음엔 아예 감이 안왔는데, 조금씩 느낌은 알아가는 중

내 코드, 피드백 관련

  • HTML 중복제거 방식도 layout, decorator 등 여러 키워드와 방식이 있다.

  • 인텔리제이의 debugging을 적극적으로 활용할 것

  • Forward vs Redirect
    Redirect와 forward의 차이
    포워드시 첫URL로 나타나는 점이나 리다이렉트시 기존 정보 날아가는 등, 차이를 직접 느끼게 됨

    • 게시글 작성시 리다이렉트하지않으면 ~articles/와 같이 남아서, 새로고침하면 포워딩 한번 더 되고 게시글 2개 생기는 삽질도 했었다
  • 게시글 작성시 본문이 tui-editor.js를 거치며 유니코드로 변환되는 과정이 있었다. 이를 모르고 열심히 렌더링 후의 뷰 코드를 테스트하는 삽질. 테스트 코드에서도 한번더 유니코드로 변환해 비교하는 해결법과, 동시에 이런 테스트 방식 자체의 (문제라긴 좀 그렇고)위험성? 생각해볼만한 여지?를 조언받음. 일단 지금 단계에선 상태와 location 확인정도만 했음

  • ParameterizedTest 썼던 경험

  • 이제까진 반환값이 필요없고 사용하지 않으면 무조건 void로 리턴했었는데, 아직은 안써도 설계상의 이유로 원하는 타입을 리턴시키는 관점도 생각해보게됨. -> 이후의 주차에서 Entity 메소드를 설계할때 참고하게 되었음

  • 테스트 코드에서의 반복되는 부분들을 줄일 생각자체도 처음으로 하게 되었다. -> 이후 주차엔 중복이 더 많아져 `AbstractControllerTest.class`처럼 메소드 뿐아니라 클래스로 빼기도 함.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함