
다시 시작합니다.
돌이켜보니 거의 1년이 됐네요. 너무 빨리 변하는 세상을 따라가기 벅찼다는 이유로 잠깐 내려놓았는데, 그 사이에 세상이 변하는 속도는 더 빨라진 것 같습니다. 작년 회고 이후 남은 2025년의 몇 달은 회고 때와 크게 다르지 않았습니다. 그땐 고생하고 있단 무난한 말로 문장을 맺었지만 이제는 확실히 쓰레기 같았다는 표현을 쓸 수 있습니다. 다행히 올해...

돌이켜보니 거의 1년이 됐네요. 너무 빨리 변하는 세상을 따라가기 벅찼다는 이유로 잠깐 내려놓았는데, 그 사이에 세상이 변하는 속도는 더 빨라진 것 같습니다. 작년 회고 이후 남은 2025년의 몇 달은 회고 때와 크게 다르지 않았습니다. 그땐 고생하고 있단 무난한 말로 문장을 맺었지만 이제는 확실히 쓰레기 같았다는 표현을 쓸 수 있습니다. 다행히 올해...

일과 삶을 분리하지 않는 성격에 새로운 것과 배워야 할 것에서 손을 떼진 않았습니다. 그럼에도 블로그를 먼지 쌓인 채로 두었던 이유는 몇 가지가 있습니다. 첫 번째는 너무나 빨리 변하는 세상에서 그걸 따라가기에도 벅찼기 때문입니다. 두 번째는 검색이 모두 ChatGPT와 Gemini, Claude와 같은 LLM 채팅 애플리케이션으로 대체되는 현상을 보...
](https://i.imgur.com/I4nSNZD.jpeg)
FastAPI를 사용하다보면 애플리케이션 서비스 시작과 종료 시점에 특정 작업을 처리하기 위해서 @app.on_event("startup")과 @app.on_event("shutdown") 데코레이터를 사용합니다. 미리 설정 파일을 불러오거나, 쿼리를 통해 전역 변수로 특정 값을 설정하는 작업에 매우 유용합니다. 하지만 FastAPI 최신 버전에서는 ...
](https://i.imgur.com/5e25iz6.png)
FastAPI로 서비스를 구축하다 보면 애플리케이션 기동 시 한 번 불러온 결과를 전역 변수처럼 재사용하고 싶을 때가 많습니다. 이때 일반적인 전역 변수보다 안전하고, FastAPI의 의존성 주입과도 잘 어울리는 방법이 바로 app.state입니다. 이 포스트에서는 app.state의 개념과 구현 패턴, 그리고 예시를 정리합니다. FastAPI...

SQLAlchemy에서 엔진을 생성한 다음 sessionmaker 또는 async_sessionmaker를 통해서 세션 팩토리를 생성할 때 expire_on_commit 인자를 사용합니다. 이 인자는 Session 객체가 트랜잭션을 커밋할 때 객체의 상태를 어떻게 관리할지를 결정합니다. 기본적으로 SQLAlchemy는 ORM 객체를 메모리에 캐싱하고...