테스트 코드만 추가한 PR — 그리고 genAI 시대의 TDD
Published:
aws-cli 이슈 #5084 의 한 줄 fix 는 2020 년에 PR 까지 올라왔는데, 테스트가 없다는 이유로 3 년 후 자동 close 됐다. 내가 다시 올리면서 추가한 건 그 테스트 8 줄. 테스트 코드의 의미와 genAI 시대의 TDD 까지.
Published:
aws-cli 이슈 #5084 의 한 줄 fix 는 2020 년에 PR 까지 올라왔는데, 테스트가 없다는 이유로 3 년 후 자동 close 됐다. 내가 다시 올리면서 추가한 건 그 테스트 8 줄. 테스트 코드의 의미와 genAI 시대의 TDD 까지.
def vs async def, 그리고 worker 몇 개 Published:
FastAPI에서 def 핸들러와 async def 핸들러는 내부 실행 경로가 완전히 다르다. 언제 어느 걸 쓸지, Uvicorn worker를 몇 개로 설정할지, 그 결정이 왜 이전 GIL 시리즈의 프레임워크로 정리되는지.
Published:
Depends()가 왜 클래스도 데코레이터도 아닌 함수 호출인지. DB 세션, 인증, 설정을 어떻게 주입하는지. 서브 의존성, 요청 범위 캐시, yield 패턴, 테스트 시의 override까지.
Published:
FastAPI에서 price: float이라고 써놓으면 왜 400이 자동으로 떨어지는지. Pydantic이 타입 힌트를 어떻게 읽어서 validator로 바꾸는지, v1과 v2의 실제 차이, 운영 중 만난 함정들.
Published:
Flask/Django의 WSGI 모델은 뭘 못 했고, ASGI는 어떻게 그걸 풀었는지. FastAPI가 Starlette 위에 Pydantic과 타입 힌트로 무엇을 더 얹었는지.
Published:
입사 전에 오픈소스에 뭐라도 기여하고 싶어서 aws-cli 이슈를 뒤지다가 fish shell 관련 이슈를 발견. shell 종류 공부하고 첫 PR 머지된 후기.
Published:
SSAFY 기업연계 프로젝트에서 맡은 AI 이미지 분석 API. 레거시 Python 스크립트를 FastAPI 서비스로 리팩토링하면서 마주친 구조·성능·동시성 이야기. KNN 싱글톤 캐싱으로 예측 지연을 50~100ms → 1~5ms로 줄인 과정 포함.
Published:
성능 4배, race condition, N+1 쿼리, OpenAI 1.x 마이그레이션, 예외 타이핑. 만들어놓은 fintech 시스템을 운영 가능한 상태로 끌어올린 리팩토링 기록.
Published:
OpenCV 기반 이미지 분석 API는 왜 Uvicorn Workers만으로 끝났고, Prophet 기반 예측 API는 왜 ThreadPool 3개까지 쪼갰는지. 공유 풀 설계, 메모리 비교, 하이브리드 아키텍처까지.
Published:
GIL이 뭐고 언제 해제되는지, Thread와 Process의 메모리 모델은 어떻게 다른지, 실제 코드에서 뭘 기준으로 고르는지. 두 프로덕션 사례(OpenCV 이미지 분석, Prophet 예측)를 겪으면서 정리한 의사결정 프레임워크.
Published:
GPT-5-nano로 거래를 13개 한국어 카테고리로 분류하는 Classifier 서비스 설계. Structured Outputs + Chain of Thought + Few-shot + 브랜드 룰 7개 후처리의 4층 구조.
Published:
처음엔 FastAPI 앱 한 개였다. Gateway / Classifier / Analysis / CSV-Manager 4개로 쪼개면서 배운 것 — 경계, Redis 4-state 머신, OpenAPI 런타임 병합, Azure MySQL 외부화.
Published:
SSAFY 핀테크 프로젝트에 Facebook Prophet을 올린 기록. 카테고리별로 서로 다른 3세트 튜닝, 11개월 baseline backtesting, 그리고 논문이 시키는 건데 내가 안 한 것들.
Published:
MQTT → Kafka → Redis → WebSocket 파이프라인을 직접 만들어보고, Kafka 10주 딥다이브 끝나고 나서 돌아본 기록
Published:
Kafka 공부 10주차 - JMX 지표, 튜닝 체크리스트, 실제 장애 패턴
Published:
Kafka 공부 9주차 - Avro/Protobuf, 스키마 호환성, subject naming
Published:
Kafka 공부 8주차 - Source/Sink connector, Converters, Debezium CDC
Published:
Kafka 공부 7주차 - KStream/KTable, stateful 처리, windowing
Published:
Kafka 공부 6주차 - at-most/at-least/exactly-once, 트랜잭션, read_committed
Published:
Kafka 공부 5주차 - Leader/Follower, ISR, min.insync.replicas, unclean leader
Published:
Kafka 공부 4주차 - Consumer group, 리밸런싱, offset commit, lag
Published:
Kafka 공부 3주차 - acks, idempotence, 배치, 압축, 파티셔너
Published:
Kafka 공부 2주차 - 클러스터 구조와 파티션/오프셋이 파일시스템에서 어떻게 생겼는지
Published:
Kafka 공부 1주차 - 등장 배경과 기존 메시지 큐와의 차이
Published:
파서가 만든 t_mini[] 위에서 페어가 실행기를 얹었다. fork-exec, pipe fd 체인, heredoc 의 두 번째 fork, 빌트인 부모 분기, readline 과 SIGINT 의 동거. 그리고 프로젝트 총 회고.
Published:
42의 minishell 에서 내가 맡은 건 파서 파트였다. 따옴표 상태머신, t_mini[] flat 구조, env 확장 — 돌아가긴 했는데, 다시 한다면 AST 로 짠다. 그 이유.