[프론트엔드 성능 최적화 가이드] 4장 이미지 갤러리 최적화
·
Frontend/Perfomance Optimization
학습할 최적화 기법이미지 지연 로딩이미지 지연 로딩 라이브러리 적용레이아웃 이동 피하기화면상의 요소 변화로 레아이웃이 밀리는 현상리덕스 렌더링 최적화병목 코드 최적화메모이제이션 적용이미지 지연 로딩react-lazyload라는 라이브러리를 이용하여 빠르게 이미지 지연 로딩을 적용해 볼 것입니다.일반 컴포넌트도 이 안에 넣어 지연 로드할 수 있다는 것입니다. 이미지가 화면에 들어오는 시점보다 조금 더 미리 이미지를 불러와 화면에 들어온 시점에는 이미지가 준비되어 있도록 해야 합니다. 다행히 react-lazyload 라이브러리에서는 그렇게 할 수 있는 옵션을 제공해 주는데, 바로 offset이라는 옵션입니다.이 옵션에는 얼마나 미리 이미지를 로드할지 픽셀 값으로 넣어 줍니다. 레이아웃 이동 피하기레이..
[프론트엔드 성능 최적화 가이드] 3장 홈페이지 최적화
·
Frontend/Perfomance Optimization
Repository학습할 최적화 기법이미지 지연 로딩이미지 사이즈 최적화서버에 저장되어 있는 정적 이미지 최적화폰트 최적화커스텀 폰트 적용 최적화캐시 최적화불필요한 CSS 제거사용하지 않는 CSS 코드 제거이미지 지연 로딩네트워크를 확인할 때는 명확한 흐름을 파악할 수 있도록 네트워크에 throttling을 적용합니다. banner-video는 페이지에서 가장 처음으로 사용자에게 보이는 콘텐츠인데 가장 나중에 로드되면, 사용자가 첫 화면에서 아무것도 보지 못한 채로 오랫동안 머물게 되므로 사용자 경험에 좋지 않을 겁니다.동영상의 다운로드를 방해하는, 당장 사용되지 않는 이미지를 나중에 다운로드되도록 하여 동영상이 먼저 다운로드되게 하는 것입니다. 즉, 이미지를 지연 로드하는 것이죠. 뷰포트에 이미지가 ..
[프론트엔드 성능 최적화 가이드] 2장 올림픽 통계 서비스 최적화
·
Frontend/Perfomance Optimization
학습할 최적화 기법CSS 애니메이션 최적화컴포넌트 지연 로딩 단일 컴포넌트 분할컴포넌트 사전 로딩이미지 사전 로딩애니메이션 최적화문제의 애니메이션 찾기 설문 항목을 클릭하면 해당 응답에 대해 필터링되고 막대 그래프의 배경 색과 막대의 가로 길이가 변합니다.그런데 이 애니메이션을 계속 보다 보면 약간 이상하게 느껴집니다. 막대가 늘어날 때 부드럽게 늘어나지 않고 어딘가 살짝 끊기는 듯한 느낌이 있습니다. 이런 끊김 현상을 쟁크(jank) 라고 합니다. 느끼지 못한다면, 개발자 도구를 열고 Performance 패널의 CPU 설정을 6x slowdown으로 설정하면 애니메이션이 끊기는 현상을 더 잘 확인할 수 있습니다.애니메이션의 원리일반적으로 사용하는 디스플레이의 주사율은 60Hz입니다. 즉, 1초에 ..
[프론트엔드 성능 최적화 가이드] 1장 블로그 서비스 최적화
·
Frontend/Perfomance Optimization
Repository최적화 기법로딩 성능 최적화이미지 사이즈 최적화코드 분할텍스트 압축렌더링 성능 최적화병목 코드 최적화 Lighthouse 툴을 이용한 페이지 검사 Lighthouse 검색 결과 First Contentful Paint(FCP)FCP는 페이지가 로드될 때 브라우저가 DOM 콘텐츠의 첫 번째 부분을 렌더링하는 데 걸리는 시간에 관한 지표입니다.10%의 가중치를 갖습니다. Speed Index(SI)SI는 페이지 로드 중에 콘텐츠가 시각적으로 표시되는 속도를 나타내는 지표입니다.A 페이지는 일부 콘텐츠가 B 페이지보다 먼저 떴음을 알 수 있습니다. 이런 경우 A 페이지가 B 페이지보다 전체적으로 더 빨리 로드된 것으로 계산되며, 더 높은 점수를 받습니다. SI는 총점을 계산할 때, 10%의 ..