Builder.shin
전체
1263개의 게시물
JavaScript
자바스크립트 Promise 체이닝과 에러 처리 패턴
API 호출 중첩으로 콜백 지옥을 겪다가 Promise 체이닝으로 리팩토링했다. catch 블록 위치에 따라 에러 처리 범위가 달라지는 부분을 정리했다.
2018년 2월 7일
React
React 16의 Error Boundary로 런타임 에러 처리하기
프로덕션 환경에서 컴포넌트 에러로 인한 전체 화면 크래시가 발생했다. React 16에서 새로 도입된 Error Boundary를 적용해 사용자 경험을 개선한 과정을 정리했다.
2018년 2월 6일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리하기
500MB짜리 CSV 파일을 메모리에 한 번에 올리다 서버가 뻗었다. Node.js 스트림을 사용해 메모리 사용량을 1/10로 줄이고 안정적으로 처리한 방법을 정리했다.
2018년 2월 3일
React
React 16.2 Fragment 문법과 HOC 패턴 정리
React 16.2에서 정식 도입된 Fragment 문법을 프로젝트에 적용했다. HOC 패턴으로 인증 처리를 리팩토링하면서 겪은 문제와 해결 과정을 기록한다.
2018년 1월 31일
React
React 컴포넌트 리렌더링 최적화 - shouldComponentUpdate vs PureComponent
대시보드 프로젝트에서 불필요한 리렌더링으로 인한 성능 저하를 겪었다. shouldComponentUpdate와 PureComponent를 활용해 해결한 과정을 정리했다.
2018년 1월 29일
JavaScript
Promise.all 병렬 처리 시 에러 핸들링 문제
여러 API를 병렬로 호출하는 과정에서 Promise.all의 에러 핸들링 방식이 예상과 달라 문제가 발생했다. 하나의 Promise라도 reject되면 전체가 실패하는 구조를 개선한 과정을 기록한다.
2018년 1월 27일
React
React 16.2 Fragment 적용기
React 16.2에서 정식 지원되는 Fragment를 프로젝트에 적용했다. 불필요한 div 래퍼를 제거하면서 마크업이 간결해졌고, CSS 레이아웃 이슈도 해결됐다.
2018년 1월 26일
Python
Python 멀티프로세싱으로 데이터 처리 성능 개선
대량의 이미지 리사이징 배치 작업이 너무 오래 걸려 멀티프로세싱을 도입했다. CPU 바운드 작업에서 GIL 제약을 우회하면서 처리 시간을 1/4로 단축할 수 있었다.
2018년 1월 25일
TypeScript
JavaScript 프로젝트에 TypeScript 점진적으로 도입하기
레거시 JavaScript 프로젝트에 TypeScript를 단계적으로 도입한 경험을 정리했다. allowJs 옵션을 활용해 기존 코드를 유지하면서 새로운 모듈부터 TS로 작성하는 방식을 택했다.
2018년 1월 24일
TypeScript
TypeScript 도입 검토 - 기존 React 프로젝트 마이그레이션 고민
팀 내에서 TypeScript 도입 논의가 시작되었다. 기존 React 프로젝트에 적용 가능성과 러닝커브를 검토한 내용을 정리했다.
2018년 1월 22일
Previous
1
More pages
109
110
111
112
113
More pages
127
Next
카테고리
Builder.shin