프론트 최적화 임시저장

JS2L·2023년 10월 23일
0

코드 스플리팅 (Code Splitting):

리액트에서는 코드 스플리팅을 적용하여 번들 파일의 크기를 줄일 수 있습니다. 이렇게 하면 초기 로딩 속도가 향상됩니다. React의 React.lazy와 Suspense를 사용하여 컴포넌트 레벨에서 코드 스플리팅을 구현할 수 있습니다.

번들 최적화:

웹팩(Webpack)과 같은 번들러를 사용하여 번들 파일을 최적화합니다. 코드 압축, 트리 쉐이킹, 불필요한 의존성 제거 등을 수행하여 번들 파일 크기를 최소화합니다.

이미지 최적화:

이미지 파일을 최적화하여 파일 크기를 줄입니다. 이미지 압축 및 WebP 형식 사용 등의 기술을 적용합니다.

Lazy Loading:

페이지나 컴포넌트가 필요할 때까지 로딩을 지연시키는 Lazy Loading을 구현합니다. React의 React.lazy 및 Suspense를 사용하여 컴포넌트 로딩을 지연시킵니다.

데이터 Fetching 최적화:

API 요청을 최적화하고, 데이터를 필요한 시점에 가져옵니다. 불필요한 API 요청을 피하고, 데이터 캐싱을 고려합니다.

메모이제이션 (Memoization):

리렌더링 성능을 향상시키기 위해 useMemo 및 useCallback을 사용하여 중복 계산을 피합니다.

리렌더링 최적화:

React의 shouldComponentUpdate, React.memo, useMemo, useCallback 등을 사용하여 컴포넌트의 리렌더링을 최적화합니다.

서버 사이드 렌더링 (SSR):

필요에 따라 서버 사이드 렌더링을 구현하여 초기 로딩 성능을 향상시킵니다.
자원 압축:

CSS 및 JavaScript 파일을 GZIP 또는 Brotli와 같은 압축 기술을 사용하여 전송 크기를 줄입니다.

웹 최적화:

웹 페이지의 구조와 디자인을 최적화하여 사용자 경험을 향상시킵니다. 불필요한 요소를 제거하고 레이아웃을 최적화합니다.

성능 모니터링:

성능 모니터링 도구를 사용하여 웹 애플리케이션의 성능을 지속적으로 모니터링하고 병목 현상을 식별합니다.

프로덕션 빌드:

개발 모드와 프로덕션 모드를 구분하여 최적화된 프로덕션 빌드를 생성합니다.

CDN 활용:

컨텐츠 전송 네트워크 (CDN)를 활용하여 정적 파일을 빠르게 전달합니다.

크롬 개발자 도구 활용:

크롬 개발자 도구의 성능 탭을 활용하여 웹 애플리케이션의 성능을 분석하고 최적화합니다.

테스트:

성능 및 안정성을 향상시키기 위해 테스트를 실행하고 버그를 수정합니다.

profile
신입 개발자의 독고다이 개발일지

0개의 댓글