Builder.shin
전체
1263개의 게시물
Node.js
Node.js 스트림으로 대용량 CSV 파싱 메모리 문제 해결
500MB 이상의 CSV 파일을 처리하다 메모리 부족 에러가 발생했다. fs.readFile 대신 스트림 방식으로 전환하여 메모리 사용량을 10분의 1로 줄였다.
2017년 3월 9일
React
React 컴포넌트 props 타입 체크를 PropTypes에서 Flow로 전환
프로젝트 규모가 커지면서 PropTypes만으로는 타입 안정성이 부족하다고 판단했다. Flow를 도입해 전체 컴포넌트 타입을 정적으로 체크하도록 마이그레이션한 과정을 기록한다.
2017년 3월 4일
JavaScript
Babel Preset Env로 폴리필 최적화하기
babel-preset-env를 도입해 타겟 브라우저에 맞춰 필요한 polyfill만 선택적으로 적용하도록 변경했다. 번들 사이즈를 약 30KB 줄일 수 있었다.
2017년 3월 1일
React
React 컴포넌트 라이프사이클 메서드 정리
프로젝트 진행 중 라이프사이클 메서드를 헷갈려서 정리했다. componentWillMount, componentDidMount 등의 호출 순서와 실제 사용 케이스를 기록한다.
2017년 2월 26일
JavaScript
ES6 Promise 체이닝과 에러 핸들링 정리
비동기 API 호출 로직을 콜백에서 Promise로 전환하면서 겪은 시행착오를 정리했다. catch 블록의 위치에 따라 에러 처리 범위가 달라지는 부분이 핵심이었다.
2017년 2월 23일
Node.js
Node.js 비동기 에러 핸들링 패턴 정리
프로덕션 환경에서 발생한 uncaughtException으로 서버가 죽는 문제를 겪었다. Promise와 콜백이 혼재된 코드에서 에러 핸들링 패턴을 정리했다.
2017년 2월 20일
Node.js
Node.js 멀티코어 활용을 위한 Cluster 모듈 적용기
단일 프로세스로 운영하던 API 서버의 CPU 사용률이 25%를 넘지 못하는 문제가 있었다. 4코어 서버에서 1코어만 사용하고 있었고, Cluster 모듈을 적용해 해결했다.
2017년 2월 17일
Node.js
Node.js 비동기 에러 핸들링 삽질기
Promise 체인에서 발생한 에러가 제대로 잡히지 않아 서버가 조용히 죽는 문제를 겪었다. unhandledRejection 이벤트 리스너를 추가하고 에러 핸들링 패턴을 정리했다.
2017년 2월 14일
JavaScript
ES6 Promise 체이닝과 에러 핸들링 정리
비동기 API 호출 코드를 Promise로 리팩토링하면서 체이닝과 에러 처리 패턴을 정리했다. 콜백 지옥에서 벗어나는 과정에서 마주친 실수들을 기록한다.
2017년 2월 10일
React
React 컴포넌트 라이프사이클 메서드 정리
프로젝트에서 라이프사이클 메서드를 잘못 사용해 메모리 누수가 발생했다. 각 메서드의 역할과 사용 시점을 정리했다.
2017년 2월 7일
Previous
1
More pages
124
125
126
127
Next
카테고리
Builder.shin