windowing 기법
들어가며 만약 만들고 있는 서비스가 성공해서 100만 개의 피드 데이터가 생성됐을 때, 모든 피드 데이터를 브라우저에 렌더링하게 된다면 어떻게 될까요? 그리고 이를 최적화할 방법은 무엇이 있을까요? 경험 많은 프론트엔드 개발자님에게 받은…
2023-01-23
[스모디프로젝트] 성능 리포트
device: mobileNetwork throttling speed: Slow 4G throttlingCPU throttling: 4x slowdown Web Vitals에서 권장하는 성능 점수를 따르려한다. Web Vitals에…
2022-10-30
빌드 속도 최적화 with loader
webpack 설정을 처음 할 때, ts(또는 tsx) 파일의 처리하는 설정을 잘못했다. 때문에 빌드 속도가 약 30초 정도로 오래 걸렸다. 당시 설정은 다음과 같았다. { test: /\.(js|jsx|ts|tsx)$/i, use…
2022-10-30
빌드 환경 구축 with Webpack
프로젝트 빌드 환경을 직접 구축하기 위해 여러 옵션을 공부하고 적용했다. 이번 글에서는 스모디 프로젝트에 사용된 webpack 빌드 옵션을 정리하려 한다. 스모디 4.2.1 버전 기준 webpack 설정은 다음과 같다.
2022-10-26
파일 압축하기
리소스를 압축하면 사용자에게 더 적은 비용으로 리소스를 제공할 수 있다. 이번 게시글에서는 리소스를 압축해서 브라우저에게 전달하는 방법에 대해 정리하려 한다. All modern browsers can handle a gzip encoded…
2022-10-26
렌더링 최적화
브라우저의 렌더링 과정 중 Reflow와 Repaint 과정이 오래 걸린다. 따라서 렌더링을 최적화하기 위해서 해당 렌더링 과정의 발생을 줄이는 것이 중요하다. 예를들어 애니메이션을 구현할 때 top, left 등의 속성을 이용하는 것보다…
2022-09-23