본문 바로가기
반응형

Fast API/fastapi 팁6

TimescaleDB에 배우기 1. TimescaleDB란? 시간에 따라 데이터를 저장하고 싶을 때 사용하는 데이터베이스이다. 보통 이런걸 시계열 데이터베이스 라고 한다. TimescaleDB는 Postgresql의 extension이다. 대충 확장팩이라고 생각하면 될듯 주식그래프 같이 시간에 따른 데이터를 저장해야 할 때 이 데이터베이스를 사용해야 한다. 2. 설치 공식문서를 들어가면 자기네들 클라우드를 사용하라고 가이드를 엄청 하는데, 실제 개발 테스트에서는 커맨드로 하고 싶은게 보통이다. 하기 링크를 참고하여 커맨드로 설치해주자 Timescale Documentation | Install self-hosted TimescaleDB Install TimescaleDB on your own hardware docs.timescale.. 2023. 12. 12.
[FastAPI] 이미지 파일 업로드 하기 백엔드 서버에 이미지 파일을 저장해야 하는 일이 있다. 가령 게시판에 사진을 올린다던지. 헌데 이미지파일을 DB에 저장하면 DB 쿼리 성능을 저하시킨다. 이때문에 서버에 이미지를 저장할 때에는 서버의 파일 시스템에 이미지를 저장 DB에는 이 파일의 URL만 저장해야한다 아래는 FastAPI에 파일을 저장하는 예제이다. 파일 파라미터에는 UploadFile을 사용한다 그리고 파일명이 중복되지 않도록 파일명을 저장되는 시간 + 임의의 램덤해시값으로 저장한다. from fastapi import UploadFile, File BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_DIR = os.path.join(BASE_DI.. 2021. 12. 13.
[postgresql] create table 하는 방법 아래처럼 create_db.py를 만든 후에 Base와 엔진을 임포트 한다. 그리고 아래와 같은 코드를 적으면 table을 만들어준다 from database.database import Base, engine from database.models import User print('create database..') Base.metadata.create_all(engine) 2021. 11. 17.
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? jose 모듈을 설치하고 fastapi를 실행할때 저런 에러가 뜬다 아마 하기와 같은 커맨드로 jose를 설치해서 생긴 문제이다. pip install jose 아래와 같이 바꿔주면 해결된다. pip uninstall jose pip install "python-jose[cryptography]" 2021. 11. 17.
Is the server running locally and accepting connections on that socket postgresql 사용하면서 저런 에러가 뜨는 경우가 있다. 문제의 원인은 postgresql 의 url 경로가 잘못되서 생기는 경우이다. 나같은경우는 sql의 유저 account의 비밀번호 끝자리에 골뱅이 @가 있어서 문제가 되었다. 2021. 11. 16.
Postgresql 로그인 접속실패 해결방법 PostgreSQL/{version}/data/pg_hba.conf를 연다 host all all 127.0.0.1/32 md5 위와같이 메소드를 md5로 바꾼다 2021. 11. 16.
반응형