IT/파이썬 2021. 7. 1.
Flask REST API 구현 중 파일 업로드는?
JSON 기반의 메시지가 왔다 갔다는 아무런 문제가 없는데, 파일 업로드 혹은 이미지 바이너리를 업로드 하거나 다운로드 해야 한다면 어떻게 전달해 줘야 하나? Form-data 로 파일 받기 일단 상식처럼 HTTP form-data 로 처리하는 것으로 되어 있는데 (JSON에 그냥 바이너리를 넣으면 안되나?) 파일 사이즈도 그렇고 처리하는 기본적인 방법을 알아놔야 한다. 일단 레퍼런스 페이지 부터 조사해서 남겨두자. 아래에 정리해둠. DB 필드로 파일을 저장하는 방법 그리고, 들어온 파일 바이너리를 MongoDB에 저장해야 하는데 이건 또 다른 영역이군. FileField 가 따로 있는 것인지? from mongoengine import FileField # If you are using FileFiel..
IT/파이썬 2021. 7. 1.
Flask JWT 로그인 기능을 위한 자료 조사 - flask-jwt-extended
JWT 를 이용한 보안/인증 절차가 필요한 듯 한데, 이를 위해 자료 조사를 몇개 하는데 대충 아래로 정리가 된듯 맘에 걸리는 문제 1. 토큰을 강제로 만료시킬 수 없는 문제를 가지고 있다. 별도의 블랙리스트를 사용해 로그아웃 요청으로 전달된 토큰을 등록하여 해당 토큰을 통한 요청을 거부하도록 처리해 줘야 한다. 음...이게 먼가... 그냥 flask-jwt-extended 라이브러리를 활용해야 할 것 같다. 잘 정리된 자료는 아래와 같다. 잘 따라 가면 될 것 같다. 공식 문서 홈페이지는 아래와 같다. https://flask-jwt-extended.readthedocs.io/en/stable/ 여기에도 예제가 잘 되어 있다. 참고로, 이번에 바뀐 내용중에 많이 쓰는 함수들 관련 내용이 있어 내용 저장..
IT/DB 2021. 7. 1.
MongoDB 연결된 상태 보기
mongo shell 명령도 있겠지만, 일단 리눅스에서 네트워크 정보를 보는 것으로 간단하게 살펴보자. 아래와 같은 명령으로 대략은 살펴 볼 수 있겠다. $ sudo netstat -anp --tcp --udp | grep mongo tcp 0 0 192.168.0.4:27017 0.0.0.0:* LISTEN 1091/mongod tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1091/mongod tcp 0 0 127.0.0.1:27017 127.0.0.1:46976 ESTABLISHED 1091/mongod tcp 0 0 127.0.0.1:27017 127.0.0.1:46988 ESTABLISHED 1091/mongod tcp 0 0 127.0.0.1:27017 127.0.0..