Builder.shin
전체
1263개의 게시물
Python
Django ORM N+1 쿼리 문제 해결
회사 대시보드 페이지 로딩 속도가 3초 이상 걸려 원인을 분석했다. Django ORM에서 발생한 N+1 쿼리 문제였고, select_related와 prefetch_related로 해결했다.
2017년 7월 19일
JavaScript
Webpack 3 CommonsChunkPlugin으로 번들 최적화하기
프로젝트 빌드 용량이 2MB를 넘어서면서 초기 로딩 속도가 문제가 되었다. CommonsChunkPlugin을 활용해 vendor와 manifest를 분리하고 번들 크기를 40% 줄인 과정을 정리했다.
2017년 7월 18일
React
React 16 베타 테스트 - Fiber 아키텍처 체험기
React 16 베타를 실제 프로젝트에 적용해봤다. Fiber 아키텍처로 인한 렌더링 개선과 새로운 에러 바운더리 기능을 테스트했고, 마이그레이션 과정에서 마주친 이슈들을 정리했다.
2017년 7월 17일
React
React 컴포넌트에서 ref 콜백으로 DOM 제어하기
문자열 ref가 deprecated 되면서 ref 콜백 패턴을 적용했다. 동적으로 생성되는 리스트 아이템에 포커스를 관리하는 과정에서 유용했던 패턴을 정리한다.
2017년 7월 15일
React
React 16 업그레이드 후 Error Boundary 적용기
React 16으로 업그레이드하면서 새로 추가된 Error Boundary를 프로젝트에 적용했다. 기존에 try-catch로 처리하던 에러 핸들링을 개선하고, 사용자에게 더 나은 에러 UI를 제공할 수 있게 되었다.
2017년 7월 12일
JavaScript
Babel Preset Env로 폴리필 크기 줄이기
babel-preset-env를 도입하면서 번들 크기를 30% 가량 줄일 수 있었다. 타겟 브라우저에 필요한 polyfill만 포함시키는 방식이 꽤 효과적이었다.
2017년 7월 11일
React
React 16 베타 테스트 중 발견한 Error Boundary 활용법
React 16 베타 버전에 추가된 Error Boundary를 프로젝트에 적용해봤다. 컴포넌트 에러 처리 방식이 크게 개선되어 사용자 경험 향상에 도움이 될 것 같다.
2017년 7월 8일
Python
Python 2에서 3으로 마이그레이션하며 겪은 문제들
레거시 Django 프로젝트를 Python 2.7에서 3.6으로 마이그레이션했다. unicode 처리와 라이브러리 호환성 문제가 주요 이슈였다.
2017년 7월 5일
Node.js
Node.js 비동기 에러 핸들링과 Promise 체이닝
Express 미들웨어에서 비동기 에러가 제대로 잡히지 않아 서버가 종료되는 문제가 발생했다. Promise 체이닝과 에러 핸들링 패턴을 정리하며 해결했다.
2017년 7월 2일
JavaScript
Webpack 3의 Scope Hoisting으로 번들 사이즈 줄이기
Webpack 3에 추가된 ModuleConcatenationPlugin을 프로젝트에 적용했다. 번들 사이즈가 약 15% 감소하고 실행 속도도 개선되었다.
2017년 6월 29일
Previous
1
More pages
118
119
120
121
122
More pages
127
Next
카테고리
Builder.shin