inflearn logo
강의

Course

Instructor

How does a delivery app find good restaurants near me?

Create shop document, collection

odm 관련

492

daniel

58 asked

0

혹시 강사님께서

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

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

python mongodb FastAPI

Answer 3

0

recordable07111249

@Daniel Ryu

@ky.kim

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

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

 

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

 

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

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

0

recordable07111249

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

0

kykim

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

0

communityai8509

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

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

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

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

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

강의자료 다운로드 방법

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

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

2

recordable07111249

ai 기똥차네요...

python run.py 실행시 에러 문제

0

8

1

조건 반복문 질문: for 문 ?

0

9

0

54강 4분 41초에서 질문 있어요.

0

10

1

커서창

1

16

2

강의 제작

1

16

1

23강 질문드립니다, 강사님.

0

14

1

import

0

9

1

45강 예제4번에서 질문 있어요!

0

11

0

45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?

0

10

1

Json.stringify 관련 오류일까요?

0

11

2

3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;

0

12

1

cursor 환경

1

17

2

Gradio 실행 시 에러 발생 문의

0

16

2

Gradio 실행 시 Jinja2 / ASGI TypeError: unhashable type: 'dict' 에러 문의

0

19

2

안녕하세요, 강의자료 요청드립니다

0

16

1

개발 환경 준비와 프로젝트 구조 강의 관련

1

13

2

자료실 문의합니다. AIDU 툴 다운받으려고합니다.

0

11

1

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

0

96

1

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

0

160

2

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

0

167

2

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

0

118

1

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

0

317

2

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

0

601

1

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

3

2265

3