Builder.shin
Backend
426개의 게시물
Node.js
Node.js 8 async/await로 콜백 지옥 탈출하기
레거시 프로젝트의 중첩된 콜백 구조를 async/await로 리팩토링했다. Node.js 8 LTS가 안정화되면서 프로덕션 환경에 적용할 수 있게 되었다.
2017년 10월 9일
Java
Java 8 Stream API 병렬 처리 성능 측정
대량의 데이터를 처리하는 배치 작업에서 Stream API의 parallel() 메서드를 적용했다. 단순히 parallel()을 붙인다고 무조건 빠른 건 아니었고, 데이터 크기와 작업 특성에 따라 성능 차이가 컸다.
2017년 9월 28일
Node.js
Node.js 8의 util.promisify로 콜백 지옥 탈출하기
Node.js 8에서 추가된 util.promisify를 사용해 기존 콜백 기반 API를 Promise로 변환했다. fs 모듈과 레거시 라이브러리를 async/await 패턴으로 깔끔하게 리팩토링한 과정을 정리했다.
2017년 9월 26일
Python
Python 2.7에서 3.6으로 마이그레이션 작업 회고
레거시 Django 프로젝트를 Python 2.7에서 3.6으로 마이그레이션하는 작업을 진행했다. unicode 처리와 라이브러리 호환성 문제가 주요 이슈였고, 2to3 도구와 six 라이브러리로 점진적 전환을 완료했다.
2017년 9월 19일
Node.js
Node.js 비동기 처리 패턴 정리 - Callback에서 Promise까지
프로젝트 리팩토링 중 콜백 지옥을 Promise 패턴으로 전환하는 작업을 진행했다. 레거시 코드에 남아있던 callback 패턴들을 정리하며 비동기 처리 패턴의 변화를 다시 한번 되짚어봤다.
2017년 8월 28일
Node.js
Node.js 비동기 에러 핸들링 - Promise rejection 추적하기
프로덕션에서 간헐적으로 발생하는 500 에러를 추적하다가 unhandled promise rejection이 원인임을 발견했다. Node.js 8부터 추가된 경고를 활용해 문제를 해결한 과정을 정리했다.
2017년 8월 24일
Node.js
Node.js 8 Stream 처리 중 메모리 누수 해결
대용량 파일 업로드 처리 중 메모리가 계속 증가하는 문제가 발생했다. Stream의 적절한 종료 처리와 backpressure 제어로 해결했다.
2017년 8월 14일
Node.js
Node.js 클러스터 모드로 멀티코어 활용하기
단일 스레드인 Node.js의 한계를 극복하기 위해 클러스터 모드를 도입했다. PM2 없이 직접 구현하면서 마스터-워커 프로세스 관리와 무중단 재시작을 처리하는 방법을 정리했다.
2017년 8월 11일
Node.js
Express 미들웨어 실행 순서 이슈로 인한 인증 버그 해결
API 서버에서 특정 라우트만 인증이 제대로 동작하지 않는 문제가 발생했다. 미들웨어 등록 순서를 점검하면서 Express의 미들웨어 체이닝 메커니즘을 다시 정리하게 됐다.
2017년 8월 8일
Node.js
Node.js 8의 util.promisify로 콜백 지옥 탈출하기
Node.js 8에서 새로 추가된 util.promisify를 업무에 도입했다. 기존 콜백 기반 코드를 Promise로 변환하면서 코드 가독성이 크게 개선되었다.
2017년 7월 29일
Previous
1
More pages
38
39
40
41
42
43
Next
카테고리
Builder.shin