[CowAPI] 6. User

준돌·2022년 5월 30일
0

오늘의 Cow

목록 보기
7/45
post-thumbnail

1. [CowAPI] User


  • CowAPI의 사용자 관련 기능입니다.

요구사항

  • 회원가입, 로그인, 회원정보 수정, 삭제가 가능합니다.
  • JWT 토큰으로 특정 사용자를 구분합니다.
  • 권한은 관리자와 일반 사용자가 있습니다.

구조

  • 백엔드를 집중할 수 있도록 백엔드와 프론트 엔드를 독립적으로 개발할 수 있는 MVC 패턴을 이용합니다.
  • DAO, DTO 패턴을 사용합니다.
  • 추후에 프론트엔트를 개발하여 확장합니다.
  • 참고 블로그

User Table

  • DB의 User 테이블은 다음과 갖습니다.
  • email을 primary key 로 갖습니다.
  • admin을 true/false로 구분합니다.

2. 코드 리뷰


  • 위의 링크로 보실 수 있습니다.

Test Code

  • 😎 [CowAPI] 2-1. TDD Code review를 기반으로 테스트 코드를 작성했습니다.

  • 😎 TestCode에서 고려해봐야 할점

    • Test Code의 빠른 속도를 위해 reflection의 사용을 줄이는 방법 (ex, @Autowired)
    • 생성자 주입을 했을 때, Mock을 이용한 테스트가 필요한가??
    • Sucess case와 Fail case를 나눈 테스트 코드 필요
  • 😎 고려할 점은 개발을 어느정도 진행 후, 리펙토링할 예정입니다.

😎 3. 개발하면서


  • 블로그를 정리하고 코드리뷰를 진행해보면서 코드의 리펙토링과 버그 수정이 필요하다는 것을 알았습니다.

    • 누락된 예외처리나 클린 코드 그리고 SimpleJpaRepository와 같이 다양한 방법을 시도해야겠다는 생각을 했습니다.
    • 개발을 진행하며 리펙토링하는 시간을 갖도록 하겠습니다.
  • 코드 리뷰를 진행해보면서 Dirty check, MVC 패턴, Test code에 대해서 공부하고 정리 할 수 있었습니다.

  • 빠른 개발도 중요하지만 올바른 개발을 하기 위해서는 코드 리뷰를 계속 진행해야한다고 생각했습니다.


4. Code


profile
눈 내리는 겨울이 좋아!

0개의 댓글