## πŸ“Œ Brief Summary ν”„λ‘ νŠΈμ—”λ“œ μ‹œμŠ€ν…œ λ””μžμΈμ€ ν˜„λŒ€μ˜ λŒ€κ·œλͺ¨ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν™•μž₯ κ°€λŠ₯ν•˜κ³ (Scalable), μœ μ§€λ³΄μˆ˜κ°€ μš©μ΄ν•˜λ©°(Maintainable), κ³ μ„±λŠ₯인(Performant) μ‹œμŠ€ν…œμœΌλ‘œ κ΅¬μΆ•ν•˜κΈ° μœ„ν•œ μ•„ν‚€ν…μ²˜ 섀계둠이닀. UI κ΅¬ν˜„μ„ λ„˜μ–΄ μƒνƒœ 관리, λͺ¨λ“ˆν™”, λΉŒλ“œ μ΅œμ ν™”, κ±°λ²„λ„ŒμŠ€ 등을 ν†΅ν•©μ μœΌλ‘œ μ—”μ§€λ‹ˆμ–΄λ§ν•˜μ—¬ λΉ„μ¦ˆλ‹ˆμŠ€ κ°€μΉ˜λ₯Ό μ•ˆμ •μ μœΌλ‘œ μ „λ‹¬ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•œλ‹€. ## πŸ“– Core Content 1. **μ•„ν‚€ν…μ²˜ νŒ¨λŸ¬λ‹€μž„: FSD (Feature-Sliced Design)** - λΉ„μ¦ˆλ‹ˆμŠ€ 도메인 μ€‘μ‹¬μ˜ 계측화(App, Pages, Widgets, Features, Entities, Shared)λ₯Ό 톡해 λͺ¨λ“ˆμ˜ 독립성을 ν™•λ³΄ν•œλ‹€. - 단방ν–₯ μ˜μ‘΄μ„± κ·œμΉ™κ³Ό Public API(`index.ts`)λ₯Ό κ°•μ œν•˜μ—¬ κΈ°λŠ₯ κ°„μ˜ μ•”μ‹œμ  결합을 λ°©μ§€ν•˜κ³  μ½”λ“œμ˜ 예츑 κ°€λŠ₯성을 높인닀. 2. **μ—”μ§€λ‹ˆμ–΄λ§ μ›μΉ™μ˜ 적용** - **SOLID (특히 SRP)**: μ»΄ν¬λ„ŒνŠΈμ˜ μ±…μž„μ„ λ‹¨μΌν™”ν•˜κ³  λΉ„λŒ€ν•œ μ»΄ν¬λ„ŒνŠΈμ—μ„œ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μ»€μŠ€ν…€ ν›…μœΌλ‘œ μΆ”μΆœν•œλ‹€. - **KISS & DRY**: 쀑볡을 μ œκ±°ν•˜λ˜ κ³Όλ„ν•œ 좔상화λ₯Ό κ²½κ³„ν•˜μ—¬ μ½”λ“œμ˜ λ‹¨μˆœμ„±κ³Ό 가독성을 μœ μ§€ν•œλ‹€. 3. **μƒνƒœ 관리 μ•„ν‚€ν…μ²˜** - μƒνƒœμ˜ 수λͺ…κ³Ό 성격에 따라 둜컬, μ „μ—­(Zustand/Redux), μ„œλ²„ μΊμ‹œ(TanStack Query)둜 λͺ…ν™•νžˆ λ ˆμ΄μ–΄λ₯Ό λΆ„λ¦¬ν•œλ‹€. - μ„±λŠ₯ μ €ν•˜λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ Context API의 λ¦¬λ Œλ”λ§ ν•œκ³„λ₯Ό μ΄ν•΄ν•˜κ³  μ΅œμ ν™”λœ μƒνƒœ ꡬ독(Selector) νŒ¨ν„΄μ„ μ μš©ν•œλ‹€. 4. **μ„±λŠ₯ μ—”μ§€λ‹ˆμ–΄λ§** - λ²ˆλ“€ μ‚¬μ΄μ¦ˆ μ΅œμ ν™”(Code Splitting)와 λŸ°νƒ€μž„ μ„±λŠ₯(Virtualization, Memoization)을 μ•„ν‚€ν…μ²˜ μˆ˜μ€€μ—μ„œ κ³ λ €ν•˜μ—¬ μ‚¬μš©μž 체감 μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•œλ‹€. ## βš–οΈ Trade-offs & Caveats - **μœ μ—°μ„± vs κ·œκ²©ν™”**: μ—„κ²©ν•œ μ‹œμŠ€ν…œ λ””μžμΈμ€ ν˜‘μ—…κ³Ό μœ μ§€λ³΄μˆ˜μ— μœ λ¦¬ν•˜μ§€λ§Œ, λΉ λ₯Έ μ‹€ν—˜κ³Ό ν”„λ‘œν† νƒ€μ΄ν•‘μ΄ ν•„μš”ν•œ 초기 λ‹¨κ³„μ—μ„œλŠ” 개발 속도λ₯Ό μ €ν•΄ν•  수 μžˆλ‹€. - **λ„κ΅¬μ˜ 쒅속성**: νŠΉμ • μƒνƒœ κ΄€λ¦¬λ‚˜ λΉŒλ“œ 도ꡬ에 κΈ°λ°˜ν•œ λ””μžμΈμ€ λ„κ΅¬μ˜ 버전 μ—…κ·Έλ ˆμ΄λ“œλ‚˜ νŒ¨λŸ¬λ‹€μž„ λ³€ν™” μ‹œ 큰 μ „ν™˜ λΉ„μš©μ„ λ°œμƒμ‹œν‚¨λ‹€. - **인지적 λΆ€ν•˜**: μ•„ν‚€ν…μ²˜κ°€ λ³΅μž‘ν•΄μ§ˆμˆ˜λ‘ μ‹ κ·œ νŒ€μ›μ˜ μ˜¨λ³΄λ”© λΉ„μš©μ΄ μ¦κ°€ν•˜λ―€λ‘œ, λ¬Έμ„œν™”μ™€ μžλ™ν™”λœ 린트 κ·œμΉ™μ΄ λ°˜λ“œμ‹œ μˆ˜λ°˜λ˜μ–΄μ•Ό ν•œλ‹€. ## πŸ”— Knowledge Connections ### Related Concepts - **Feature-Sliced Design**: μ‹œμŠ€ν…œ κ΅¬μ‘°ν™”μ˜ 핡심 방법둠 (관계: ꡬ쑰적 λΌˆλŒ€) - **State Management Architecture**: 데이터 νλ¦„μ˜ 계측화 (관계: ν˜ˆμ•‘ μˆœν™˜ 체계) - **Performance Engineering**: μ‹œμŠ€ν…œ νš¨μœ¨μ„± κ·ΉλŒ€ν™” (관계: ν’ˆμ§ˆ μ§€ν‘œ) ### Deeper Research Questions 1. FSD κ΅¬μ‘°μ—μ„œ 계측 κ°„ 데이터 전달 μ‹œ 'Prop Drilling'을 μ΅œμ†Œν™”ν•˜λ©΄μ„œλ„ 단방ν–₯ μ˜μ‘΄μ„±μ„ μ§€ν‚€λŠ” μ „λž΅μ€ 무엇인가? 2. μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ(RSC) ν™˜κ²½μ—μ„œ μ‹œμŠ€ν…œ λ””μžμΈμ˜ 'Client State' λ ˆμ΄μ–΄λŠ” μ–΄λ–»κ²Œ μž¬μ„€κ³„λ˜μ–΄μ•Ό ν•˜λŠ”κ°€? 3. μ•„ν‚€ν…μ²˜μ˜ Public API κ·œμΉ™μ„ μœ„λ°˜ν•˜λŠ” '심측 μž„ν¬νŠΈ(Deep Import)'λ₯Ό 정적 λΆ„μ„μœΌλ‘œ μ™„λ²½νžˆ μ°¨λ‹¨ν•˜λŠ” 방법은? 4. μƒνƒœ 관리 라이브러리 κ°„μ˜ μ•„ν‚€ν…μ²˜μ  νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό κ²°μ •ν•˜λŠ” μ •λŸ‰μ  κΈ°μ€€(νŒ€ 규λͺ¨, μ»΄ν¬λ„ŒνŠΈ 수 λ“±)은 μ‘΄μž¬ν•˜λŠ”κ°€? 5. μ‹œμŠ€ν…œ λ””μžμΈ λ‹¨κ³„μ—μ„œ κ³ λ €ν•΄μ•Ό ν•  'μ›Ή μ ‘κ·Όμ„±(A11y)'κ³Ό 'κ΅­μ œν™”(i18n)' λ ˆμ΄μ–΄μ˜ 배치 μ „λž΅μ€? ### Practical Application Contexts - **μ‹ κ·œ ν”Œλž«νΌ μ•„ν‚€ν…μ²˜ 수립**: μ œν’ˆ 개발 초기 λ‹¨κ³„μ—μ„œ ν™•μž₯ κ°€λŠ₯ν•œ 폴더 ꡬ쑰 및 기술 μŠ€νƒ λ ˆμ΄μ–΄λ§ μ •μ˜. - **기술 뢀채 ν•΄μ†Œ**: μŠ€νŒŒκ²Œν‹° μ½”λ“œλ‘œ λ³€ν•œ λŒ€κ·œλͺ¨ λ¦¬μ•‘νŠΈ 앱을 κΈ°λŠ₯λ³„λ‘œ λͺ¨λ“ˆν™”ν•˜μ—¬ μ‹œμŠ€ν…œ μ•ˆμ •μ„± 회볡. ### Adjacent Topics - **Micro-Frontends Architecture** - **Design Systems & Component Library Design** - **Frontend Observability & Monitoring**