인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

yuki님의 프로필 이미지
yuki

작성한 질문수

배달앱은 어떻게 내 주변의 맛집을 찾을까?

shop document, collection 생성

odm 관련

작성

·

309

·

수정됨

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

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

0

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

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

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

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

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

강의자료 다운로드 방법

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

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

정승원님의 프로필 이미지
정승원
지식공유자

ai 기똥차네요...

yuki님의 프로필 이미지
yuki

작성한 질문수

질문하기