Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4주차 과제] 이동현 #52

Open
wants to merge 12 commits into
base: dongsuu
Choose a base branch
from

Conversation

dongsuu
Copy link

@dongsuu dongsuu commented Feb 12, 2023

이번 주에 어떤 작업을 했는지 설명해주세요.

노션 페이지에 나와있는 기본 기획서를 바탕으로 모든 API 구현 및 swagger를 적용하였습니다.


특히 어떤 부분을 리뷰받고 싶나요?

  1. api 개발을 처음 해봐서 api 작성한 것들에 대한 전반적인 리뷰를 받고 싶습니다. (쿼리 문제점들, 제가 작성한 방식으로 api개발을 해나가는 것이 맞는지.. 등등)
  2. repository 계층에서 바로 DTO로 조회해오는 것과 repository에서는 Entity를 조회하고, service 또는 controller에서 해당 entity를 dto로 변환하는 작업 중 어떤 것이 더 좋은 선택인지 궁금합니다.

이번 주는 어떻게 학습했나요? 아래 질문에 짧게 답변주세요!

이번 주에 학습에 투자한 시간

  • 15시간 정도 한 것 같습니다.

학습 하면서 좋았던 점과 아쉬웠던 점

  • 시간상 테스트 케이스를 작성하지 못했던 것이 아쉽습니다.

어려움을 겪는 부분

스터디 개선되었으면 하는 점

  • 없습니다.

@dongsuu dongsuu changed the title Feature/3week [4주차 과제] 이동현 Feb 12, 2023
@YOONSEOUNGHWAN
Copy link
Collaborator

FeedBack

repository 계층에서 바로 DTO로 조회해오는 것과 repository에서는 Entity를 조회하고, service 또는 controller에서 해당 entity를 dto로 변환하는 작업 중 어떤 것이 더 좋은 선택인지 궁금합니다.
-> 어떻게 쿼리를 작성하냐에 따라, 답변이 조금 달라질 것 같습니다.

  1. JPA 기술 및 Naming(?)query만으로 Repository를 구현한다면 후자의 방법이 더 편합니다.
    : JPA Naming Query를 사용한다면 특정 조건에 따른 Entity를 반환하게 되어있습니다. 그러므로 Entity를 찾은 다음 Service계층에서 매핑해주어 사용하는 것이 간단하고 효율적으로 보입니다. (물론, 데이터 또는 리소스 관점에서 효율적인 것은 아닙니다)

  2. JPA 기술 및 QueryDSL 또는 직접 쿼리 작성을 하신다면 전자의 방법이 효율적입니다.
    : DTO를 만든다는 것은, 서비스 로직에 필요한 데이터 형식을 만든다는 개념과 비슷합니다. 그렇다면 DB에서 Select 함수를 적절히 활용하여 DTO 형식의 필드를 채워서 데이터를 가져오는 것이 효율적입니다. 하지만, 추가적인 기술의 학습 및 빠른 MVP 를 위해서라면 후자의 방법으로 구현하고 추후 전자의 방법으로 Query를 직접 작성하시는 것을 추천드립니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants