어제 해보겠다고 얘기한 그게 계속 신경쓰여서 그거까지만 해봄


함수형 캡쳐 쓰니까 잘 작동하긴 하는데


app.state에 인스턴스 넣고 진짜 싱글톤 패턴 쓰는 게

더 낫다는 결론에 이르렀음


app.state의 장점


- 수명을 앱이 관리해줌 (앱과 함께 정리됨)

- 코드양 5분의 1로 줄어듬

- 타입 안정성 높음

- 디버깅 용이

- 관례에 맞고 표준임

- 확장성 높음 (uvicorn이 멀티워커 시 자동 처리해줌)

- 핫리로드 가능 (기존 거는 global이라 문제 발생할 수 있음. 컨피그 리로드도 같은 이유로 메모리 누수 발생함)

- 더 빠름 (ns단위긴 한데 미세하게 더 빠름)


여기에 키-값으로 인스턴스 저장하는 게

거의 모든 면에서 더 우월함


사실 그럴 수 밖에 없는 게

파이썬이 지원해주는 건 C와 C++ 수준이고


파이썬으로 구현한 건 결국 파이썬 급이기 때문에

웬만하면 python이 지원해주는 걸 쓰는 게 더 나을 수 밖에 없음


파이썬 코드는 더 짧은 수록 빠르다