inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

25강에서 에러발생: 해결방법 알려주세요

해결됨

FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기

💡 질문하기 전에 먼저 확인해보세요! UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 3465: illegal multibyte sequence 유니코드 관련에러가 발생합니다. utf-8 관련 설정에 문제가 있어보이는데, 해결방법을 구합니다. 별것을 다해본것 같은데 해결이 되질 않습니다. 코드는 알려주신데로 아래와 같이 수정했습니다. # /alembic.ini 파일 sqlalchemy.url = sqlite+aiosqlite:///./sql_app.db # /alembic/env.py 파일 import asyncio # 추가 from logging.config import fileConfig import os # 경로 작업 위해 추가 import sys # 경로 작업 위해 추가 from sqlalchemy import engine_from_config from sqlalchemy import pool # ✨ 추가: 비동기 엔진 설정을 위해 async_engine_from_config 사용 ✨ from sqlalchemy.ext.asyncio import async_engine_from_config from alembic import context # --- ✨ 추가: 프로젝트 루트 경로 추가 (env.py가 app 모듈을 찾도록) ✨ --- # env.py 파일의 부모 디렉토리의 부모 디렉토리 (즉, 프로젝트 루트)를 sys.path에 추가 sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), ".."))) # -------------------------------------------------------------- # --- ✨ 추가: Base 및 모델 임포트 ✨ --- from app.database import Base # database.py의 Base 임포트 import app.sql_models.task # task 모델 모듈 임포트 (Base.metadata가 인식하도록) # 만약 다른 모델 파일들이 있다면 모두 임포트해주는 것이 안전합니다. # ----------------------------------------------------------------------------- # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config # Interpret the config file for Python logging. # This line sets up loggers basically. if config.config_file_name is not None: fileConfig(config.config_file_name) # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel # target_metadata = mymodel.Base.metadata # target_metadata = None # --- ✨변경: target_metadata 설정 ✨ --- target_metadata = Base.metadata # 우리의 모델 메타데이터 지정! # -------------------------------- # other values from the config, defined by the needs of env.py, # can be acquired: # my_important_option = config.get_main_option("my_important_option") # ... etc. # ✨ 추가 ✨----------------------------------------------------------------- def do_run_migrations(connection): # context 설정 및 마이그레이션 실행 (run_sync 내부에서 호출될 함수) context.configure(connection=connection, target_metadata=target_metadata) with context.begin_transaction(): context.run_migrations() # --------------------------------------------------------------------------- # ... (run_migrations_offline 함수는 보통 그대로 둠) ... def run_migrations_offline() -> None: """Run migrations in 'offline' mode. This configures the context with just a URL and not an Engine, though an Engine is acceptable here as well. By skipping the Engine creation we don't even need a DBAPI to be available. Calls to context.execute() here emit the given string to the script output. """ url = config.get_main_option("sqlalchemy.url") context.configure( url=url, target_metadata=target_metadata, literal_binds=True, dialect_opts={"paramstyle": "named"}, ) with context.begin_transaction(): context.run_migrations() # --- ✨ 변경: run_migrations_online 함수 비동기 방식으로 수정 ✨ --- async def run_migrations_online() -> None: """Run migrations in 'online' mode for an async application.""" # config 섹션에서 비동기 엔진 생성 connectable = async_engine_from_config( config.get_section(config.config_ini_section), prefix="sqlalchemy.", poolclass=pool.NullPool, future=True, # SQLAlchemy 2.0 스타일 사용 ) # 비동기적으로 DB 연결 async with connectable.connect() as connection: # 동기적인 마이그레이션 함수(do_run_migrations)를 # 비동기 연결의 run_sync 메서드 내에서 실행 await connection.run_sync(do_run_migrations) # 엔진 연결 종료 await connectable.dispose() # ----------------------------------------------------------------- ''' # ✨ 위의 것으로 수정 def run_migrations_online() -> None: """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ connectable = engine_from_config( config.get_section(config.config_ini_section, {}), prefix="sqlalchemy.", poolclass=pool.NullPool, ) with connectable.connect() as connection: context.configure( connection=connection, target_metadata=target_metadata ) with context.begin_transaction(): context.run_migrations() ''' if context.is_offline_mode(): run_migrations_offline() else: # ✨ run_migrations_online() # 아래로 변경 # 온라인 모드일 경우 비동기 함수 실행 asyncio.run(run_migrations_online())

  • python
  • aws
  • docker
  • sqlalchemy
  • FastAPI
