Builder.shin
Backend
426개의 게시물
Python
Python 비동기 프로그래밍에서 asyncio.gather vs asyncio.create_task
API 호출을 병렬 처리하면서 asyncio.gather와 create_task의 차이를 제대로 이해하게 됐다. 에러 핸들링과 취소 동작에서 중요한 차이가 있었다.
2021년 9월 28일
Python
FastAPI에서 비동기 DB 커넥션 풀 관리하기
FastAPI 프로젝트에서 PostgreSQL 비동기 커넥션 풀을 구현하면서 겪은 문제들을 정리했다. asyncpg와 SQLAlchemy 1.4의 async 지원을 활용한 설정 방법과 주의사항을 기록한다.
2021년 9월 21일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리하기
50GB 규모의 CSV 파일을 메모리 부족 없이 처리해야 하는 상황이 생겼다. Node.js의 Stream API를 활용해 메모리 사용량을 제한하면서도 효율적으로 데이터를 변환하는 방법을 정리했다.
2021년 9월 10일
Python
FastAPI에서 Pydantic 모델 재사용하며 겪은 문제
FastAPI로 REST API를 구축하면서 Pydantic 모델을 요청/응답에 재사용하려다 발생한 검증 오류를 해결했다. Optional 필드 처리와 모델 상속 구조를 개선해 코드 중복을 줄였다.
2021년 9월 3일
Python
FastAPI에서 Pydantic 모델 재사용 패턴
FastAPI 프로젝트에서 요청/응답 모델을 효율적으로 관리하는 방법을 정리했다. Pydantic 모델 상속과 Config 설정을 활용해 코드 중복을 줄일 수 있었다.
2021년 9월 2일
Node.js
Node.js 멀티코어 활용: Cluster 모듈로 성능 개선하기
단일 스레드인 Node.js의 한계를 극복하기 위해 Cluster 모듈을 도입했다. 4코어 서버에서 처리량이 약 3.5배 증가했고, PM2 없이도 안정적인 무중단 배포가 가능해졌다.
2021년 8월 21일
Python
FastAPI로 마이크로서비스 전환하며 겪은 성능 개선
레거시 Flask 서비스를 FastAPI로 전환하면서 응답 속도를 40% 개선했다. 비동기 처리와 Pydantic 검증을 도입하며 겪은 시행착오를 정리했다.
2021년 8월 20일
Node.js
Node.js 메모리 누수 추적기 - heapdump와 Chrome DevTools
프로덕션 서버에서 발생한 메모리 누수를 heapdump로 분석했다. 특정 API 엔드포인트에서 EventEmitter 리스너가 제거되지 않아 발생한 문제였고, Chrome DevTools로 원인을 찾아냈다.
2021년 8월 11일
Python
Python 비동기 처리 도입 후기 - asyncio와 aiohttp
레거시 크롤러를 동기 방식에서 asyncio 기반 비동기로 전환했다. 처리 속도는 개선됐지만 예상치 못한 메모리 이슈와 에러 핸들링 문제를 겪었다.
2021년 8월 3일
Node.js
Node.js 스트림으로 대용량 CSV 파싱 성능 개선하기
100MB 이상 CSV 파일 처리 시 메모리 부족 문제가 발생했다. 스트림 기반 파싱으로 전환하여 메모리 사용량을 1/10로 줄이고 처리 속도도 개선했다.
2021년 8월 2일
Previous
1
More pages
19
20
21
22
23
More pages
43
Next
카테고리