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 조회수 204

PPT가 꺠져서 보입니다

미해결

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

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

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

API Key 설치 관련 문의

미해결

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

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

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

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 조회수 179

BufferedInputStream이 1바이트씩 조회해도 성능이 좋은 이유

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

BufferedInputStream에서 read() 를 호출하면 buf 라는 버퍼에 있는 것을 1바이트씩 꺼내어 조회한다고 하는데, 그렇다면 처음에 FileInputStream에서 하나씩 read() 하는 것이랑 결국 호출 횟수는 같으니 똑같은 것 아닌가? 하는 생각이 들었습니다. 그러니까 버퍼에 데이터 100바이트를 FileInputStream에서 한번에 들고와도 결국 바깥에서는 1바이트씩 꺼낸다고하니 뭐가 다른건가 궁금해졌습니다. 강의에서 버퍼에 데이터가 채워져있으면 FileInputStream의 read()를 호출하지 않고 바로 버퍼에서 꺼내준다고 하셨는데요, 여기서 버퍼에 한번에 많이 가져옴으로서 FileInputStream의 read() 를 적게 호출하게 되기 때문에 이에 따라 시스템콜도 적게 호출되므로 성능이 증가하는건가요? 앞의 강의에서 FileInputStream과 FileOutputStream의 read(),write()의 횟수를 줄여야 성능이 증가한다고 하셨으니까요. 그래서 BufferedInputStream의 read()로 1바이트씩 꺼내는건 성능에 큰 지장이 없는 것인가요?

  • java
  • 네트워크
  • 객체지향
yoon6669 댓글 1 좋아요 0 조회수 95

오타제보

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

강의명 : 파일 입출력과 성능 최적화4 - Buffered 스트림 읽기 강의 위치: 1분 22초 오타 위치: 2. IO 기본1.pdf 26페이지 최하단 오타 내용 : Buffered Output Stream 분석 -> Buffered Input Stream 분석 해당 부분의 강의는 BufferedInputStream 에 대한 내용이므로 BufferedInputStream 분석 이 되어야하지 않나 싶습니다. 감사합니다

  • java
  • 네트워크
  • 객체지향
yoon6669 댓글 2 좋아요 0 조회수 79

MemberRepository의 JPA 종속성에 관하여

해결됨

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

쉽게 이해할 수 있게 설명해주셔서 강의 잘 봤습니다. 👍 강의 후반부(39. 문서와 코드 다듬기)에 MemberRepository에 @Query를 사용하면서 JPA 종속성이 추가되었는데 이 부분에 대해서 언급 없이 2가지 조인 방식과 관련하여 설명하고 넘어갔습니다. 강의 중반부(23. 회원 애플리케이션의 포트 정의)의 MemberRepository 설명과 같이 spring-data-commons의 Repository라는 마커 인터페이스를 사용하는 것은 동의하나 application layer에 기술 종속성이 추가된 내용 관련하여 부가 설명 요청 드려도 될까요? 물론 다음 강의에 해당 설명이 있을것으로 생각되지만.. MemberQueryRepository로 분리하고 adapter layer에서 구현하는 방향이 더 좋아보이는데 개선 방향도 같이 부탁드립니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
hklee.study 댓글 1 좋아요 0 조회수 437

sql 연결 오류

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 이러한 오류가 뜨는데 어떻게 해결해야 할지 잘 모르겠습니다 ㅠㅠ application.yml 코드는 다음과 같습니다 spring: datasource: url: "jdbc:mysql://localhost/library" username: "root" password: "" driver-class-name: com.mysql.cj.jdbc.Driver

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
ksangyun04 댓글 2 좋아요 1 조회수 68

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

미해결

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

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

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

문자 집합 호환성 여부를 판단할 때

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

어떤 두 문자 집합이 호환되는지의 기준은 해당 언어를 표현하는 바이트가 일치해야함 그리고 해당 문자 집합들의 문자의 바이트(비트) 값이 일치해야함. 위 두가지를 모두 만족한다면 두 집합은 서로 호환된다고 이해하면 될까요?

  • java
  • 네트워크
  • 객체지향