moljin 댓글 3 좋아요 0 조회수 205

PPT가 꺠져서 보입니다

미해결

인프라 보안 점검 Ansible + Django 로 한번에 끝내기

안녕하세요 PPT가 꺠져서 보입니다

  • python
  • django
  • ansible
Lee youngchae 댓글 2 좋아요 0 조회수 100

API Key 설치 관련 문의

미해결

AI 에이전트 개발 오리엔테이션

안녕하세요. 구글 API Kye 만들때 프로젝트를 선택해야 하는데, 프로젝트는 어떻게 만드나요?

  • python
  • adk
  • ai-agent
이경미 댓글 4 좋아요 1 조회수 327

python 파일명.py 입력시 Python 출력

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

안녕하세요. helloworld.py에 대해 print('hello world') 작성 후 저장, 디버깅을 했음에도 python helloworld.py 를 입력하면 'hello world'가 아닌 'Python'이 도출됩니다. py helloworld.py 를 입력하면 'hello world'가 제대로 나옵니다. 무엇이 잘못되었고 어떻게 수정할 수 있을까요?

  • python
ek-1002 댓글 1 좋아요 0 조회수 182

유니티6버전사용해야하나요?

해결됨

[Unity] 멀티플레이 게임 필수 기능 구현 - 서버 & 데이터 관리까지!

현재 유니티 버전에서 사용하고싶은데 반드시 유니티6버전을 사용해야하나요? 유니티 이전버전에서 URP를 설치해서 사용해도 되는지 궁금합니다.

  • unity
  • firebase
  • photon
  • photon-pun
  • firestore
parkjin37 댓글 2 좋아요 0 조회수 181

eslint 설정

해결됨

한 입 크기로 잘라먹는 Next.js

실제 코드에 나와 있는 설정과 아래의 설명이 반대로 바뀐 거 같은데 어디에 맞춰서 설정해주면 될까요?

  • react
  • typescript
  • next.js
라연 댓글 2 좋아요 0 조회수 98

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

  • python
  • 머신러닝
  • 통계
wowowow 댓글 2 좋아요 0 조회수 213

pdf 링크 오류

미해결

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

안녕하세요 선생님 현재 강의의 6페이지에 (파이썬으로 간단한 ETL 작성해보기) 파이썬으로 구글 코랩에서 작성하는 데이터 파이프라인 이라는 문구에 링크를 걸어두신 거 같은데요, PDF 다운로드 후 링크가 지속적으로 안열립니다. 웹페이지가 아니라 직접 파일 다운로드 해서 열어도 안되는데 어떻게 해야 되나요?

  • python
  • sql
  • airflow
  • snowflake
박민지 댓글 2 좋아요 2 조회수 174

1-5 알고리즘과 친해지기 (2) - 최빈값찾기

해결됨

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

1. 현재 학습 진도 1-5 6강 최빈값찾기 최빈 문자를 찾는 것 2. 어려움을 겪는 부분 이런 코드는 어떨지 궁금합니다! def find_max_occurred_alphabet(string): mem = {} max_v = 0 max_k = '' for s in string: if s.isalpha(): if s not in mem: mem[s] = 1 else: mem[s] += 1 for k, v in mem.items(): if max_v < v: max_v = v max_k = k return max_k 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보았는데 답이 다르다면 이런식으로 여기에 올려 첨삭을 받는 형식일까요? 또 궁금한 것이 왜 string에 겹치는 최빈값이 문자열이 많은데 정답은 i, e, b인지 궁금합니다. o, l, t 일수도 있지 않나요? 밑의 질문 내용에서 답을 얻었습니다! 복수정답으로 이해했습니다! 감사합니다!

  • python
  • 코딩-테스트
  • 알고리즘
  • data-structure
ybt124 댓글 2 좋아요 0 조회수 88

range함수 관련

해결됨

[왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵

반복자 range가 5번 i라는 변수에 반복 코드를 생성하고 print(' 파이썬 프로그래밍')이면 변수와 print(' 파이썬프로그래밍') 사이에 연관성이 있어야 하지 않을까하여 질문 드립니다. print(' 파이썬프로그래밍')사이에 위의 변수i 에 걸려서 그 변수가 range만큼 반복한 값(for이라는 반복자를 사용)이 출력될텐데 print(' 파이썬프로그래밍') 와 변수 i와의 연관성을 잘 모르겠습니다.

  • python
  • 머신러닝
  • 빅데이터
  • 인공지능(ai)
  • ax(에이전트-경험)
원규진 댓글 1 좋아요 2 조회수 136

1-9. 피벗 쿼리 작성

해결됨

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

안녕하세요. 수업 잘 듣고 있습니다. 말씀 해 주신대로 풀이 보기 전에 풀어보고 다시 영상보고하니 재미도 있고 실력도 빨리 느는 것 같아요. 감사합니다! 1-9 강의에서 주신 피벗 쿼리 작성해 봤습니다! WITH funnel_base AS ( SELECT event_date, event_timestamp, event_name, -- params.key AS key, -- params.value.string_value AS string_value, -- params.value.int_value AS int_value, user_id, user_pseudo_id, platform, MAX(IF(params.key="firebase_screen",params.value.string_value,NULL))AS firebase_screen, MAX(IF(params.key="session_id",params.value.string_value,NULL))AS session_id, -- MAX(IF(params.key="food_id",params.value.int_value,NULL))AS food_id FROM `advance.app_logs` CROSS JOIN UNNEST (event_params) AS params WHERE event_date BETWEEN "2022-08-01" AND "2022-08-18" GROUP BY ALL ), filter_event AS ( -- event_name+screen SELECT * EXCEPT(event_name, firebase_screen,event_timestamp), CONCAT(event_name,'-', firebase_screen) AS event_name_with_screen, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_timestamp FROM funnel_base WHERE event_name IN ('screen_view', 'click_payment') ), funnel_step AS ( SELECT event_date, filter_event.event_name_with_screen, CASE WHEN filter_event.event_name_with_screen = 'screen_view-welcome' THEN 1 WHEN filter_event.event_name_with_screen = 'screen_view-home' THEN 2 WHEN filter_event.event_name_with_screen = 'screen_view-food_category' THEN 3 WHEN filter_event.event_name_with_screen = 'screen_view-restaurant' THEN 4 WHEN filter_event.event_name_with_screen = 'screen_view-cart' THEN 5 WHEN filter_event.event_name_with_screen = 'click_payment-cart' THEN 6 ELSE NULL END AS step_number, COUNT(user_pseudo_id) AS cnt FROM filter_event WHERE event_date BETWEEN "2022-08-01" AND "2022-08-15" GROUP BY ALL HAVING step_number IS NOT NULL) --3. event_name_with_screen 컬럼으로, 일자별로 count SELECT event_date, SUM(IF(funnel_step.event_name_with_screen = "screen_view-welcome", cnt, null)) AS `screen_view-welcome`, SUM(IF(funnel_step.event_name_with_screen = "screen_view-home", cnt, null)) AS `screen_view-home`, SUM(IF(funnel_step.event_name_with_screen = "screen_view-food_category", cnt, null)) AS `screen_view-food_category`, SUM(IF(funnel_step.event_name_with_screen = "screen_view-restaurant", cnt, null)) AS `screen_view-restaurant`, SUM(IF(funnel_step.event_name_with_screen = "screen_view-cart", cnt, null)) AS `screen_view-cart`, SUM(IF(funnel_step.event_name_with_screen = "click_payment-cart", cnt, null)) AS `click_payment-cart` FROM funnel_step GROUP BY ALL ORDER BY event_date

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
Min 댓글 2 좋아요 0 조회수 110

세션 6의 퀴즈 5번 정답 옵셔널 캐치올 아닌가요?

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

문제에서도 /docs 가 있고, 해설에도 옵셔널 캐치올에는 /docs 가 포함 될때도 사용된다고 되어 있는데, 막상 답은 캐치올을 선택해야 답으로 나오네요.

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
Jmob 댓글 2 좋아요 1 조회수 114

13강 DeleteUserCookie 함수

미해결

FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기

13강 15분 즈음에 나오는 DeleteUserCookie함수는 도대체 어디에 있는건가요? 강의 듣는도중 노션에 없는 예시가 음성으로만 나오는데 관련된 코드가 따로 있는건가요? 한 두 강의에서만 그런게 아니라 이전 강의에서도 노션에 없는 코드를 음성으로만 설명하는 경우가 있던데 원래 그런건가요...?

  • python
  • aws
  • docker
  • sqlalchemy
  • FastAPI
kscr37 댓글 4 좋아요 1 조회수 129

안녕하세요! 게임개발 협업관련해서 질문드립니다!

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

게임 개발 작업을 할 때 2인이서 협업을 하려면 현업에서는 어떤방식으로 협업을 하나요?

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
dreamfuturegames24 댓글 2 좋아요 1 조회수 185

npm 배포 후 import 시 오류사항

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

npm 배포 후 import 해서 컴포넌트 사용할 때 첫 번째 사진과 같은 오류가 발생합니다. 'codecamp-ui' 설치 후 접속해도 동일한 오류가 나옵니다. 어떤 부분이 문제일까요..?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
mh 댓글 2 좋아요 0 조회수 120

경제지표 업데이트 오류

해결됨

베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신

강의 처럼 app을 실행하고 경제지표 업데이트 하기위해 api excute하게 되면 바로 종료가 되어 버립니다. 혹시 해결방법이 있을까요?

  • python
  • 딥러닝
  • 빅데이터
  • FastAPI
  • 데이터-엔지니어링
hjopy89 댓글 2 좋아요 0 조회수 132

상세 페이지 404 에러 발생

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

안녕하세요, 짐코딩님. 덕분에 재밌는 수업 듣고 있습니다. :) 현재 저는 짐코딩 님의 깃허브에서 => 최종 코드를 clone해서 모두 받은 후 그 중에서 Notion API만 변경해서 제 notion과 연결을 한 후 수업을 수강하고 있습니다. (API 연결 활성화가 되어 있는 캡처본/.env에서도 환경변수로 설정 완료) 혼자서 노션 블로그 게시물 등록 및 조회 테스트를 해보다가 2가지 문제점이 발생했습니다. 제가 직접 노션에 추가한 게시물의 경우 '게시물 목록'에는 뜨지만 상세페이지 클릭했을 경우 404 에러 발생 예를 들어) localhost:3000/blog/web (web은 slug 값) 이렇게 타이핑하면 상세 페이지에 잘 들어가는데, 해당 블로그를 클릭해서 들어가면 아직 url에 localhost:3000/blog/243888f~~ 이런식으로 뜨네요 ㅜㅜ 반영이 늦는걸까요 직접 노션에 추가한 게시물을 노션에서 삭제한 후 브라우저에서 보면 사라지지 않고 '게시물 목록'에 뜨고, 상세페이지를 클릭했을 경우 '404 에러 발생' 제가 직접 올린 노션 게시물만 저런 현상이 발생하고. 짐코딩님께서 미리 작성해놓으신 '웹 개발 학습 가이드'나 'Git 시작하기' 등은 상세 페이지를 클릭하면 잘 뜹니다. 이유를 모르겠습니다 ㅜㅜ 코드를 전달 드리고 싶은데, 짐코딩님 코드를 모두 클론한 걸 사용하고 있어서 어떻게 전달드려야 할지 모르겠어서 우선은 404 에러가 뜨는 이미지와 상황 설명만 먼저 전달 드립니다! 참고로 현재까지 저는 remark and rehype 플러그인 설치 강의까지 학습했습니다! 제가 왕초보라 많이 미흡합니다. 최대한 쉽게 설명해주시면 너무나 감사드리겠습니다! 항상 친절한 답변과 강의 감사드립니다.

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
댓글 2 좋아요 0 조회수 164

실전문제풀이 영상 코드 폰트가 작으며 영상이 뭔가 흐릿합니다.

미해결

국내는 기본, 해외까지 노리는 코딩 인터뷰 실전 패키지

안녕하세요. 강사님 실전문제풀이 잘 보고 있습니다만, 일부 문제 폰트 크기가 작아서 문제나 풀이 코드가 잘 보이지 않습니다. 그래서인지 영상도 흐릿하게 보입니다. 추가되는 다음 영상에서는 폰트 크기 키워주시기를 부탁드립니다. 감사합니다.

  • python
아라레 댓글 1 좋아요 0 조회수 89

인기 태그

인프런 TOP Writers

주간 인기글