--- id: wiki-2026-0508-scalable-frontend-architecture title: Scalable Frontend Architecture category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) Scalable Frontend Architecture๋Š” ๋‹จ์ˆœํ•œ ์Šคํฌ๋ฆฝํŠธ ๋ชจ์Œ์„ ๋„˜์–ด ๊ณ ์„ฑ๋Šฅ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ฐ–์ถ˜ ์ •๊ตํ•œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ์„ค๊ณ„ ๋ฐฉ์‹์ด๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ UI์˜ ๋ถ„๋ฆฌ, ๋ช…ํ™•ํ•œ ์ƒํƒœ ์†Œ์œ ๊ถŒ, ๋ชจ๋“ˆ ๊ฐ„ ๋‚ฎ์€ ๊ฒฐํ•ฉ๋„๋ฅผ ํ†ตํ•ด ํŒ€์˜ ๊ทœ๋ชจ์™€ ์ œํ’ˆ์˜ ๊ธฐ๋Šฅ์ด ํ™•์žฅ๋˜์–ด๋„ ์•ˆ์ „ํ•˜๊ฒŒ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) 1. **๊ธฐ๋Šฅ ์ค‘์‹ฌ ์กฐ์ง (Feature-Sliced Design)** - ์•ฑ์„ `app`, `pages`, `widgets`, `features`, `entities`, `shared` ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋„๋ฉ”์ธ ๊ฒฝ๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ํ•œ๋‹ค. - ๋‹จ๋ฐฉํ–ฅ ์˜์กด์„ฑ ๊ทœ์น™๊ณผ Public API(`index.ts`)๋ฅผ ํ†ตํ•ด ์บก์Аํ™”๋ฅผ ์‹คํ˜„ํ•˜๊ณ  ๋ชจ๋“ˆ ๊ฐ„ ๊ฐ„์„ญ์„ ์ฐจ๋‹จํ•œ๋‹ค. 2. **์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์›์น™ ์ ์šฉ** - **SOLID**: ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹จ์ผ ์ฑ…์ž„(SRP)์œผ๋กœ ๋ถ„ํ•ดํ•˜๊ณ  ํ•ฉ์„ฑ(OCP)์„ ํ†ตํ•ด ํ™•์žฅํ•œ๋‹ค. - **DRY & KISS**: ์ปค์Šคํ…€ ํ›…์œผ๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋˜, ๊ณผ๋„ํ•œ ์ถ”์ƒํ™”๋กœ ์ธํ•œ ๋ณต์žก์„ฑ์€ ๊ฒฝ๊ณ„ํ•œ๋‹ค. 3. **๋ถ„์—…ํ™”๋œ ์ƒํƒœ ๊ด€๋ฆฌ ์•„ํ‚คํ…์ฒ˜** - ๋ฐ์ดํ„ฐ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ์ •์  ์ƒํƒœ(Context), ๋™์  ์ƒํƒœ(Zustand), ์„œ๋ฒ„ ์ƒํƒœ(TanStack Query)๋กœ ๋„๊ตฌ๋ฅผ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ๋ฆฌ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•œ๋‹ค. 4. **์„ฑ๋Šฅ ๋ฐ ๋ Œ๋”๋ง ๊ฑฐ๋ฒ„๋„Œ์Šค** - Vite์˜ `manualChunks`๋ฅผ ํ†ตํ•œ ๋ฒˆ๋“ค ๋ถ„ํ• ๊ณผ `React.lazy`๋ฅผ ์ด์šฉํ•œ ๋ผ์šฐํŠธ ๋ ˆ๋ฒจ์˜ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์„ ์ ์šฉํ•œ๋‹ค. - React Compiler ๋˜๋Š” ์ˆ˜๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ํ†ตํ•ด ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•œ๋‹ค. 5. **์žฅ์•  ๊ฒฉ๋ฆฌ ๋ฐ ๋ณต์›๋ ฅ (Resilience)** - Error Boundaries๋ฅผ ์ „๋žต์ ์œผ๋กœ ๋ฐฐ์น˜ํ•˜์—ฌ ํŠน์ • ๋ชจ๋“ˆ์˜ ์˜ค๋ฅ˜๊ฐ€ ์ „์ฒด ์‹œ์Šคํ…œ ๋‹ค์šด์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š๋„๋ก ๋ฐฉ์–ดํ•œ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **์•„ํ‚คํ…์ฒ˜ ์˜ค๋ฒ„ํ—ค๋“œ**: FSD์™€ ๊ฐ™์€ ์—„๊ฒฉํ•œ ๋ ˆ์ด์–ด๋ง์€ ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€์—๋„ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋Šฆ์ถœ ์ˆ˜ ์žˆ๋‹ค. - **๋„์ž… ๋น„์šฉ ๋ฐ ํ•™์Šต ๊ณก์„ **: ํŒ€ ์ „์ฒด๊ฐ€ ์•„ํ‚คํ…์ฒ˜ ์›์น™์„ ์ดํ•ดํ•˜๊ณ  ์ค€์ˆ˜ํ•˜๊ธฐ๊นŒ์ง€ ์ƒ๋‹นํ•œ ์˜จ๋ณด๋”ฉ ์‹œ๊ฐ„๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋น„์šฉ์ด ์†Œ์š”๋œ๋‹ค. - **์œ ์—ฐ์„ฑ ๊ฐ์†Œ**: ๋„ˆ๋ฌด ์—„๊ฒฉํ•œ ๊ทœ์น™์€ ๋•Œ๋กœ ๋น ๋ฅธ ์‹คํ—˜์ด ํ•„์š”ํ•œ ์Šคํƒ€ํŠธ์—… ํ™˜๊ฒฝ์—์„œ ๋ฏผ์ฒฉ์„ฑ์„ ์ €ํ•ดํ•˜๋Š” ์กฑ์‡„๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) ### Related Concepts - **Feature-Sliced Design (FSD)**: ๊ตฌ์กฐ์  ์บก์Аํ™”์˜ ํ•ต์‹ฌ (๊ด€๊ณ„: ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก ) - **SOLID Principles**: ๊ฒฌ๊ณ ํ•œ ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„์˜ ๊ทผ๊ฐ„ (๊ด€๊ณ„: ์„ค๊ณ„ ์ฒ ํ•™) - **Error Boundaries**: ์‹œ์Šคํ…œ ๋ณต์›๋ ฅ ํ™•๋ณด (๊ด€๊ณ„: ๋ฐฉ์–ด์  ์„ค๊ณ„) ### Deeper Research Questions 1. FSD ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ 'Features'์™€ 'Widgets' ๊ฐ„์˜ ์ˆœํ™˜ ์ฐธ์กฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ฉด์„œ ๋ณต์žกํ•œ UI๋ฅผ ์กฐํ•ฉํ•˜๋Š” ์ตœ์ ์˜ ํŒจํ„ด์€? 2. ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ์˜ ์„ ํƒ์ด ์‹ค์ œ ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ(TBT, INP)์— ๋ฏธ์น˜๋Š” ์ •๋Ÿ‰์  ์˜ํ–ฅ๊ณผ ์•„ํ‚คํ…์ฒ˜์  ๊ฐ€์น˜๋Š”? 3. React Compiler ๋„์ž…์ด ๊ธฐ์กด์˜ ์ˆ˜๋™ ์ตœ์ ํ™” ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์›์น™์„ ์–ด๋–ป๊ฒŒ ๊ทผ๋ณธ์ ์œผ๋กœ ๋ณ€ํ™”์‹œํ‚ค๋Š”๊ฐ€? 4. ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ… ์ ์šฉ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” 'Network Waterfall' ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ์†Œ์Šค ํ”„๋ฆฌํŒจ์นญ ์ „๋žต์€? 5. ๋งˆ์ดํฌ๋กœ ํ”„๋ก ํŠธ์—”๋“œ ํ™˜๊ฒฝ์—์„œ ๊ฐ ํŒ€์ด ๋…๋ฆฝ์ ์ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์ „์—ญ์ ์ธ ์ผ๊ด€์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๋ฐฉ๋ฒ•์€? ### Practical Application Contexts - **์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์ œํ’ˆ ๊ฐœ๋ฐœ**: ์ˆ˜๋ฐฑ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ˜‘์—…ํ•˜๋Š” ๋Œ€๊ทœ๋ชจ SaaS ํ”Œ๋žซํผ์˜ ์•ˆ์ •์  ๊ตฌ์กฐ ์„ค๊ณ„. - **๋ชจ๋…ธ๋ ˆํฌ ํ™˜๊ฒฝ ๊ตฌ์ถ•**: ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๊ฐ€ ๊ณตํ†ต ๋ชจ๋“ˆ์„ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ๋˜๋Š” ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์ˆ˜๋ฆฝ. ### Adjacent Topics - **Micro-Frontends Architecture** - **React Server Components (RSC)** - **CI/CD & Automated Governance** ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*