일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Java
- fastapi
- Github Actions
- MongoDB
- Spring
- webhook
- ngrok
- Troubleshooting
- AWS
- 500
- error
- Jenkins
- Express
- AWS EC2
- python
- MUI
- macbook
- EC2
- github
- linux
- React
- javascript
- RDS
- axios
- springboot
- nodejs
- TypeScript
- js
- docker
- deploy
- Today
- Total
목록fastapi (8)
BEAT A SHOTGUN
시작질문과 답변을 등록하는 데에 다양한 방법이 있지만,가끔여러 이유로 답변 데이터를 생성하면서 답변 데이터에 질문id를 포함하고, 동시에 질문 데이터에 답변id도 추가하도록 하고 싶을 때가 있다.그래서insert_answer_result = await mongodb.answer.insert_one({ "question_id": question_id, **answer_data ... })update_question_result = await mongodb.question.update_on( {"question_id": question_id}, {"$addToSet": {"answers": answer_id}})이렇게 할 때가 ..
❗️ERRORuser 관련 기능에 python jwt를 사용하려고 할 때 발생할 수 있는 에러.테스트코드를 실행했는데, ============================= test session starts ==============================... from app.main import app../../app/main.py:7: in from app.routers import users../../app/routers/users.py:5: in from jose import jwtE File "Users/projectA/venv/lib/python3.9/site-packages/jose.py", line 546E print decrypt(deseri..
만들어진 python server를 실행하면 DB에 연결하도록 만들어놓았는데, 테스트 코드는 어플리케이션의 코드와는 별도로 실행되기 때문에 DB 연결 또한 별도로 만들어줘야한다. DB 뿐만 아니라 대부분의 초기화 작업을 따로 해줘야한다. 당연히 이 때 연결되는 DB는 실제 사용할 어플리케이션 DB와는 다른 DB를 연결해야겠지? pytest에서는 fixture를 이용해서 테스트 실행 전후에 자동으로 DB에 connect, close 할 수 있다. pytest에서 테스트 설정을 정의할 때는 conftest.py를 사용함. test 디렉토리 최상단에 conftest.py를 만들어주자. # test/conftest.py import pytest from app.dbmodule import Mongodb @pyt..
Error ❌ Error❌ Access to fetch at 'https://localhost:8000/test' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. client에서 server로 요청을 보내니 에러가 발생한..
우리는 FastAPI 의 user 관련 api를 만들면서 main.py 에다가 다 때려박아놓고 곧 분리할거라고 했었다. 우리가 낳은 자식 user api 들이 모두 자랐으니 독립시켜보자. 성인이 된 자식을 독립시키는 것만큼 엄마아빠로서 뿌듯한 일이 있겠나. FastAPI 공식 문서가 매우 친절하게 안내해주고 있기 때문에 공식문서대로 한 번 해보자. 사용설명서를 참 잘 만드셨어. 거의 오은영박사님임. 코린이는 매우 행복하고 든든합니다. 참고 FastAPI 공식 Docs - routers FastAPI 에 있는 router 라는 기본 기능을 이용할 거다. 공식 문서에 보면 Flask 를 알고 있다면, 쉽게 이용할 수 있을 거라는 걸 보니, 난 Flask 를 안 써봤지만 비슷한 기능인가보다. 아무튼! (아무튼..
매우 간단한 CRUD 만들기를 해볼거다. FastAPI, 데이터베이스로는 MongoDB 와 연결해볼거다. MongoDB 와 연결을 위해서는 Odmantic 이라는 중간다리 ODM 이 필요하다. mysql 같은 RDB 였다면 mybatis 같은 ORM 이 필요했겠지? python 에서도 mybatis 쓰나? 모르겠다 아무튼 odmantic 이 그런 역할이라 사용할거다. 먼저 pip install odmantic 을 이용해 설치해주자. 매우 쉽지만, 매우 고된 과정이었다. 영어를 못해서. 참고 motor AsyncioMotorClient odmantic pymongo API Docs pymongo readthedocs stackoverflow MongoDB Docs MongoDB 기초 - 블로그 그래서 정리..
코루틴이 기다리지 않습니다. 당황스럽게도 메서드가 실행되지 않았다. 상황은 이렇다. ERROR ❌ 과거의 나와 당신은 분명 def run(self): return asyncio.run(self.firstfunc()) 이런 함수를 만들어놓고 async def coroutinemethod(): print("wait a moment") async def firstfunc(self): self.coroutinemethod() print("first funct) 이지랄해놓았을거다 Solution ✅ 과거의 나와 당신은 분명 '아늬 함수를 호출했는데 왜? 뭘 안 기다린다는겨' 라고 했을 거지만, 코루틴 함수는 호출하면 함수를 실행하는 게 아니라 코루틴 객체를 생성한다. firstfunc 메서드를 def firstf..
웹 크롤링을 할 건데, Python 의 동시성 프로그래밍을 이용해 크롤링 속도를 높여볼 거다. 동시성 프로그래밍을 사용해 성능을 높여볼 수 있는 다양하고 멋진 서비스들이 많지만, 내 실력에 속도를 제일 확연히 느끼며 측정해볼 수 있으며, 무엇보다 내가 유일하게 만들 수 있는 간단한 프로그램이 크롤링이니까... 게다가 이번에 속도가 nodejs 급으로 빠르다는 Fastapi 를 배웠기 때문에(인프런 파이썬 동시성 프로그래밍) 한 번 사용해보려고 한다. Django에 비해 매우 쉽게 배울 수 있는 편이라고 한다. 나도 어제 이거 하루만에 만들었다. 크롤링이??? 크롤러가 하루면 오래걸린거아니냐? 라고 하는 사람들은 내 실력을 모르는 거다. 나는 정말 댕청이기 때문에 하루만에 만든 건 정말 빨리 만든거다. 사..