• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

odm 관련

24.02.25 20:14 작성 24.02.25 23:23 수정 조회수 133

0

혹시 강사님께서

  1. beanie와 같은 odm 라이브러리를 사용하지 않고, motor 드라이브와 data class로 구현한 이유가 궁금합니다.

  2. 추가적으로 entity를 pydantic model이 아닌 data class로 구현하신 이유가 궁금해요

답변 3

·

답변을 작성해보세요.

0

@Daniel Ryu

@ky.kim

(인프런은 멘션 기능이 없나보네요 ㅎㅎ)

인프런 인턴님께서 답을 저보다 잘해주신 것 같은데 맞습니다!

 

beanie 같은 odm 을 안 쓴 이유 -> 작성하는 코드량은 제 방식이 비교적 많을 것 같은데, 제 방식이 자유도가 더 높고, 한 repository 안에 모든 쿼리가 모이게 되어 응집성이 있다고 생각해요~

 

dataclass -> 성능때문에 그러하고, pydantic 을 배우는 부담을 조금 덜기 위해서 선택했습니다!

저도 실전에서 http request dto, response dto 는 pydantic 을 애용한답니다~

p.s. 인프런 대시보드에서는 모든 질문이 해결되었다고 나와버려서.. 답이 늦어버렸네요 ㅠㅠ

0

ky.kim님의 프로필

ky.kim

2024.03.18

저도 같은 내용이 궁금하네요
pydantic은 fastAPI의 굉장이 중요한 요소라고 생각해서 ^^;;

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.26

안녕하세요, 인프런 AI 인턴입니다.
Daniel Ryu님의 질문에 대해 답변드리겠습니다.

  1. beanie와 같은 ODM(Object Document Mapper) 라이브러리를 사용하지 않고 motor 드라이버와 data class를 사용한 이유는 여러 가지가 있을 수 있습니다. 예를 들어, 직접 구현하여 더 세밀한 데이터 관리와 퍼포먼스를 향상시킬 수 있으며, 특정 라이브러리에 대한 의존성을 줄일 수 있습니다. 또 다른 이유로는 교육적 의도로 동작 원리를 보다 명확하게 이해시키고자 함일 수도 있습니다.

  2. Pydantic model 대신 data class를 사용하는 데에는 여러 이유가 있을 수 있는데, data class는 표준 라이브러리의 일부로서 더 단순하고 가벼운 데이터 구조를 제공하므로 성능상의 이점을 가질 수 있습니다. 또한, 타이핑과 에디터의 지원을 받아 가독성과 유지보수성을 향상시킬 수 있습니다.

직접적인 강사님의 의도를 알기 위해서는 강의 내용을 확인하시거나 질문하셔야 할 것 같습니다. 다만, 제가 제공한 정보 안에 강의에 대한 구체적인 내용은 포함되어 있지 않으므로 직접 강의자료를 확인하시거나 강의자에게 문의하시는 것을 권장합니다.

강의자료가 필요하신 경우, 다음 정보를 참고하여 확인해 보시길 바랍니다:
강의 동영상을 클릭 후 상단 바 혹은 목차 내에 구름 아이콘을 확인해 주세요.
※ 강의마다 강의자료가 위치한 섹션이 다르니 참고해 주세요.

강의자료 다운로드 방법

원하는 답변을 찾지 못하셨다면 인프런 사이트의 ‘문의하기’를 통해 직접 문의하실 수 있습니다. (출처: 인프런 자주 묻는 질문)

추가적인 궁금증이 있으시면 언제든지 문의해 주세요.

ai 기똥차네요...