Builder.shin
전체
1263개의 게시물
Node.js
Node.js 8 LTS로 마이그레이션하면서 겪은 이슈들
회사 프로젝트를 Node.js 6에서 8 LTS로 업그레이드했다. async/await 네이티브 지원과 성능 개선이 주요 목표였지만, 몇 가지 예상치 못한 문제들을 마주쳤다.
2017년 12월 7일
JavaScript
Webpack 3에서 번들 사이즈 최적화하기
프로덕션 빌드 시 번들 사이즈가 2MB를 넘어가면서 초기 로딩 속도가 느려지는 문제가 발생했다. Webpack 3의 코드 스플리팅과 트리 쉐이킹을 적용해 번들 사이즈를 절반으로 줄인 과정을 정리했다.
2017년 12월 5일
React
React 16의 Error Boundary로 컴포넌트 에러 처리하기
React 16에서 새로 도입된 Error Boundary를 프로젝트에 적용했다. 기존에는 컴포넌트 에러 발생 시 전체 화면이 깨지는 문제가 있었는데, 이를 우아하게 처리할 방법이 생겼다.
2017년 12월 2일
Python
Python 멀티프로세싱으로 대용량 CSV 처리 개선
단일 프로세스로 처리하던 300만 건의 CSV 데이터 파싱이 너무 오래 걸려서 multiprocessing 모듈로 개선했다. 처리 시간을 1/4로 단축할 수 있었다.
2017년 11월 29일
Angular
Angular에서 React로 프로젝트 마이그레이션 결정
회사 프로젝트를 Angular 1.x에서 React 16으로 마이그레이션하기로 결정했다. 번들 크기와 러닝커브, 그리고 채용 시장을 고려한 선택이었다.
2017년 11월 28일
Java
Java 8 Stream API에서 예외 처리 패턴
Stream API 사용 중 Checked Exception 처리 문제를 마주쳤다. Lambda 표현식 내부에서 예외를 던지는 메서드를 호출할 때 발생하는 문제와 해결 방법을 정리했다.
2017년 11월 24일
Node.js
Node.js 8 LTS에서 util.promisify로 콜백 지옥 탈출하기
Node.js 8 LTS가 10월에 릴리즈되면서 util.promisify가 정식 기능으로 추가되었다. 레거시 프로젝트의 콜백 기반 코드를 Promise로 전환하면서 겪은 경험을 정리했다.
2017년 11월 23일
Python
Python 딕셔너리 기본값 처리 3가지 방법
API 응답 파싱 중 KeyError가 빈번하게 발생해서 딕셔너리 기본값 처리 방법을 정리했다. get(), setdefault(), defaultdict 세 가지 방식을 비교하고 실무에서 어떻게 선택하는지 기록한다.
2017년 11월 19일
Java
Java 8 Stream에서 예외 처리 깔끔하게 하기
Stream API를 사용하다 보면 람다 내부에서 checked exception 처리가 까다롭다. 실무에서 사용한 몇 가지 패턴을 정리했다.
2017년 11월 14일
Node.js
Node.js 멀티코어 활용을 위한 Cluster 모듈 적용기
단일 스레드로 돌아가는 Node.js API 서버의 성능 한계에 부딪혔다. CPU 코어를 제대로 활용하기 위해 Cluster 모듈을 도입한 과정을 정리했다.
2017년 11월 13일
Previous
1
More pages
112
113
114
115
116
More pages
127
Next
카테고리
Builder.shin