Builder.shin
Backend
426개의 게시물
Node.js
Node.js 재택근무 환경에서 발생한 메모리 누수 추적기
재택근무로 전환하면서 프로덕션 서버에서 메모리 누수 문제가 발견되었다. 원격 환경에서 heapdump와 clinic.js를 활용해 문제를 해결한 과정을 기록했다.
2020년 3월 24일
Golang
Go 에러 핸들링 패턴 정리
Node.js에서 Go로 마이그레이션하면서 가장 낯설었던 부분이 에러 핸들링이었다. try-catch 없이 명시적으로 에러를 다루는 Go의 방식을 정리했다.
2020년 3월 8일
Node.js
Express 미들웨어 에러 핸들링 제대로 하기
재택근무 전환 후 API 서버 에러 모니터링을 정비하면서 Express 에러 핸들링 구조를 개선했다. 비동기 함수에서 발생한 에러가 제대로 잡히지 않는 문제를 해결한 과정을 정리한다.
2020년 3월 1일
Node.js
Node.js 멀티파트 파일 업로드 처리 시 메모리 누수 해결
Express 서버에서 대용량 파일 업로드 처리 중 메모리 사용량이 급증하는 문제를 겪었다. multer의 설정과 스트림 처리 방식을 개선해 메모리 효율을 높인 과정을 정리했다.
2020년 2월 23일
Python
Python 비동기 작업 큐 구현 - Celery와 Redis 조합
이미지 리사이징 작업이 API 응답 속도를 저하시키는 문제가 있었다. Celery와 Redis를 사용해 비동기 작업 큐를 구성하고 응답 시간을 90% 단축했다.
2020년 2월 14일
Node.js
Node.js 멀티스레딩: Worker Threads로 CPU 집약 작업 처리하기
Node.js는 싱글스레드 기반이라 CPU 집약적인 작업에서 병목이 발생한다. Worker Threads를 사용해 대량의 이미지 리사이징 작업을 처리하면서 성능 개선을 경험했다.
2020년 1월 31일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리하기
사용자 데이터 마이그레이션 작업 중 5GB CSV 파일을 처리해야 했다. 메모리 부족 문제를 Stream API로 해결한 과정을 기록한다.
2020년 1월 22일
Python
Python 3.8 assignment expression으로 반복 코드 줄이기
Python 3.8에서 추가된 walrus operator(:=)를 실무에 적용해봤다. 반복되는 함수 호출과 조건문 체크를 줄일 수 있었다.
2020년 1월 14일
Node.js
Node.js 이벤트 루프와 setTimeout 0ms의 실행 순서
Promise와 setTimeout을 섞어 쓰다가 실행 순서가 예상과 달라 당황했다. Node.js 이벤트 루프의 페이즈별 동작 방식을 정리하고, microtask queue와 macrotask의 차이를 이해하게 되었다.
2020년 1월 2일
Python
Python 비동기 처리 실전 적용기 - asyncio와 aiohttp
레거시 배치 작업을 비동기로 전환하면서 겪은 시행착오를 정리했다. asyncio와 aiohttp를 도입해 외부 API 호출 속도를 4배 개선한 과정을 기록한다.
2019년 12월 31일
Previous
1
More pages
27
28
29
30
31
More pages
43
Next
카테고리