전체보기(62)
-
프론트엔드 성능 최적화 - 6. 자원 다운로드 우선순위 설정
이 글은 아래 링크의 내용을 바탕으로 작성되었습니다. https://web.dev/prioritize-resources/ https://www.youtube.com/watch?v=R_D0rL094F4 https://beomy.github.io/tech/browser/preload-preconnect-prefetch/ 기본 지식 이해 브라우저의 기본 다운로드 우선순위 브라우저는 기본적으로 '이 자원이 얼마나 중요할 것 같은지'를 판단하여 우선순위를 매깁니다. 따라서 , 태그를 통해 다운로드 되는 자원은 '높은(high)' 우선순위를 가지게 됩니다. 하지만 만일 해당 태그에 'async' 속성이 명시되어 있다면 해당 자원은 '낮은(Low)' 우선순위를 가지게 됩니다. prefetch prefetch 는 '다..
2021.08.29 -
프론트엔드 성능 최적화 - 5. 웹 폰트 최적화
이 글은 아래 링크의 내용을 바탕으로 작성되었습니다. https://www.youtube.com/watch?v=4YCBBoSg2fk 웹 어플리케이션의 폰트는 어느 이용자의 컴퓨터에나 설치되어 있을만한 기본 폰트를 사용해도 좋지만 디자인 등의 다른 요소를 고려해서 외부의 폰트를 다운로드 받아 적용하는 것이 일반적입니다. 하지만 단순히 인터넷에서 가져다 쓰는 웹 폰트는 최적화가 안되어 있는 경우가 많아 실제로 적용이 되기 까지 오래걸리는 경우가 많습니다. 특히 알파벳을 일렬로 나열할 뿐인 영어와는 다르게 한국어와 같이 글자들을 조합해서 사용하는 폰트들은 엄청난 용량을 자랑하는 만큼, 반드시 최적화를 해줘야 합니다. 게다가 설정에 따라, 웹폰트가 적용되기로 지정된 문자들은 웹폰트가 다운로드 되기까지 아예 글자..
2021.08.29 -
이미지 확장자별 특징 정리
이 글은 아래의 링크의 내용을 바탕으로 작성되었습니다. https://www.youtube.com/watch?v=Z_28syzkv-0 최근엔 초월적인 압축률을 자랑하는 webp 이미지 형식이 등장하면서 웹에서 이 형식의 이미지를 활용하는 경우가 많아졌습니다. 하지만 무작정 webp 이미지를 사용해도 괜찮은 걸까요? 그러고보니 이미지 형식은 png 도 있고, jpg 도 있고 정말 많은 형식들이 있는데 이들의 차이점은 무엇이고 어떤 이미지가 어떤 경우에 적합하다고 볼 수 있는 것일까요? JPG, JPEG 높은 압축률 (손실이 생길 수 있음) 투명 배경 사용 불가 단조로운 컬러 팔레트 이미지 퀼리티가 크게 중요하지 않고 용량을 줄이는데 집중하고 싶을 때 사용합니다. PNG 낮은 압축률 투명 배경을 사용 가능 ..
2021.08.29 -
프론트엔드 성능 최적화 - 4. 이미지 파일 최적화
이 글은 아래 링크의 내용을 바탕으로 작성되었습니다. https://jeonghwan-kim.github.io/series/2020/01/02/frontend-dev-env-webpack-intermediate.html https://www.youtube.com/watch?v=2QYpkrX2N48 https://developer.mozilla.org/ko/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images 어플리케이션에서 이미지가 차지하는 비율은 절반을 넘어가는 일이 많습니다. 그만큼 이미지를 압축하는 일은 이용자가 웹사이트의 컨텐츠를 빨리 받아보기 위해 아주 중요한 일입니다. 이번에도 이미지를 압축할 수 있는 가장 간단하고 유용한 방법을 먼저 선택하..
2021.08.29 -
프론트엔드 성능 최적화 - 3. 코드 스플리팅 & 트리 쉐이킹
이 글은 아래 링크의 내용을 바탕으로 작성되었습니다. https://medium.com/humanscape-tech/react에서-해보는-코드-스플리팅-code-splitting-56c9c7a1baa4 https://ui.toast.com/weekly-pick/ko_20180716 자바스크립트 코드 분할 자바스크립트 코드를 분할하는 방식에는 정말 여러가지가 있지만, 그 중 가장 간단하고 유용하다고 생각되는 방식을 적용해보겠습니다. 그것은 바로 동적 import + React.lazy 메서드 + React.Suspense 컴포넌트를 조합해서 사용하는 것입니다. 참고로 동적 import 를 사용하기 위해서는 @babel/plugin-syntax-dynamic-import 패키지가 필요하고 이를 바벨에 적용하..
2021.08.29 -
프론트엔드 성능 최적화 - 2. 소스코드 최적화
이 글은 아래 링크의 내용을 바탕으로 작성되었습니다. https://jeonghwan-kim.github.io/series/2020/01/02/frontend-dev-env-webpack-intermediate.html 어플리케이션의 로딩 속도를 줄이는 가장 직관적인 방법은 HTML, CSS, Javascript 코드 사이즈 자체를 줄이는 것입니다. 그냥 코드를 짧게 작성하는 당연한(?) 방법도 있겠지만 일반적으로 웹팩 플러그인 설정을 통해 빌드 결과물이 기존 소스코드보다 용량이 적어지게 하는 방법을 사용할 수 있습니다. HTML 파일 축소 npm install --save-dev html-webpack-plugin or yarn add -D html-webpack-plugin const HtmlWebp..
2021.08.29