아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
데브투 favicon데브투

앱 성능 저하의 숨겨진 원인 4가지: 사소한 실수들이 당신의 앱을 느리게 만든다!

by DD
2026-05-14
2개월 전
조회수 18

커스텀 헤더(Custom Header) 사용으로 인해 불필요한 프리플라이트 요청(Preflight Request)이 발생하여 API 호출 지연(API Call Delay)을 유발

코드 스플리팅(Code Splitting) 적용에도 불구하고, 거대한 공유 모듈(Shared Module)로 인해 초기 로딩 속도(Initial Loading Speed)가 개선되지 않음

불필요한 런타임 의존성(Runtime Dependency) 과다 사용으로 인해 번들 사이즈(Bundle Size) 증가 및 로딩 시간(Loading Time) 증가

거대한 백그라운드 이미지(Background Image) 사용으로 인해 LCP(Largest Contentful Paint) 성능 저하 발생

CORS 프리플라이트(Preflight) 요청의 숨겨진 함정

본문에서는 커스텀 헤더(Custom Header) 사용 시 발생하는 CORS 프리플라이트(Preflight) 요청으로 인해 API 호출(API Call) 지연이 발생할 수 있음을 지적한다.

문제점: PUT, DELETE와 같은 비-단순(Non-simple) 요청 또는 커스텀 헤더 사용 시 브라우저가 OPTIONS 요청을 먼저 보내 추가적인 네트워크 호출(Network Call) 발생

원인: CORS(Cross-Origin Resource Sharing) 정책에 따라 브라우저가 안전성을 위해 사전 검증 요청을 수행

해결책: 프론트엔드(Frontend) 로직에만 사용되는 커스텀 헤더 대신 쿼리 파라미터(Query Parameter), 쿠키(Cookie), 로컬 상태(Local State) 활용

결과적으로 불필요한 헤더 사용을 줄여 초기 로딩 속도(Initial Loading Speed) 개선을 기대할 수 있다.

코드 스플리팅(Code Splitting) 무용론: 번들 분석의 중요성

글에서는 코드 스플리팅(Code Splitting) 적용에도 불구하고, 거대한 공유 모듈(Shared Module) 사용으로 인해 번들(Bundle) 사이즈가 줄어들지 않는 문제를 지적한다.

문제점: 모듈 분리(Module Separation)가 제대로 이루어지지 않아 초기 로딩 시 불필요한 코드까지 다운로드

원인: 모든 곳에서 import되는 거대한 공유 모듈(Shared Module)로 인해 코드 스플리팅의 효과가 상쇄

해결책: webpack-bundle-analyzer, source-map-explorer와 같은 도구를 활용하여 번들 분석(Bundle Analysis)을 수행하고, 불필요한 의존성 제거

결론적으로 코드 스플리팅(Code Splitting) 적용 여부와 관계없이, 번들 사이즈(Bundle Size)를 지속적으로 관리해야 한다.

불필요한 의존성(Dependency) 관리의 중요성

본문에서는 프로젝트 내 과도한 런타임 의존성(Runtime Dependency) 사용이 성능 저하의 원인이 될 수 있다고 지적한다.

문제점: 다수의 분석 SDK, 날짜 라이브러리, Lodash 전체 임포트 등으로 인해 번들 사이즈(Bundle Size) 증가

원인: 개발자들이 무분별하게 npm 패키지(npm Package)를 설치하고, 트리 쉐이킹(Tree Shaking)의 한계

해결책: 새로운 의존성(Dependency) 추가 시 신중한 검토 및 Lodash의 개별 함수 임포트

결과적으로 불필요한 의존성(Dependency) 제거를 통해 번들 사이즈(Bundle Size)를 줄이고, 로딩 속도(Loading Speed)를 개선할 수 있다.

거대한 이미지(Image) 사용의 위험성

글에서는 큰 백그라운드 이미지(Background Image) 사용이 LCP(Largest Contentful Paint) 성능 저하를 유발한다고 설명한다.

문제점: 초기 로딩 시 거대한 이미지(Image) 다운로드로 인해 사용자 체감 성능 저하

원인: 개발 환경에서는 문제없이 보이지만, 느린 네트워크 환경(Slow Network Environment)에서 성능 저하 발생

해결책: AVIF, WebP 사용, 이미지 압축, Lazy Loading, Preload 등 다양한 최적화 기법 적용

결론적으로 최적화되지 않은 이미지(Image) 사용은 사용자 경험(User Experience)을 해치는 주요 원인이 될 수 있다.

4 Tiny Mistakes That Secretly Destroy App Performance
중급
기술
JavaScript
Webpack
Lodash
Frontend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

B2B 물류 백오피스, 프론트엔드 성능 개선으로 쾌적한 사용자 경험 제공!

올리브영 로고

JavaScript vs TypeScript, 당신의 선택은?

데브투 로고

JavaScript Proxy로 상태 변화를 추적하는 마법

우아한형제들 로고

Next.js 9.5: ISR 안정화, Webpack 5 지원으로 프론트엔드 개발 생산성 UP!

Next.js 로고

Next.js 8, Webpack 메모리 사용량 획기적으로 줄이다!

Next.js 로고

Next.js 5.0 출시! Universal Webpack, CSS Import, Zones로 개발 효율 UP!

Next.js 로고
데브투 favicon데브투
중급
기술
JavaScript
Webpack
Lodash
Frontend

관련 추천 글

B2B 물류 백오피스, 프론트엔드 성능 개선으로 쾌적한 사용자 경험 제공!

올리브영 로고

JavaScript vs TypeScript, 당신의 선택은?

데브투 로고

JavaScript Proxy로 상태 변화를 추적하는 마법

우아한형제들 로고