--- id: P-REINFORCE-AUTO-59CADB category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Code Splitting Lazy Loading (์ฝ”๋“œ ๋ถ„ํ•  ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ)" --- # [[Code Splitting Lazy Loading (แ„แ…ฉแ„ƒแ…ณ แ„‡แ…ฎแ†ซแ„’แ…กแ†ฏ แ„†แ…ตแ†พ แ„Œแ…ตแ„‹แ…งแ†ซ แ„…แ…ฉแ„ƒแ…ตแ†ผ)|Code Splitting Lazy Loading (์ฝ”๋“œ ๋ถ„ํ•  ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ๊ฑฐ๋Œ€ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์„ ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๋‹น์žฅ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ์ปดํฌ๋„ŒํŠธ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋กœ๋”ฉ์„ ์ง€์—ฐ์‹œ์ผœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„์™€ ํ•ต์‹ฌ ์›น ์ง€ํ‘œ(FCP, LCP)๋ฅผ ๋น„์•ฝ์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) **1. ๋™์ž‘ ์›๋ฆฌ ๋ฐ ํ•„์š”์„ฑ** ์ผ๋ฐ˜์ ์ธ React ์•ฑ์€ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜์˜ ํฐ ๋ฒˆ๋“ค๋กœ ๋ฌถ์–ด ์ œ๊ณตํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ธฐ๋Šฅ๊นŒ์ง€ ๋‹ค์šด๋กœ๋“œํ•˜๋А๋ผ ์ดˆ๊ธฐ ๋กœ๋”ฉ์ด ํฌ๊ฒŒ ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค. "์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋“œ ์‹œ ํ™”๋ฉด์— ์ฆ‰์‹œ ๋ณด์ด์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์€ ๋ Œ๋”๋ง์„ ์ฐจ๋‹จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค"๋Š” ์›์น™์— ๋”ฐ๋ผ, ์ฝ”๋“œ๋ฅผ ๋ถ„ํ• ํ•˜๋ฉด ๋ฐ˜์‘์„ฑ(TTI)์„ ๋†’์ด๊ณ  ๋ฐ์ดํ„ฐ ์ „์†ก ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ตœ๋Œ€ 20~70%๊นŒ์ง€ ์ค„์ด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. **2. ์ „๋žต 1: ๋ผ์šฐํŠธ ๊ธฐ๋ฐ˜ ๋ถ„ํ•  (Route-level Splitting)** ๊ฐ€์žฅ ์ ์€ ๋…ธ๋ ฅ์œผ๋กœ ๊ฐ€์žฅ ํฐ ํšจ๊ณผ(์ดˆ๊ธฐ ๋ฒˆ๋“ค 60~80% ๊ฐ์†Œ)๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. `React.lazy`์™€ React Router๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ๋ฐฉ๋ฌธํ•œ ํŽ˜์ด์ง€์— ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋งŒ ๋กœ๋“œํ•˜๊ณ  ๋‹ค๋ฅธ ํŽ˜์ด์ง€์˜ ์ฝ”๋“œ๋Š” ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. **3. ์ „๋žต 2: ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์ง€์—ฐ ๋กœ๋”ฉ (Component-level Lazy Loading)** ํ™”๋ฉด ํ•˜๋‹จ(Below the fold)์— ์œ„์น˜ํ•˜๊ฑฐ๋‚˜ ๋ฌด๊ฑฐ์šด UI ์š”์†Œ(์˜ˆ: 3D ๋ชจ๋ธ, ๋ณต์žกํ•œ ์ฐจํŠธ, ๋น„๋””์˜ค ์—๋””ํ„ฐ ๋“ฑ)๋ฅผ `React.lazy`์™€ ``๋ฅผ ์ด์šฉํ•ด ์˜จ๋””๋งจ๋“œ(On-demand) ๋ฐฉ์‹์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด React Three Fiber(R3F) ํ™˜๊ฒฝ์—์„œ๋Š” ๋ Œ๋”๋ง ๋น„์šฉ์ด ํฐ 3D ๋ชจ๋ธ์„ `}>`๋กœ ๊ฐ์‹ธ ์ง€์—ฐ ๋กœ๋”ฉํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. **4. ์ „๋žต 3: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถ„ํ•  (Library-level Splitting)** PDF ์ƒ์„ฑ์ด๋‚˜ ์—‘์…€ ๋‚ด๋ณด๋‚ด๊ธฐ ๋“ฑ ํŠน์ • ์•ก์…˜์ด ์ผ์–ด๋‚  ๋•Œ๋งŒ ํ•„์š”ํ•œ ๋ฌด๊ฑฐ์šด ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋™์  `import()`๋กœ ๋ถˆ๋Ÿฌ์™€ ๋ฉ”์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์—์„œ ์™„์ „ํžˆ ์ œ์™ธ์‹œํ‚ต๋‹ˆ๋‹ค. **5. UX ์ตœ์ ํ™” ๋ฐ ์ฃผ์˜์‚ฌํ•ญ** - **์Šค์ผˆ๋ ˆํ†ค UI (Skeleton UI):** ์ง€์—ฐ ๋กœ๋”ฉ์ด ๋ฐœ์ƒํ•  ๋•Œ ํ™”๋ฉด์ด ์ผ์‹œ์ ์œผ๋กœ ๋น„์–ด๋ณด์ด๋Š” ํ˜„์ƒ์„ ๋ง‰๊ณ  ๋ˆ„์  ๋ ˆ์ด์•„์›ƒ ์ด๋™(CLS)์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, `` ๋‚ด๋ถ€์— ์ตœ์ข… ์ฝ˜ํ…์ธ ์™€ ์œ ์‚ฌํ•œ ํฌ๊ธฐ์˜ ์Šค์ผˆ๋ ˆํ†ค UI๋‚˜ ๋กœ๋”ฉ ์ธ๋””์ผ€์ดํ„ฐ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - **์ง€์—ฐ ๋กœ๋”ฉ์˜ ๊ธˆ๊ธฐ:** ์ดˆ๊ธฐ ๋ Œ๋”๋ง์— ์ฆ‰์‹œ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ํ™”๋ฉด ์ตœ์ƒ๋‹จ(Above-the-fold)์— ์œ„์น˜ํ•œ ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ๋Š” ์ ˆ๋Œ€ ์ง€์—ฐ ๋กœ๋”ฉํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[React Performance Optimization|React Performance Optimization]], React.lazy & Suspense, Core Web Vitals (FCP, LCP, CLS), [[React Server Components (RSC)|React Server Components (RSC)]] - **Projects/Contexts:** ๋Œ€๊ทœ๋ชจ SPA ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ ๊ฐœ์„ , Three.js / React Three Fiber ์ž์‚ฐ ์ตœ์ ํ™” - **Contradictions/Notes:** ์ฝ”๋“œ ๋ถ„ํ• ์€ ์ดˆ๊ธฐ ๋กœ๋“œ ์†๋„๋ฅผ ํฌ๊ฒŒ ๋†’์—ฌ์ฃผ์ง€๋งŒ, ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ๋ถ„ํ• ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•  ๋•Œ๋งˆ๋‹ค ๋„คํŠธ์›Œํฌ ์ง€์—ฐ๊ณผ ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜์–ด ์˜คํžˆ๋ ค UX๋ฅผ ํฌ๊ฒŒ ํ›ผ์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์‚ฌ์šฉ์ž์˜ ์—ฌ์ •(User Flow)์„ ์˜ˆ์ธกํ•˜๊ณ  ์ ์ ˆํ•œ ๋‹จ์œ„๋กœ ๋ฒˆ๋“ค์„ ๋ฌถ๋Š” ์ „๋žต์  ์ ‘๊ทผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. --- _Last updated: 2026-04-14_ - Raw Source: 00_Raw/2026-04-20/Code Splitting & Lazy Loading (์ฝ”๋“œ ๋ถ„ํ•  ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ).md ---