yoon6669 댓글 1 좋아요 0 조회수 68

processorNonTransactional 멱등성 질문

해결됨

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

강의 잘 보고 있다. 잘 정리된 자료 덕분에 배치 작업을 이해하고 있는 중이다. 다만 설명 중 이해 안되는 부분이 존재한다. 바로 이 부분 멱등하지 않은 ItemProcessor 를 내결함성(FaultTolerance) 기능 과 함께 사용해야 하는 상황이라면, 반드시 processorNonTransactional 를 설정하도록 하자. 오히려 멱등하지 않은 ItemProecessor의 경우에는 이 설정을 비활성화 해야 하는 거 아닌가? 나의 부족한 영어실력과 GPT를 통해 스프링 배치는 ItemProcessor가 트랜잭션이나 멱등성을 가져야 한다고 되어 있는 것으로 이해하였다. It must be either transactional or idempotent. 출처: https://docs.spring.io/spring-batch/reference/transaction-appendix.html 떠라서 멱등하지 않은 ItemProcessor는 processorNonTransactional()을 지양해야 하는 것으로 나는 이해된다... 답변 부탁한다. (존대로 질문하면 rm -rf 하신다길래 이렇게 남겨요 ㅎㅎ..)

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
검토 댓글 1 좋아요 1 조회수 140

pdf 링크 오류

미해결

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

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

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

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 조회수 87

range함수 관련

해결됨

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

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

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

compareTo

미해결

김영한의 실전 자바 - 중급 2편

[질문 내용] 처음 문제를 풀떄 Card 클래스에 compareTo 오버라이딩을 @Override public int compareTo(Card o) { if(number != o.getNumber()){ return this.number - o.number; } return shape.compareTo(o.getShape()); } 위 코드처럼 작성했는데 숫자가 낮은 카드 먼저 안 나올때가 있는데 잘못 작성한걸까요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
HY_NGK 댓글 1 좋아요 0 조회수 80

자바 버전에 관하여

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

자바 21버전이 아닌 17버전을 사용해도 괜찮나요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
커디널스 댓글 1 좋아요 0 조회수 70

13강 DeleteUserCookie 함수

미해결

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

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

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

질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요 문제1번 관련 문의 사항이 있어 글 남깁니다. 1번에 getCount는 synchroinized 하는 이유가 뭔가요? 중간에 호출되는 부분이 없는 것 같고, t1.join() t2.join() 으로 마지막 출력할때도,,, synchroinized이게 안필요하다는 생각이 들어서요 제가 이해를 잘못한건지 문의드립니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
hi_man159 댓글 1 좋아요 0 조회수 73

db 연결 url 오류

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] h2데이터베이스를 사용해보고 난 후 직접 mysql을 연결하여 해보고 싶어져 연동을 시도하였습니다. <오류화면> <application.properties> 그런데 이때 사진과 같은 오류가 발생합니다. application.properties에 mysql에 대한 정보를 정확히 적었으나 해당 오류가 발생합니다. application.properties의 위치는 src/main/resources에 위치하고 있습니다. 사진과 같이 build.gradle에 의존성도 추가해 두었습니다. 이 때, 영상에서 말씀해주신대로 빌드를 intelliJ로 설정해두면 해당 오류가 발생하나 gradle로 변경하면 정상적으로 db와 연결되어 작동합니다,, intelliJ가 속도가 빠르다고 하셔서 사용하고 있었으나 intelliJ로 빌드하면 오류가 발생하는지 모르겠습니다...ㅜ 코드가 정확히 작성되어도 해당 오류가 발생할 수 있는 것일까요? 이대로 gradle로 빌드하면서 나아가도 나중에 문제가 없을지 궁금합니다.

  • java
  • spring
  • mvc
  • spring-boot
전유민 댓글 2 좋아요 0 조회수 64

인기 태그

인프런 TOP Writers

주간 인기글