
2025년 상반기 회고
📰 뜸했던 이유 일과 삶을 분리하지 않는 성격에 새로운 것과 배워야 할 것에서 손을 떼진 않았습니다. 그럼에도 블로그를 먼지 쌓인 채로 두었던 이유는 몇 가지가 있습니다. 첫 번째는 너무나 빨리 변하는 세상에서 그걸 따라가기에도 벅찼기 때문입니다. 두 번째는 검색이 모두 ChatGPT와 Gemini, Claude와 같은 LLM 채팅 애플리케이션으로 ...
📰 뜸했던 이유 일과 삶을 분리하지 않는 성격에 새로운 것과 배워야 할 것에서 손을 떼진 않았습니다. 그럼에도 블로그를 먼지 쌓인 채로 두었던 이유는 몇 가지가 있습니다. 첫 번째는 너무나 빨리 변하는 세상에서 그걸 따라가기에도 벅찼기 때문입니다. 두 번째는 검색이 모두 ChatGPT와 Gemini, Claude와 같은 LLM 채팅 애플리케이션으로 ...
FastAPI를 사용하다보면 애플리케이션 서비스 시작과 종료 시점에 특정 작업을 처리하기 위해서 @app.on_event("startup")과 @app.on_event("shutdown") 데코레이터를 사용합니다. 미리 설정 파일을 불러오거나, 쿼리를 통해 전역 변수로 특정 값을 설정하는 작업에 매우 유용합니다. 하지만 FastAPI 최신 버전에서는 ...
FastAPI로 서비스를 구축하다 보면 애플리케이션 기동 시 한 번 불러온 결과를 전역 변수처럼 재사용하고 싶을 때가 많습니다. 이때 일반적인 전역 변수보다 안전하고, FastAPI의 의존성 주입과도 잘 어울리는 방법이 바로 app.state입니다. 이 포스트에서는 app.state의 개념과 구현 패턴, 그리고 예시를 정리합니다. app.state란...
expire_on_commit의 역할 SQLAlchemy에서 엔진을 생성한 다음 sessionmaker 또는 async_sessionmaker를 통해서 세션 팩토리를 생성할 때 expire_on_commit 인자를 사용합니다. 이 인자는 Session 객체가 트랜잭션을 커밋할 때 객체의 상태를 어떻게 관리할지를 결정합니다. 기본적으로 SQLAlch...
Marimo? 최근에 Medium에서 어떤 아티클을 보다가 마리모라는 이름의 오픈소스 도구를 알게 되었습니다. 마리모(Marimo)란 위키피디아에 따르면 공 모양의 집합체를 만드는 것으로 잘 알려져 있는 담수성 녹조류의 일종이라고 합니다. 당연히 이게 말씀드리려던 오픈소스 툴의 정체는 아닙니다. 마리모는 간단하게 이야기해서 Jupyter Noteb...