묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결FastAPI 완벽 가이드
API 라우트 설계 시 중첩 구조 분리 기준 질문
안녕하세요 교수님items나 users처럼 딱 떨어지는 리소스는 분리가 쉽지만, 실제로는 모델끼리 얽혀 있는 경우가 많아 라우팅이 모호해지곤 합니다.예를 들어, /products라는 경로가 있음에도 불구하고 특정 맥락에 따라 /users/{user_id}/products와 같이 nested 방식 으로 접근해야 하는 상황이 자주 발생하는데요. (반대인 경우도 발생)이렇게 데이터가 연결되어 있을 때 어디까지 경로를 중첩시킬지, 혹은 어느 시점에 라우트를 완전히 분리해야 할지 교수님만의 노하우나 팁이 있으실까요? 실무적인 관점에서 라우트 설계의 명확한 기준을 잡고 싶어 질문 드립니다.추가로 데이터 모델과 라우트 이름을 보통 같게 하나요?나중에 리팩토링 할 때 문제가 없을까요?감사합니다!
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
120페이지 코드 질문드립니다.
120 페이지 코드 보면 created_at 코드가class OAuthAccount 코드하고 들여 쓰기 레벨이 같은데 맞는건가요?
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
테스팅과 학습법의 관계 (?)
"6장: 테스팅 이해하기와 단위 테스트 연습하기" 강의 초반에 "테스팅을 잘하는 방법이 유용한 학습법과 맞닿아 있다" 고 하셨는데, 왜 그런지 궁금해서 글 남깁니다. 테스팅을 잘하는것과 학습이 어떻게 맞닿아 있는 것일까요. 강사님의 의견을 공유해주시면 감사하겠습니다.
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
commit과 flush 관련
질문이 조금 많아서 죄송합니다. 다음 테스트 코드에서 commit()과 flush()의 위치가 이상해보였습니다.async def test_user_detail_for_real_user(client: TestClient, db_session: AsyncSession): user = User( username="test", password="test", email="test@example.com", display_name="test", is_host=True, ) db_session.add(user) await db_session.commit() await db_session.flush()commit()은 DB에 반영된 트랜잭션의 변경사항을 영속적으로 만들고 트랜잭션을 종료하는 코드로 이해하고 있고, flush()는 트랜잭션의 변경사항을 실제 DB에 SQL 구문을 통해 반영하는 것으로 알고 있습니다. 그래서 이 둘의 순서가 변경된 것이 아닌지 혹은 다른 의도가 있는 것인지 궁금합니다.
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
Annotated 대 인자 기본값 관련해서
default_deps에서 기본 값으로 Depends 함수가 반환하는 객체가 할당되는 것까지는 이해했는데, 해당 동작이 왜 의도하지 않은 동작인 건지가 이해되지 않습니다. 오히려 아래 쪽이 기본값이 적용되니 더 편리해 보이기만해서 Annotated를 권장하는 이유가 와닿지 않더라구여. 이에 대해서 조금 더 구체적으로 알고 싶습니다.DbSeDep = Annotated[AsyncSession, Depends(use_session)] async def annotated_deps(session: DbSeDep): pass annotated_deps() async def default_deps(session: AsyncSession = Depends(use_session)): pass default_deps()
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
import 경로 관련하여
5.4.3 Alembic 설정하기 부분에서 다음 문장이 잘 이해되지 않습니다."우리는 그동안 appserver 디렉터리 안을 시작점(root)으로 해왔습니다. 그래서 프로젝트 내 다른 패키지에 접근하는 경로도 from appserver.apps.account 나 from appserver.apps.calendar 또는 from appserver.db import DSN 처럼 접근했었죠."appserver 디렉터리 안이 시작점이 아니고 release-your-project-with-fastapi가 시작점(루트)이 되어야 하는 것 아닌가요? fastapi-dev를 실행한 것이 appserver 디렉터리가 위치한 곳이니 루트는 현재 위치한 폴더(release-your-project-with-fastapi)이지 appserver가 아니지 않나? 라는 의문이 들었습니다.
-
미해결[2025 신규] 어서와, Fast API는 처음이지?
설치오류
SQL 설치하는데 이거 왜이럴까요 ㅠㅠ
-
해결됨[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
사용자(User)의 정의에 대한 답변. & 토이 프로젝트 기획에 유용한 툴 질문
안녕하세요 :) 좋은 강의와 책 잘 보며 열심히 따라가고 있습니다! 이번 강의 중 언급하셨던 사용자에 대한 저만의 정의를 생각해봤습니다.시스템, 서비스 혹은 제품을 이용하게 될 주체이자, 프로젝트 진행 시 직/간접적인 경험 등을 우선적으로 고려할 대상.라고 생각합니다. 추가 질문으로 기획 시에 발생하는 아이디어나 문서 정리, 다이어그램 등 ERD, User flow 차트처럼 (1) 기록으로 남겨야 하는 것들은 어떤 게 있으며, (2) 어느 툴을 사용하는 게 유용할까요? 손으로 쓰는 것이 편해서 종이에 펜으로 그리면서 설계한 적이 많았습니다. 그 뒤에 Figma나 스프레드 시트로 표현했구요. 하지만, 추후 프로젝트 README.md 에 넣을 것도 고려하면 설계 혹은 기획부터 차근차근 리소스를 쌓아가는 게 어떤 가 싶어서 여쭙습니다! 무언갈 그려야 한다면 Figma를 사용하긴 하지만, 파워포인트 수준으로 밖에 활용하지 못하고 있는 것 같습니다. 전반적인 실험이나 개발 기록은 Notion(GitHub과 별개)을 활용하는 편 입니다. JIRA를 협업 및 이슈 추적에 Confluence는 Docs 관리로 써보고는 싶었지만, 현업에서 배우는 게 아닌 개인이나 4-5인 팀에서 제대로 활용하기가 어렵더군요.. (1) 설계 시 기록으로 남겨야 하는 것들은 어떤 게 있을까요?(2) 어느 툴을 사용하는 게 유용할까요? 감사합니다.
-
미해결Azure Native로 나만의 GPT 만들기
font.html azure blob에 다시 올려줘야하는거 맞을까요?
먼저 유사한 질문이 있었는지 검색해보세요.꼭 강의와 관련된 질문이 아니더라도, 최대한 답변해드리겠습니다.건의사항도 괜찮습니다.편하게 질문해주세요! 9:38에 html 소스 바꾸고, 다시 blob service에 다시 9:38에 변경한 소스파일을 다시 업로드해야하는거 맞을까요..?? 해당 작업을 해야되는게 맞다면 제 컴퓨터에서 수정했을 때 blob service에 수동으로 안올리고 자동으로 올려지게 하는게 ci/cd???같은건가요...?
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
미래에셋의 API 적용 가능성
강의 "베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신" 에서 한국투자증권의 API 가 사용되었는데, 이것을 다른 증권회사 예를 들면 미래에셋의 API 를 사용하여 실전에 적용하는 것도 가능한가요? 이때 주의점은 무엇인가요
-
미해결React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
추가 강의 업로드 계획은 어떻게 되시나요?
안녕하세요!현재 강의의 80%를 수강했습니다.노션강의자료를 보니 기능 추가예정이 적혀있어서 혹시 언제쯤 강의를 추가하실건지 아니면 추가된 부분의 코드만이라도 노션 혹은 깃허브에 업데이트가 가능한지 궁금합니다.답변 부탁드립니다.감사합니다.
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
강의자료 관련 질문
강의자료 받으려 하는데 현대자동차 직원은 수강자 계정인을 어떤 이메일로 받으면 되나요?
-
미해결FastAPI 완벽 가이드
signed cookie 와 jwt 토큰
안녕하십니까 강사님! 자세하게 좋은 정보 알려주심에 항상 감사드립니다!!제 짧은 지식으로 궁금한 점이 생겨 질문드립니다.사용자 인증을 구현할때 jwt토큰을 사용하는 방법도 있는 걸로 압니다. jwt토큰도 마찬가지로 signed cookie처럼 암호화(인코딩)해서 헤더에 같이 보내는걸로 알고 있습니다.두 방식이 비슷하다고 생각하는데 jwt토큰과 signed cookie로 인증하는 차이가 무엇인지 궁금합니다. 짧은 경험상 모든 기술간의 트레이드 오프가 존재했던 거 같은데 jwt토큰과 signed cookie에도 그러한 부분이 있는지 궁금합니다 !항상 감사드립니다~
-
미해결FastAPI 실전편: JWT와 Redis로 완성하는 인증 시스템
게시글 삭제 API 구현 시 누락된 부분에 대한 질문
강의에서 게시글 삭제 API를 배웠는데, 강의 화면이 잘려서 완전한 코드를 확인하지 못했습니다. @app.delete("/posts/{post_id}", response_model=dict) def delete_post(post_id: int, db: Session = Depends(get_db)): query = select(Post).where(Post.id == post_id) post = db.execute(query).scalar_one_or_none() if post is None: raise HTTPException(status_code=404, detail="게시글을 찾을 수 없습니다.") db.delete(post) # ← 여기서 화면이 짤림깃허브 확인해서 코드를 완성하긴 했는데, 다른 수강생들을 위해서 강의 수강자료 또는 강의 업데이트 부탁드립니다.
-
미해결FastAPI 실전편: JWT와 Redis로 완성하는 인증 시스템
게시글 목록 조회 시 불필요한 예외 처리에 대한 질문
강의에서 배운 게시글 목록 조회 코드에서 궁금한 점이 있습니다. @app.get("/posts", response_model=list[PostResponse]) def get_posts(db: Session = Depends(get_db)): query = select(Post).order_by(Post.created_at.desc()) posts = db.execute(query).scalars().all() if posts is None: raise HTTPException(status_code=404, detail="게시글이 존재하지 않습니다.") return postsSQLAlchemy 2.0의 .all() 메서드는 데이터가 없을 때 None을 반환하는 게 아니라 빈 리스트 []를 반환한다고 알고있습니다.결과적으로 if 문을 탈 수가 없는데, 필요 없는 코드가 아닌가 해서요.그냥 빈 리스트를 반환하면 되지 않나요?
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
colab 실행시간이 너무 오래걸리는데 이게 맞을까요?ㅠ
50개인데 하나당 3분씩은 걸려서 총 3시간은 걸릴것같아요! 초반에 GPU 백엔드에 연결할 수 없음 팝업이 뜨는데 관련이 있는걸까요? 어제 수업 처음 들을 땐 10분내에 처리가 되었는데 갑자기 이러네요ㅠ
-
해결됨FastAPI 완벽 가이드
비동기처리와 멀티스레드
안녕하십니까 강사님! 오늘도 감사히 강의를 듣고 있습니다.fastapi는 비동기처리로 효율적으로 처리한다해서 자바쪽은 어떻게 할까 궁금해서 조사만 해봤는데 멀티스레드로 병렬처리로써 효율적으로 처리한다고 알게되었습니다.그러나 궁금한 점이 생겼습니다. fastapi에서 io작업같이 오래 걸리는 부분에 비동기 처리를 하는건 이해했는데 왜 단순 서비스로직 같은 경우에서는 비동기처리를 사용안하는지 궁금합니다.제 생각에는 단순히 생각해서 모든 처리를 비동기처리 해도 될 거 같은데 왜 그렇게 안하는지 어떠한 부분에서 문제가 발생할 수 있는지 궁금합니다.또한 만약에 비동기처리를 안하고 동기처리로 할때 멀티스레드로 하는지도 궁금합니다.아니면 혹시 서비스 로직같은 단순 cpu연산을 사용할때는 워낙 연산 속도가 빠르니 비동기처리와 동기처리가 속도차이가 없어서 그러한 부분들을 고려하지 않아도 되는지 이런 차이들이 궁금합니다! 항상 좋은 강의 감사드리며 정말 저에겐 소중한 강의입니다!
-
미해결실전! FastAPI 입문
FasAPI Swagger UI에서 단일조회 todo_id 를 사용했는데, 입력값에 1을 넣으니 오류가 뜹니다 ㅠ
현재 GET 단일 조회 API 강의를 듣고있는데, 강의 마지막에 FastAPI로 들어가서 Swagger UI를 사용해 해보는 것에서 입력값에 1을 넣었더니 반환값이 오지 않네요 ㅠ 어떤 것이 문제인지 모르겠습니다 .
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
MCP 적용 안되시는분 이거 보세요.
https://smithery.ai/server/@smithery-ai/filesystem위 사이트의 파일시스템 연결하는 부분이 강의랑 좀 달라졌습니다.경로를 Cursor에 직접 등록하는 부분이 아니라 아래의 Connect 부분에서 Configure 부분에 디렉토리를 입력하도록 변경됬네요. 우측 상단에 Configure 누르시면 allowedDirectories를 입력하는 창이 생깁니다.주의! 리스트 형태로 넣어줘야 합니다.["경로1", "경로2"] 처음에는 경로를 하나씩 넣고 Add Item으로 추가해줬는데.. 계속 빨간불 떠서 이것 저것 다해보다가 저 위의 방식으로 해결됬습니다.참고들 하세요..
-
해결됨FastAPI 완벽 가이드
fastapi의 가능성에 대해 궁금합니다.
안녕하십니까 강사님! fastapi강의를 정말 유익하게 보고 있습니다. 정말 감사드립니다.다름이 아니라 저는 현재 학생으로써 백엔드 개발을 빠르게 이해하고 싶어서 개발 속도가 빠른 fastapi를 선택하여 공부중입니다. fastapi의 기술 스택을 익히면 어느 방향성에서 강점을 보일까요?물론 하고자 하는 목표를 정하고 그에 맞는 기술을 배우는 것이 훨씬 더 좋은 방향이라고 생각하나 수업을 듣던중에 그럼 이렇게 장점을 가진 fastapi기술은 어디에서 사용할까? 단순 백엔드 개발로써는 자바가 많이 보편화 되어있으니 국내에서는 자바가 훨씬 유리할 거 같은데 국내에서는 어떤 방식으로 이 프레임워크를 다룰까? 이런 부분들이 궁금해졌고 이런 부분들을 알아야 조금 더 fastapi의 강점을 생각하면서 공부에 도움이 될 거 같아서 질문드립니다.강사님이 생각하시기에 fastapi는 어떤 분야에서 강점을 보이고 어떤 분야에서 이 프레임워크를 사용해 확장할 지 궁금합니다. 학생의 관점에서 보면 시야를 넓게 보는게 한계가 있어서 도움을 청합니다. 실례가 안된다면 뛰어난 경력을 가지신 강사님께 여쭙고 싶습니다!만약에 바쁘시다면 키워드라도 주시면 제가 직접 자료 조사를 해서 알아가도록 하겠습니다. 다시 한번 좋은 강의를 제공해주심에 감사를 표합니다! 강의 관련 제 생각은 강의를 다 본 후에 강의평에 남기도록 하겠습니다!