inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

shop document, collection 생성

odm 관련

452

daniel

작성한 질문수 58

0

혹시 강사님께서

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

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

python mongodb FastAPI

답변 3

0

정승원

@Daniel Ryu

@ky.kim

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

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

 

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

 

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

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

0

정승원

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

0

ky.kim

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

0

인프런 AI 인턴

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

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

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

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

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

강의자료 다운로드 방법

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

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

2

정승원

ai 기똥차네요...

작업형2 모의문제1 (30강)

0

6

1

섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?

0

9

2

가상환경 초반 에러_create name

0

17

1

안녕하세요 유튜브 보고 재밌을꺼 같아서 강의 결제해서 보고잇습니다.

0

15

2

수강 기간 연장 문의 드립니다.

0

13

1

수강 계획과 관련해 문의 드립니다.

0

15

1

노션 열기에 도움이 필요합니다.

0

24

2

노션 파일 권한

0

22

2

좋은 강의 자료 감사합니다.

0

23

2

유튜브 영상보고 강의 등록하였습니다.

0

25

2

강의 내용 실습관

0

25

1

노션 파일 없음

0

23

3

한국투자 증권

0

34

2

52번 강의 질문입니다.

0

26

2

https://youtu.be/ziTLbsE9Cbc 유튜브 노션 링크 권한 부탁드립니다.

0

25

2

Breadth (등락 비율) 분석

0

18

1

교육자료가 너무 오래되어서 지시한대로 진행하려 해도 안됩니다.

0

15

1

아래 질문 내용 추가 질문 사항 입니다.

0

60

1

파이참을 이용해서 Python Interpreter 통해 라이브러리 설치가 안되는데 도움이 필요합니다.

0

105

2

캐시 구현에서 Redis - MongoDB 스코프

0

137

2

test.sh 실행시 missing arg 에러(_id)가뜹니다.

0

95

1

강사님께서 entity를 사용하신 이유가 궁금합니다

0

282

2

test.sh 파일 실행 후 에러 처리 방법

0

568

1

테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생합니다.

3

2213

3