Collection Server 와 API Server 를 위한 Python 프로젝트 입니다. [FastAPI참고] https://github.com/riseryan89/notification-api
- python -m venv venv : 가상환경 설정
- .\venv\Scripts\activate.ps1 : 가상환경 활성화 $ source venv/bin/activate : Termux (* [Powershell] Set-ExcutionPolicy RemoteSigned : Powershell인 경우 RemoteSigned 설정을 해야 가상환경을 활성화 할 수 있다.)
- pip install -r requirements.txt : txt파일에 서술된 pkg 항목을 설치 (* pip freeze : 설치 된 pkg 항목을 표기)
- import 경로 문제로 인하여 해당 내용 삽입
- import sys, os
- sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(file))))
- fastapi : api Framework(?)
- uvicorn : webserver Framework(?)
- PyJWT : Json Web Token
- bcrypt : Encryption
- sqlalchemy : Data base Orm
- pymysql : mysql driver(?)
200 OK 201 Created 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method not allowed 500 Internal Error 502 Bad Gateway 504 Timeout
- Authorization: (일반적으로 사용)
- Basic : 사용자 아이디와 암호를 Base64 로 인코딩한 값을 토큰으로 사용
- Bearer : JWT 또는 OAuth 에 대한 토큰을 사용
- Digest : 서버에서 난수 데이터 문자열을 클라이언트에 보내고, 클라이언트는 사용자 정보와 nonce 를 포함하는 해시값을 사용하여 응답
- HOBA : 전자 서명 기반 인증
- Mutual : 암호를 이용한 클라이언트-서버 상호 인증
- AWS4-HMAC-SHA256 : AWS 전자 서명 기반 인증
- sys.dont_write_bytecode = True : ByteCode를 만들지 안도록 하여 폴더 가시성 향상 (pycache)
- sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(file)))) : 절대경로를 프로젝트 폴더 기준으로 설정