-
Restful한 설계를 잘 했나요?
파일 업로드하는 controller가 따로 존재하는데 게시글 작성시 파일을 같이 올리는 방식이 아닌가요?
게시글을 작성하는 api와 파일을 업로드하는 api를 꼭 분리해서 사용해야 하는 생각이 듭니다. 여러분이 게시판에 글을 쓰고 이미지를 업로드 한다면 어떻게 하셨나요? 게시글을 작성하면서 파일을 같이 업로드 해서 처리하는 방법을 생각해 보시면 좋을 것 같습니다.
controller마다 앞에 /api 혹은 /auth 같은 굳이 사용하지 않아도 되는 명칭은 과감하게 날리셔도 괜찮을 것 같습니다. rest하다는 것이 어떤 의미인지 다시한번 찾아보시면 좋을 것 같습니다.
Dto 패키지를 만들어 dto들을 같이 관리하시면 좋을 것 같습니다.
사용하지 않는 어노테이션은 제거하셔도 괜찮을 것 같습니다. commentController에 @validated 어노테이션은 사용중인 걸까요?
-
Entity 설계가 잘 되어있나요?
Entity 설계는 잘 되어있는 것 같습니다. 다만 대부분의 테이블이 양방향 관계를 맺고 있는데 전부 양방향 관계를 맺어야 할지 확인해보고 맺는 것도 좋을 것 같습니다. 필요에 의해서 맺었다면 상관없지만 그렇지 않을 경우도 있을 수 있으니까요.
연관관계를 맺으면서 실제 테이블을 만들지 않았음에도 테이블이 생성되는 경우는 없었나요? 만약 내가 만들지 않은 테이블이 생성된 경우가 있다면 언제 그렇게 생겼는지, 왜 생겼는지 확인해보면 좋은 공부가 될 것 같습니다.
N+1문제에 대해 공부해 보셨나요? jpa를 사용했을 때 반드시 알아야 하는 부분이니 모르신다면 꼭 추가 학습 하시기를 권장합니다.
generation type을 Identity로 설정해 사용하고 계시는데 auto와의 차이점과, auto로 했을경우 발생할 수 있는 문제점등을 알고 사용하셨다면 공부를 많이 하고 계신것 같습니다.
대댓글 테이블을 따로 만들지 않고 댓글 / 대댓글을 구현할 수 있지 않을까요? comment 테이블 안에서 comment 를 관계 맺어 부모 자식 관계로 활용해 보는 방법도 찾아보시면 공부가 될 것 같습니다.
-
객체지향 설계를 적용했나요?
객체지향적으로 설계하려고 열심히 하신것 같습니다. 처음부터 누구나 완벽한 객체지향적 설계를 하기는 쉽지 않습니다. 지속적인 리팩토링을 통해 코드를 고쳐나가시는 시도를 해보는 것도 많은 도움이 될 것이라 생각합니다.
토큰을 검증하는 로직을 여러곳에서 사용하시는 것 같습니다. 이것을 하나의 함수로 분리해 사용할 수 있지 않을까요?
객체지향 설계 5원칙에 대해서 알고계신가요? 알고계신다면 이를 얼마나 잘 지키며 코드를 작성했는지 확인해보는것도 좋을 것같습니다.
-
예외처리가 미흡한 부분은 없나요?
예외처리를 꼼꼼히 하려고 노력하신 것 같습니다. 예외는 정말 많은 경우의 수를 가지고 있기 때문에 개발자는 항상 예외를 잘 처리하기 위해 노력해야 합니다.
다만 지금은 모든 예외를 문자열로 직접 입력해 관리하시는 것 같습니다. 예외 클래스를 하나 만들어 예외 코드와 메세지를 관리하도록 해보면 어떨까요. 그렇게 관리하면 custom 하게 예외를 추가하거나 변경하기 쉬워질 것 같습니다. 유지 보수를 쉽게 하기 위한 코드를 작성하는 것도 중요합니다.
심화 주차 과제가 어렵다고 들었는데 과제에서 요구하는 기능등을 잘 구현하신 것 같습니다. 수고하셨습니다.👍
Restful한 설계를 잘 했나요?
파일 업로드하는 controller가 따로 존재하는데 게시글 작성시 파일을 같이 올리는 방식이 아닌가요?
게시글을 작성하는 api와 파일을 업로드하는 api를 꼭 분리해서 사용해야 하는 생각이 듭니다. 여러분이 게시판에 글을 쓰고 이미지를 업로드 한다면 어떻게 하셨나요? 게시글을 작성하면서 파일을 같이 업로드 해서 처리하는 방법을 생각해 보시면 좋을 것 같습니다.
controller마다 앞에 /api 혹은 /auth 같은 굳이 사용하지 않아도 되는 명칭은 과감하게 날리셔도 괜찮을 것 같습니다. rest하다는 것이 어떤 의미인지 다시한번 찾아보시면 좋을 것 같습니다.
Dto 패키지를 만들어 dto들을 같이 관리하시면 좋을 것 같습니다.
사용하지 않는 어노테이션은 제거하셔도 괜찮을 것 같습니다. commentController에 @validated 어노테이션은 사용중인 걸까요?
Entity 설계가 잘 되어있나요?
Entity 설계는 잘 되어있는 것 같습니다. 다만 대부분의 테이블이 양방향 관계를 맺고 있는데 전부 양방향 관계를 맺어야 할지 확인해보고 맺는 것도 좋을 것 같습니다. 필요에 의해서 맺었다면 상관없지만 그렇지 않을 경우도 있을 수 있으니까요.
연관관계를 맺으면서 실제 테이블을 만들지 않았음에도 테이블이 생성되는 경우는 없었나요? 만약 내가 만들지 않은 테이블이 생성된 경우가 있다면 언제 그렇게 생겼는지, 왜 생겼는지 확인해보면 좋은 공부가 될 것 같습니다.
N+1문제에 대해 공부해 보셨나요? jpa를 사용했을 때 반드시 알아야 하는 부분이니 모르신다면 꼭 추가 학습 하시기를 권장합니다.
generation type을 Identity로 설정해 사용하고 계시는데 auto와의 차이점과, auto로 했을경우 발생할 수 있는 문제점등을 알고 사용하셨다면 공부를 많이 하고 계신것 같습니다.
대댓글 테이블을 따로 만들지 않고 댓글 / 대댓글을 구현할 수 있지 않을까요? comment 테이블 안에서 comment 를 관계 맺어 부모 자식 관계로 활용해 보는 방법도 찾아보시면 공부가 될 것 같습니다.
객체지향 설계를 적용했나요?
객체지향적으로 설계하려고 열심히 하신것 같습니다. 처음부터 누구나 완벽한 객체지향적 설계를 하기는 쉽지 않습니다. 지속적인 리팩토링을 통해 코드를 고쳐나가시는 시도를 해보는 것도 많은 도움이 될 것이라 생각합니다.
토큰을 검증하는 로직을 여러곳에서 사용하시는 것 같습니다. 이것을 하나의 함수로 분리해 사용할 수 있지 않을까요?
객체지향 설계 5원칙에 대해서 알고계신가요? 알고계신다면 이를 얼마나 잘 지키며 코드를 작성했는지 확인해보는것도 좋을 것같습니다.
예외처리가 미흡한 부분은 없나요?
예외처리를 꼼꼼히 하려고 노력하신 것 같습니다. 예외는 정말 많은 경우의 수를 가지고 있기 때문에 개발자는 항상 예외를 잘 처리하기 위해 노력해야 합니다.
다만 지금은 모든 예외를 문자열로 직접 입력해 관리하시는 것 같습니다. 예외 클래스를 하나 만들어 예외 코드와 메세지를 관리하도록 해보면 어떨까요. 그렇게 관리하면 custom 하게 예외를 추가하거나 변경하기 쉬워질 것 같습니다. 유지 보수를 쉽게 하기 위한 코드를 작성하는 것도 중요합니다.
심화 주차 과제가 어렵다고 들었는데 과제에서 요구하는 기능등을 잘 구현하신 것 같습니다. 수고하셨습니다.👍