20240118 (목) TodoApp 개발 마무리 및 추가 공부

2024. 1. 18. 19:56TIL

일단 todo 와 comment에도 인가기능을 마무리해주고

내가 받은 피드백을 바탕으로 부족해보이는 부분을 수정했다.

 

내가 저번에 받은 피드백이다.

 - todocard와 comment가 연관관계를 심플하게 잘 맺으셨네요 실무에서는 일대다 단방향 매핑은 '매핑한 객체가 관리하는 외래 키가 다른 테이블에 있다는 점'때문에 흔히 사용하지 않습니다. 다대일 단방향이나 양방향이 더 좋습니다.

이 부분은 model 패키지에 있는 Entity들을 전부 양방향으로 설정해줬다.

다대일 단방향이 더 좋다고는 하는데 양방향은 해본적이 없어서 연습해볼겸 코드를 짜봤다.

 

- update메서드(updateTodo, updateComment)에는 save가 필요하지 않습니다. JPA의 변경감지(dirty checking)에 대해 꼭 공부하고 넘어가면 좋을 것 같습니다.

이부분은 어제 JPA 관련 강의를 들으면서 이해가 됐기에 save 코드들을 대거 삭제했다.

 

- validation을 위해 TodoEntity에 maxXXX필드를 추가하셨는데 절대하면 안되는 방식입니다ㅎㅎ. 설정 값을 관리하고 싶다면 common테이블 생성 후 활용해야합니다. 과제의 의도는 @Validated를 사용하는 것으니 학습해보세요:)

이부분은 따로 validation 관련 어노테이션을 알아봤는데 문자 사이즈 관련 어노테이션으로는 @Size가 있었다.

설정은 해놨지만 적용은 안된것 같다. 아직 공부가 조금더 필요해 보이는 부분

 

- updateTodoStatus 내에 while (true)를 사용한 의도는 무엇일까요? 불필요한 부분입니다. 상태를 변경하는 로직은 Entity에서 관리되면 좋겠어요. todo.chageStatus(nowStatus: TodoStatus)만들어서 위임해보면 어떨까요?

이부분은 내가 아직 코드가 진행되는 순서를 이해를 잘 못해서 짜 놓았던 while 문인데 일단은 삭제를 해줬다.

Entity에서 위임한다는 말은 아직 이해가 잘 안돼서 보류중

 

- todo와 comment, todocard가 연관관계가 맺어진 점을 보아 세 Entity는 하나의 도메인으로 관리하는게 어떨까싶습니다. 그렇다면, todo와 comment를 하나의 폴더에서 관리해되어야합니다.

이부분은 무슨 말인지는 이해가 됐으나 따로 폴더명을 정해주려했는데 마땅히 지어줄만한 이름이 생각이 안나서 보류중이다. 일단 피드백의 의도는 todo 와 comment가 같은 toddcard 아래에 위치해 있으니까 둘을 같은 패키지안에 배치해야한다! 이런 얘기같은데 마냥 todocard 패키지안에 둘을 집어넣자니 오히려 내가 헷갈릴것 같다.

 

오늘의 한마디 : 피드백대로 수행해보았는데 단번에 이해가 되지 않는 부분도 있고 잘 수행되는 부분도 있었다. 내일은 과제를 제출하고 남는시간에 남은 강의들을 마저 들으면서 공부해볼 예정..