Builder.shin
Backend
426개의 게시물
Node.js
Node.js 스트림으로 대용량 CSV 파싱 최적화
10GB 규모의 CSV 파일을 처리하다가 메모리 부족 에러를 만났다. 스트림 기반 파싱으로 전환해서 메모리 사용량을 1/10로 줄인 과정을 기록한다.
2019년 12월 2일
Rust
Rust 소유권 시스템을 이해하기까지
Node.js만 사용하다 Rust를 처음 접하면서 겪은 소유권 개념의 혼란. 컴파일러 에러와 씨름하며 이해한 메모리 안전성의 핵심 개념을 정리했다.
2019년 11월 21일
Node.js
Node.js 스트림으로 대용량 CSV 파싱 메모리 문제 해결
50만 건 이상의 CSV 데이터를 처리하다가 메모리 부족으로 서버가 다운되는 문제를 겪었다. Node.js 스트림을 활용해 메모리 사용량을 90% 이상 줄이면서 안정적으로 처리할 수 있게 되었다.
2019년 11월 18일
Python
Flask에서 SQLAlchemy 세션 관리 실수와 해결
Flask 프로젝트에서 SQLAlchemy 세션을 잘못 관리해 동시성 이슈가 발생했다. 요청마다 세션을 올바르게 관리하는 방법을 정리했다.
2019년 11월 17일
Python
Python 비동기 처리 도입기: asyncio와 aiohttp로 API 호출 성능 개선
레거시 배치 작업에서 외부 API 호출이 병목이 되는 문제를 발견했다. requests 라이브러리의 동기 처리를 asyncio와 aiohttp로 전환하여 처리 시간을 1/5로 단축한 과정을 기록한다.
2019년 11월 12일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리 최적화
10GB 이상의 CSV 파일을 처리하다가 메모리 부족 오류에 직면했다. fs.readFile 대신 스트림을 활용해 메모리 사용량을 1/20로 줄이고 처리 시간도 단축시킨 과정을 정리했다.
2019년 11월 3일
Node.js
Node.js 멀티 프로세스로 CPU 집약 작업 처리하기
단일 스레드인 Node.js에서 이미지 리사이징 작업이 서버 전체를 블로킹하는 문제가 발생했다. Cluster 모듈과 Worker Threads를 조합해 CPU 집약 작업을 분리 처리하도록 개선했다.
2019년 10월 19일
Rust
Rust로 Node.js Native Addon 만들어보기
이미지 처리 성능 개선이 필요해서 Rust로 Node.js Native Addon을 작성해봤다. neon-bindings를 사용하면 생각보다 간단하게 Rust 코드를 Node.js에서 사용할 수 있었다.
2019년 10월 11일
Node.js
Node.js 12 Worker Threads로 CPU 집약적 작업 처리하기
이미지 리사이징 API에서 동시 요청 시 응답 시간이 급격히 느려지는 문제가 있었다. Node.js 12에서 stable로 전환된 Worker Threads를 도입해 메인 스레드 블로킹을 해결했다.
2019년 10월 8일
Python
Python 비동기 처리 성능 개선 - asyncio와 aiohttp
API 서버에서 외부 서비스 호출이 많아지면서 응답 속도가 느려지는 문제가 발생했다. asyncio와 aiohttp를 도입해 동시성 처리를 개선한 과정을 정리했다.
2019년 10월 5일
Previous
1
More pages
28
29
30
31
32
More pages
43
Next
카테고리
Builder.shin