묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
pip 설치 오류 문의
pip를 공식사이트에서 받아서 직접 설치후 명령창에 "pip install fastapi uvicorn"을 입력하면 "warning : There was an error checking the latest version of pip"라는 문구가 뜹니다. 그런데 또 막상 Scripts폴더나 명령창에 pip list 확인시 설치가 되어있는걸 확인할수 있습니다. 이 메시지를 무시하고 진행해도 문제가 없을까요?
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
문의 드릴 메일 주소좀 알려주시면 감사하겠습니다.
수고 많은십니다. 치트키 알려주는 남자님^^문의드릴 메일 주소를 못찾아서요 ㅠㅠ주소알려주시면 감사하겠습니다.
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
membership부분은 몇 강의에서 진행하신건가요?
membership부분은 몇 강의에서 진행하신건가요?아무리 찾아봐도 어디있는지...휴..추가 안내사항답변을 받으면 꼭 확인하고 감사 인사를 남겨주세요. 작은 반응도 답변자에게 큰 동기부여가 됩니다!질문 게시판에서는 서로를 존중하며 커뮤니케이션해주세요.강의 외적인 문의(예: 계정 문제, 결제 등)는 고객센터를 이용해주세요.여러분의 꼼꼼한 질문이 더욱 빠르고 정확한 답변으로 이어질 수 있습니다. 😊
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
파이선 설치 문제
현재(9월5일 기준) 파이선 3.13.7을 다운받고 보면 scripts폴더가 없거나 있어도 아무것도 없이 텅 비어있습니다. 당연히 fastapi와 uvicorn 설치도 안되구요 ㅠㅠ 더이상 진행을 못하고 있습니다 ㅠㅠ어떻게 해야할까요?
-
미해결FastAPI 완벽 가이드
81강 한 건도 못찾았을 경우 질문
강의 잘 듣고 있습니다. 한 가지 의문이 생겨서 질문을 남깁니다.한 건도 못찾은 겅우 HTTPException으로 try문을 벗어나게 되는데 이미 생성된 result(커서?)가 닫히는 부분은 없는 것 같아서요. conn.execute를 해서 커서를 열었으면 닫아줘야 하는 것 아닌가요?
-
미해결FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
강의자료 링크로 들어가면 페이지를 찾지못한다고 나와요
💡 질문하기 전에 먼저 확인해보세요! 답변을 기다리는 동안, 아래 항목들을 먼저 확인해보시면 문제가 해결될 수도 있어요.강의 내용 다시 보기: 혹시 놓친 부분이 없는지 해당 챕터의 강의를 한 번 더 돌려보셨나요?오타 및 들여쓰기 확인: 파이썬은 특히 들여쓰기에 민감해요. 코드에 오타나 잘못된 들여쓰기는 없는지 꼼꼼히 확인해주세요.에러 메시지 검색: 빨간색 에러 메시지가 떴다면, 메시지 전체를 복사해서 구글에 그대로 붙여넣기 해보세요. 전 세계 개발자들이 비슷한 문제를 겪고 해결책을 공유해두었을 확률이 높습니다.Q&A 게시판 검색: 혹시 다른 분이 먼저 비슷한 질문을 올렸는지 게시판을 한번 살펴보는 것도 좋은 방법이에요.
-
미해결FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
CRUD관련: async def get_db() 관련
강의에서는 비동기적으로 engine을 만들때, 아래 처럼engine = create_async_engine( DATABASE_URL, echo=True, future=True, # SQLAlchemy 2.0 # encoding="utf-8" )했는데.... poolclass=QueuePool를 사용하여, DB 연결을 풀링하여 재사용하는 것이 도움이 될 듯한데... 강의에서는 언급이 없으셔서, AI에게 물어봤더니..."FastAPI에서 create_async_engine과 함께 QueuePool을 사용하는 것은 비동기 데이터베이스 연결을 효율적으로 관리하기 위함입니다. QueuePool은 데이터베이스 연결을 풀링하여 재사용함으로써, 매번 새로운 연결을 생성하고 종료하는 오버헤드를 줄여줍니다. 특히 FastAPI와 같이 비동기 요청을 처리하는 환경에서는 여러 연결을 동시에 관리해야 하므로, 풀링은 성능 향상에 큰 도움이 됩니다."이렇게 답을 주고...from sqlalchemy.ext.asyncio import create_async_engine from sqlalchemy.pool import QueuePool DATABASE_URL = "your_database_url" # 예: postgresql+asyncpg://user:password@host:port/database engine = create_async_engine( DATABASE_URL, poolclass=QueuePool, pool_size=10, # 풀에 유지할 연결 수 max_overflow=20, # 풀 크기가 초과될 때 허용할 추가 연결 수 pool_recycle=3600, # 초 단위로 연결을 재활용할 시간 (초과 시 재연결) echo=True # SQL 실행 로그 출력 (디버깅용) ) # 이후 엔진을 사용하여 데이터베이스 작업 수행예시코드로 이렇게 주던데...실제로, 비동기적으로 engine을 만들때에 AI의 답변처럼 도움이 되나요?저희 강의의 코드는 아래와 같은 흐름을 타고 있던데...from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession from sqlalchemy.orm import sessionmaker, declarative_base from typing import AsyncGenerator from sqlalchemy.orm import configure_mappers configure_mappers() DATABASE_URL = "sqlite+aiosqlite:///./sql_app.db?charset=utf8" engine = create_async_engine( DATABASE_URL, echo=True, future=True, # SQLAlchemy 2.0 # encoding="utf-8" ) from sqlalchemy.ext.asyncio import async_sessionmaker AsyncSessionLocal = async_sessionmaker( engine, class_=AsyncSession, # add expire_on_commit=False, autocommit=False, autoflush=False ) Base = declarative_base() async def get_db() -> AsyncGenerator[AsyncSession, None]: session: AsyncSession = AsyncSessionLocal() print(f"async def get_db(): Session created: {session}") try: yield session except Exception as e: print(f"Session rollback triggered due to exception: {e}") await session.rollback() raise finally: print(f"async def get_db(): Closing session: {session}") await session.close()
-
해결됨FastAPI 완벽 가이드
64강: mysql-connector-python 버전 관련
mysql-connector-python=9.4.0으로 2025.8.17일 현재의 최신 버전을 설치했더니, engine.connect() 부터 적용이 안되던데... 이유가 궁금합니다. 왠만해서는 안될 이유가 없을 것 같은데...희한하게 안되더라구요... 궁금해서 질문 남깁니다. 감사합니다.
-
미해결FastAPI 완벽 가이드
152번 강의에서 질문이있습니다.
router 계층에서 service계층의 get_all_blogs를 직접 호출하지않고 Depends로 넣어주는 이유가 뭔지 궁금합니다.
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
경제 데이터 업데이트 중 오류 발생 문제
4.15 강의에서 run.py을 처음 실행하면 supabase Table Editor에 economic_and_stock_data 컬럼에 데이터가 비어 있을 때 주가 데이터가 잘 저장되다가 2019-09-08 데이터까지 잘 저장되다가 아래와 같이 오류가 나고 주가 데이터 저장이 멈춥니다 컨트롤 + c를 눌러서 프로그램을 종료 시키고 다시 실행시키면 이어서 남은 날짜까지 잘 저장되긴 하네요경제 데이터 업데이트 중 오류 발생: <ConnectionTerminated error_code:0, last_stream_id:19999, additional_data:None>raise Exception(f"경제 데이터 업데이트 중 오류: {str(e)}")Exception: 경제 데이터 업데이트 중 오류: <ConnectionTerminated error_code:0, last_stream_id:19999, additional_data:None>ERROR: Application startup failed. Exiting.
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
4.15, 4.16 강의를 따라하는데 주가 데이터가 이상합니다
오늘 날짜 25-08-16에 python run.py로 실행 해서 주가 데이터를 supabase에 저장 시키는 부분은 오류 없이 잘 작동 했는데 Table Editor에 economic_and_stock_data 컬럼에 저장된 주가 데이터들을 보니깐 주가 데이터가 전혀 맞지도 않고 중복된 값이 여러개 들어가 있습니다 예로 몇개만 예시를 들면 2025-06-15 ~ 2025-08-14 애플 주가 데이터 저장된 것을 보면 232.77999877929688 중복으로 저장이 되있어요 당연 실제 주가 데이터랑 비교 해봐도 다르구요 다른 주식들도 마찬가지에요 중복으로 안맞는 주가 데이터가 저장되 있는게 많아요 주가를 가져오는 yfinance 라이브러리에 문제가 있는 것 같은데 확인좀 부탁드려요 4.15 강의를 보면 주가 데이터가 맞게 저장 되는 것 같은데 현재 날짜로 따라 해보면 주가 데이터가 이상해요
-
해결됨처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
16강에 원래 있어야 할 강의 내용이 없고 23강 내용이 그대로 업로드 되어 있습니다.
16강에서 http 메서드에 대한 설명을 이어 나가야 하는데 실행하면 23강의 내용이 똑같이 나옵니다.
-
해결됨FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
34강 강의 마지막에 나오는 35강 websocket 관련 강의 관련 질문
34강 마지막에 35강 강의는 websocket과 관련된 강의라고 하는데 해당 내용에 대한 강의도 있는 건가요? 아니면 35강 부터 Docket 컨테이너화와 AWS 배포 실습에 관한 강의 인가요?
-
미해결실전! FastAPI 입문
DB 질문
내용 관련된 질문은 아니지만 궁금해서 여쭤봅니다. 혹시 MSSQL을 사용해도 이후의 내용을 동일하게 진행할 수 있을까요?
-
해결됨FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
Docker와 AWS 배포 강의 관련
강의 소개에 안내된 "Docker를 이용해 애플리케이션을 컨테이너화하고, AWS 클라우드 환경에 직접 배포하고 운영"에 관한 강의는 언제 올라오나요? 어디엔가 답변에 지난 주말에 올라 올 거라는 내용이 있었던 것 같은데.... 아직 업로드가 되지 않아서 문의 남깁니다.
-
미해결FastAPI 완벽 가이드
import 자동완성
아래와 사진과 같이 import가 되어 있지 않은 경우 에러가 발생하게 됩니다.다른 언어들은 특정 버튼을 눌러서 import가 자동완성 되는 경우가 많은데 fastapi는 안되는 걸까요?
-
해결됨FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
15강 수정 요청: DOWNLOAD_DIR 확인 구문 부분
아래의 엔드포인트 두개의 함수 부분에서async def download_basic(file_name: str):async def download_custom(file_name: str):if not file_path.startswith(os.path.abspath(DOWNLOAD_DIR)): 이 부부의 file_path를 full_file_path를 아래처럼 할당한 후에if not full_file_path.startswith(os.path.abspath(DOWNLOAD_DIR)): 으로 수정해야 할 듯 합니다.@app.get("/download/basic/{file_name}") async def download_basic(file_name: str): safe_base_filename = os.path.basename(file_name) file_path = os.path.join(DOWNLOAD_DIR, safe_base_filename) full_file_path = os.path.abspath(file_path) . ' ' if not full_file_path.startswith(os.path.abspath(DOWNLOAD_DIR)): # if not file_path.startswith(os.path.abspath(DOWNLOAD_DIR)): @app.get("/download/custom/{file_name}") async def download_custom(file_name: str): safe_base_filename = os.path.basename(file_name) file_path = os.path.join(DOWNLOAD_DIR, safe_base_filename) full_file_path = os.path.abspath(file_path) . ' ' if not full_file_path.startswith(os.path.abspath(DOWNLOAD_DIR)): # if not file_path.startswith(os.path.abspath(DOWNLOAD_DIR)):그렇지 않으면 검증이 되지 않습니다. 아래 참고file_path: ./downloadables/스크린샷_3.pngfull_file_path: D:\Python_FastAPI\Inflearn_Master\File_API\downloadables\스크린샷_3.pngos.path.abspath(DOWNLOAD_DIR): D:\Python_FastAPI\Inflearn_Master\File_API\downloadables
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
Github repository는 없나요?
Notion에 있는 코드말고, Github Repository는 따로 없나요?
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
백엔드 도커 실행 에러가 뜹니다 ㅠ
에러 로그는 아래와 같아요File "<frozen importlib._bootstrap_external>", line 999, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "/app/main.py", line 6, in <module> from app.db.database import Base, async_engine File "/app/app/db/database.py", line 1, in <module> from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine ModuleNotFoundError: No module named 'sqlalchemy' WARNING: WatchFiles detected changes in 'app/db/crud/user.py'. Reloading... Process SpawnProcess-2: Traceback (most recent call last): File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap self.run() File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.12/site-packages/uvicorn/_subprocess.py", line 80, in subprocess_started target(sockets=sockets) File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 67, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 71, in serve await self._serve(sockets) File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 78, in _serve config.load() File "/usr/local/lib/python3.12/site-packages/uvicorn/config.py", line 436, in load self.loaded_app = import_from_string(self.app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 22, in import_from_string raise exc from None File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module return bootstrap.gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcdimport File "<frozen importlib._bootstrap>", line 1360, in findand_load File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 935, in loadunlocked File "<frozen importlib._bootstrap_external>", line 999, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "/app/main.py", line 6, in <module> from app.db.database import Base, async_engine File "/app/app/db/database.py", line 1, in <module> from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine ModuleNotFoundError: No module named 'sqlalchemy' 위 에러 때문인지 코드에서 아래 에러? 도 뜨네요 uvicorn main:app --reload도 당연 에러 뜨구요..어떤 부분을 확인하면 될까요? ㅠ
-
해결됨FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
31강 질문: /docs에 read_all_users 관련
31강에서 구현된 users.py의 read_all_users는 화면에 구현이 안되는 것이 맞는 것인가요? Users의 POST /users 밑에 GET /users/all로 있어야 할 것 같은데...===> PC를 재시작 후 다시 서버를 실행해 보니 나타납니다.DB Browser에서 특정 User의 is_admin을 true로 수정하고 저장까지 완료하고 난 후, 각각의 User들로 로그인해보았습니다. 그런데, is_admin이 false인 모든 User들도 read_all_users의 endpoint인 /users/all에서 모든 회원들의 리스트가 조회가 됩니다./docs 페이지라서 그런 것인지 아니면 잘못 구현된 것인지 궁금합니다. 강의에서는 docs에서의 이런 상황에 대한 언급이 없어 질문을 드립니다.