Builder.shin
Backend
426개의 게시물
Node.js
Node.js 멀티 프로세스 환경에서 세션 공유 문제 해결
PM2 클러스터 모드로 서버를 운영하면서 세션이 유지되지 않는 문제를 겪었다. Redis를 사용한 세션 스토어로 해결한 과정을 기록한다.
2021년 7월 22일
Python
FastAPI에서 SQLAlchemy async 세션 관리 개선
FastAPI 프로젝트에서 SQLAlchemy 1.4의 asyncio 지원을 도입하면서 세션 관리 방식을 개선했다. 기존 동기 방식 대비 성능과 코드 구조 측면에서 얻은 것들을 정리한다.
2021년 7월 13일
Python
Python 비동기 처리에서 asyncio.gather vs asyncio.wait 선택하기
API 서버에서 여러 외부 서비스 호출 시 asyncio.gather와 asyncio.wait 중 어느 것을 써야 할지 고민했다. 실제 사용 사례를 통해 두 방식의 차이와 선택 기준을 정리했다.
2021년 7월 9일
Golang
Go 1.16 embed 패키지로 정적 파일 바이너리에 포함하기
Go 1.16부터 추가된 embed 패키지를 사용해 정적 파일을 바이너리에 포함시켰다. 별도 파일 복사 없이 단일 바이너리 배포가 가능해졌고, 배포 프로세스가 간소화되었다.
2021년 7월 8일
Golang
Go 채널 타임아웃 처리 시 겪은 고루틴 릭 문제
API 서버에서 외부 요청 타임아웃을 처리하던 중 고루틴이 계속 쌓이는 문제를 발견했다. select 문과 context를 사용한 타임아웃 처리 방식의 차이를 정리했다.
2021년 7월 4일
Golang
Go 1.16 embed 패키지로 정적 파일 관리하기
Go 1.16에 추가된 embed 패키지를 프로젝트에 적용했다. 빌드 시 정적 파일을 바이너리에 포함시켜 배포를 단순화할 수 있었다.
2021년 7월 1일
Node.js
Node.js 스트림 파이프라인으로 대용량 CSV 처리 개선
매일 밤 실행되는 배치 작업에서 메모리 부족 오류가 발생했다. 100MB 이상의 CSV 파일을 fs.readFile로 한 번에 읽어서 처리하던 방식을 스트림 기반으로 전환하며 겪은 과정을 정리했다.
2021년 6월 27일
Python
FastAPI에서 비동기 DB 쿼리 처리하기
기존 Django REST API를 FastAPI로 마이그레이션하면서 비동기 처리를 도입했다. SQLAlchemy의 asyncio 확장을 사용해 DB 쿼리 성능을 개선한 과정을 정리했다.
2021년 6월 25일
Python
FastAPI에서 Pydantic 모델 재사용하며 겪은 순환 참조 문제
FastAPI 프로젝트에서 Pydantic 모델 간 순환 참조로 인한 에러를 해결했다. update_forward_refs를 통해 타입 힌트를 지연 평가하는 방식으로 문제를 우회했다.
2021년 6월 18일
Python
FastAPI에서 비동기 DB 쿼리 최적화 경험
FastAPI 프로젝트에서 SQLAlchemy 비동기 쿼리 사용 중 N+1 문제를 만났다. asyncpg와 함께 사용하면서 겪은 성능 이슈와 해결 과정을 정리했다.
2021년 6월 13일
Previous
1
More pages
20
21
22
23
24
More pages
43
Next
카테고리