Builder.shin
Backend
426개의 게시물
Python
FastAPI 백그라운드 태스크에서 DB 세션 관리 문제 해결
FastAPI의 BackgroundTasks를 사용하면서 DB 세션이 먼저 닫혀버리는 문제를 겪었다. 의존성 주입 방식과 세션 라이프사이클을 조정해 해결한 과정을 기록한다.
2024년 10월 20일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리 최적화
5GB 크기의 CSV 파일을 메모리 오버플로우 없이 처리해야 했다. fs.readFile 대신 스트림을 활용해 메모리 사용량을 95% 줄인 경험을 기록한다.
2024년 10월 14일
Python
FastAPI에서 백그라운드 태스크 처리 시 예외 처리 문제
FastAPI의 BackgroundTasks를 사용하다가 예외가 발생해도 로그에 남지 않는 문제를 겪었다. 백그라운드 태스크는 응답 반환 후 실행되기 때문에 별도의 예외 처리가 필요했다.
2024년 9월 30일
Python
Python 비동기 작업에서 asyncio.gather 예외 처리 패턴
여러 API를 병렬로 호출하는 작업에서 일부가 실패해도 나머지 결과를 받아야 하는 요구사항이 있었다. asyncio.gather의 return_exceptions 옵션을 활용해 안정적인 병렬 처리를 구현했다.
2024년 9월 25일
Golang
Go 1.23의 iterator 패턴 도입과 실전 적용기
Go 1.23에서 정식으로 도입된 iterator 패턴을 기존 프로젝트에 적용해봤다. range over func을 사용하면서 느낀 장단점과 실제 리팩토링 사례를 정리했다.
2024년 9월 13일
Python
FastAPI에서 Pydantic V2 마이그레이션 후 발생한 이슈 정리
FastAPI 프로젝트에서 Pydantic V2로 업그레이드하면서 겪은 몇 가지 breaking change를 정리했다. 특히 validator 데코레이터와 Config 클래스 관련 변경사항이 많았다.
2024년 9월 10일
Golang
Go 1.23 제네릭 성능 개선 체감 후기
Go 1.23으로 업그레이드하면서 제네릭 관련 성능 개선을 체감했다. 실제 프로덕션 코드에서 약 15%의 응답 속도 향상이 있었고, 컴파일 타임도 단축되었다.
2024년 8월 28일
Golang
Go 제네릭 실전 적용 후기 - 타입 안정성과 코드 중복 개선
Go 1.18부터 도입된 제네릭을 프로덕션 코드에 적용해봤다. 반복적인 타입 어설션을 제거하고 API 응답 핸들러의 타입 안정성을 확보할 수 있었다.
2024년 8월 25일
Golang
Go 1.23 Context.WithoutCancel 활용기
Go 1.21에서 추가된 context.WithoutCancel을 실무에 적용하면서 겪은 사례를 정리했다. 부모 컨텍스트가 취소되어도 특정 작업은 계속 실행해야 하는 상황에서 유용했다.
2024년 8월 20일
Python
FastAPI에서 비동기 DB 커넥션 풀 관리하기
FastAPI 프로젝트에서 asyncpg를 사용하면서 커넥션 풀 고갈 문제를 겪었다. 동시 요청이 많아지면서 'too many connections' 에러가 발생했고, 적절한 풀 사이징과 라이프사이클 관리로 해결했다.
2024년 8월 13일
Previous
1
More pages
3
4
5
6
7
More pages
43
Next
카테고리
Builder.shin