--- id: s1c2a3l4-e5f6-4a7b-8c9d-0e1f2a3b4c5d category: Dev confidence_score: 0.99 tags: [react, architecture, scalability, large-scale, fsd, folder-structure] last_reinforced: 2026-05-01 github_commit: "wikification-scalable-architecture" --- # Scalable Frontend Architecture & System Design ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ์˜ ํ™•์žฅ์€ ๋‹จ์ˆœํžˆ ์ฝ”๋“œ ์–‘์„ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, Feature-Sliced Design(FSD)๊ณผ ๊ฐ™์€ ๊ณ„์ธต์  ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋“ˆ ๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋‹จ๋ฐฉํ–ฅ ์˜์กด์„ฑ์„ ๊ฐ•์ œํ•จ์œผ๋กœ์จ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) ### 1. ๊ณ„์ธต์  ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ (FSD ๋„์ž…) - **Layered Architecture**: `app` (์„ค์ •), `pages` (๋ผ์šฐํŠธ), `widgets` (์กฐํ•ฉ), `features` (๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜), `entities` (๋ฐ์ดํ„ฐ ๋ชจ๋ธ), `shared` (๊ณตํ†ต ์œ ํ‹ธ)๋กœ ๊ณ„์ธต์„ ๋‚˜๋ˆˆ๋‹ค. - **๋‹จ๋ฐฉํ–ฅ ์˜์กด์„ฑ**: ์ƒ์œ„ ๊ณ„์ธต์€ ํ•˜์œ„ ๊ณ„์ธต๋งŒ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œํ•˜์—ฌ ์ˆœํ™˜ ์ฐธ์กฐ๋ฅผ ์ฐจ๋‹จํ•œ๋‹ค. - **Public API**: ๊ฐ ์Šฌ๋ผ์ด์Šค๋Š” `index.ts`๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋‚ด๋ถ€ ๋กœ์ง์„ ๋…ธ์ถœํ•˜์—ฌ ์บก์Аํ™”๋ฅผ ์‹คํ˜„ํ•œ๋‹ค. ### 2. ํด๋” ๊ตฌ์กฐ ๋ฐ ๋ชจ๋“ˆํ™” - **๊ธฐ๋Šฅ ์ค‘์‹ฌ ๋ถ„๋ฆฌ (Feature-based)**: ๊ธฐ์ˆ ์  ์œ ํ˜•(components, hooks)์ด ์•„๋‹Œ ๋„๋ฉ”์ธ๊ณผ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ํด๋”๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์‘์ง‘๋„๋ฅผ ๋†’์ธ๋‹ค. - **๋งˆ์ดํฌ๋กœ ํ”„๋ก ํŠธ์—”๋“œ ๋Œ€๋น„**: ์‹œ์Šคํ…œ์ด ๊ทน๋„๋กœ ๋น„๋Œ€ํ•ด์งˆ ๊ฒฝ์šฐ ๋ชจ๋…ธ๋ ˆํฌ(Nx, Turborepo)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ๋ณ„ ๋…๋ฆฝ ๋ฐฐํฌ ๋ฐ ๋นŒ๋“œ๋ฅผ ์ค€๋น„ํ•œ๋‹ค. ### 3. ๊ธฐ์ˆ  ๋ถ€์ฑ„ ๋ฐ ํ™•์žฅ์„ฑ ๊ด€๋ฆฌ - **์ถ”์ƒํ™” ๊ฒŒ์ดํŠธ**: ์„ฑ๊ธ‰ํ•œ ๊ณตํ†ตํ™”(Over-generalization)๋ฅผ ๊ฒฝ๊ณ„ํ•˜๊ณ , ๋„๋ฉ”์ธ ๋กœ์ง์ด ์œ ์ถœ๋˜์ง€ ์•Š๋„๋ก ๊ฒฝ๊ณ„๋ฅผ ์—„๊ฒฉํžˆ ๊ด€๋ฆฌํ•œ๋‹ค. - **๊ฑฐ๋ฒ„๋„Œ์Šค ์ž๋™ํ™”**: ESLint ๊ทœ์น™(์˜ˆ: `eslint-plugin-import`)์„ ํ†ตํ•ด ๊ณ„์ธต ์œ„๋ฐ˜์„ ๋นŒ๋“œ ํƒ€์ž„์— ๊ฐ์ง€ํ•œ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง**: ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” FSD๊ฐ€ ๋ถˆํ•„์š”ํ•œ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ์™€ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ํ”„๋กœ์ ํŠธ ์„ฑ์ˆ™๋„์— ๋”ฐ๋ฅธ ๋‹จ๊ณ„์  ๋„์ž…์ด ํ•„์š”ํ•˜๋‹ค. - **Shared ๊ณ„์ธต์˜ ๋น„๋Œ€ํ™”**: ๋ชจ๋“  ๊ฒƒ์„ `shared`์— ๋„ฃ์œผ๋ ค๋Š” ์œ ํ˜น์„ ๋ฟŒ๋ฆฌ์ณ์•ผ ํ•œ๋‹ค. ์ตœ๋Œ€ํ•œ ํ•˜์œ„ ์—”ํ‹ฐํ‹ฐ๋‚˜ ๊ธฐ๋Šฅ์œผ๋กœ ๋ถ„์‚ฐ์‹œ์ผœ์•ผ ํ•œ๋‹ค. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Parent**: 10_Wiki/Topics/Development - **Related**: Legacy React Migration & Refactoring Standard, [[Feature-Sliced Design|Feature-Sliced Design]] - **Raw Source**: 00_Raw/Scalable React Apps, 00_Raw/Frontend Scalable Architecture, 00_Raw/Large-scale React Applications, 00_Raw/แ„ƒแ…ขแ„€แ…ฒแ„†แ…ฉ React แ„‹แ…ขแ„‘แ…ณแ†ฏแ„…แ…ตแ„แ…ฆแ„‹แ…ตแ„‰แ…งแ†ซ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ แ„€แ…ฎแ„‰แ…ฅแ†ผ, 00_Raw/แ„’แ…ชแ†จแ„Œแ…กแ†ผ แ„€แ…กแ„‚แ…ณแ†ผแ„’แ…กแ†ซ React แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ แ„†แ…ตแ†พ แ„‘แ…ฉแ†ฏ\353\215\224 \352\265\254\354\241\260 \354\204\244\352\263\204 ## ๐Ÿ’ป GitHub ๋™๊ธฐํ™” ์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ 1. Stage: git add . 2. Commit: `git commit -m "[P-Reinforce] Wikify Scalable Frontend Architecture and System Design"` 3. Push: `git push origin main`