Builder.shin
Node.js
165개의 게시물
Node.js
Express 미들웨어에서 비동기 에러 핸들링 개선하기
Express에서 async/await 사용 시 try-catch 반복을 줄이기 위해 래퍼 함수를 도입했다. 모든 라우트 핸들러에 적용하여 에러 처리 로직을 중앙화했다.
2019년 5월 15일
Node.js
Node.js 스트림으로 대용량 CSV 파싱 최적화
API 서버에서 100MB 이상의 CSV 파일을 처리하다가 메모리 부족 에러를 경험했다. Stream API를 활용해 메모리 사용량을 1/10로 줄이고 처리 속도도 개선한 과정을 정리했다.
2019년 5월 14일
Node.js
Node.js 이벤트 루프와 Promise 동시성 제어
API 크롤러를 만들다가 과도한 동시 요청으로 서버가 차단되는 문제를 겪었다. Promise.all의 무분별한 사용을 개선하고, 동시성을 제어하는 방법을 정리했다.
2019년 5월 7일
Node.js
Node.js 멀티파트 파일 업로드 처리 시 메모리 이슈 해결
대용량 파일 업로드 시 서버 메모리가 급증하는 문제가 발생했다. multer의 스트리밍 처리 방식으로 전환하여 메모리 사용량을 90% 이상 절감했다.
2019년 3월 10일
Node.js
Node.js 이벤트 루프 블로킹으로 인한 API 응답 지연 해결
API 서버에서 특정 엔드포인트 호출 시 다른 요청까지 지연되는 현상이 발생했다. 원인은 동기 처리로 인한 이벤트 루프 블로킹이었고, Worker Threads와 비동기 처리로 해결했다.
2019년 3월 3일
Node.js
Node.js 멀티코어 활용하기 - cluster 모듈 도입기
싱글 스레드인 Node.js의 한계를 극복하기 위해 cluster 모듈을 프로덕션에 도입했다. PM2 대신 직접 구현한 이유와 과정을 정리했다.
2019년 3월 1일
Node.js
Node.js 멀티파트 파일 업로드 처리 시 메모리 이슈 해결
사용자가 대용량 이미지를 업로드할 때 서버 메모리가 급증하는 문제가 발생했다. multer의 stream 처리 방식을 제대로 이해하지 못해 발생한 이슈였고, 스토리지 옵션 변경으로 해결했다.
2019년 2월 21일
Node.js
Node.js 멀티 프로세스 환경에서 메모리 캐시 동기화 문제
PM2 클러스터 모드로 전환하면서 인메모리 캐시 동기화 문제에 부딪혔다. Redis로 해결했지만, 적용 과정에서 고려해야 할 사항들을 정리했다.
2018년 12월 7일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리하기
백오피스에서 5GB 크기의 CSV 파일을 업로드하자 서버 메모리가 터졌다. Node.js의 Stream API를 활용해 메모리 사용량을 1/10로 줄인 과정을 기록한다.
2018년 11월 19일
Node.js
Node.js 스트림으로 대용량 CSV 파싱 최적화
매일 밤 10GB 이상의 CSV 파일을 처리하는 배치 작업에서 메모리 부족 에러가 발생했다. Node.js 스트림을 활용해 메모리 사용량을 1/10로 줄이고 처리 속도도 개선한 과정을 기록했다.
2018년 11월 16일
Previous
1
More pages
10
11
12
13
14
More pages
17
Next
카테고리
Builder.shin