feat: Wiki 지식 자산 업데이트 - UX Scenarios, Frontend, Game Design, Topics 추가 [2026-05-08]

This commit is contained in:
2026-05-08 19:52:07 +09:00
parent 9dd3d40662
commit 5ba5a55c78
3984 changed files with 334557 additions and 28839 deletions
@@ -1,13 +1,26 @@
---
category: Unified
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: [auto-consolidated, technical-documentation]
title: Scalable Frontend Architecture & System Design
last_updated: 2026-05-02
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
---
# Scalable Frontend Architecture & System Design
## 📌 Brief Summary
## 📌 한 줄 통찰 (The Karpathy Summary)
Scalable Frontend Architecture는 단순한 스크립트 모음을 넘어 고성능과 유지보수성을 갖춘 정교한 분산 시스템을 구축하는 설계 방식이다. 비즈니스 로직과 UI의 분리, 명확한 상태 소유권, 모듈 간 낮은 결합도를 통해 팀의 규모와 제품의 기능이 확장되어도 안전하게 성장할 수 있는 기반을 제공한다.
---
@@ -22,7 +35,7 @@ Scalable Frontend Architecture는 단순한 스크립트 모음을 넘어 고성
확장 가능한 프론트엔드 아키텍처는 애플리케이션이 엔터프라이즈급으로 성장함에 따라 발생하는 기술 부채, 다수 팀의 협업 문제, 그리고 전역 네임스페이스 충돌과 같은 CSS의 구조적 한계를 극복하기 위해 설계된 유지보수 중심의 방법론입니다 [1]. 현대의 프론트엔드 엔지니어링은 단순한 시각적 장식인 "예쁘게" 만드는 것을 넘어, 예측 가능성과 모듈성을 확보하는 구조적 무결성(Architectural Inte[[Grit|Grit]]y)에 집중합니다 [1]. 이를 위해 BEM과 같은 수동 네이밍 규칙부터 CSS Modules, [[Tailwind CSS|Tailwind CSS]]와 같은 자동화된 스코핑 접근법을 활용하고, 디자인 토큰 및 기능 중심의 폴더 구조와 결합하여 스타일 시스템의 유지보수성을 극대화합니다 [1-4].
## 📖 Core Content
## 📖 구조화된 지식 (Synthesized Content)
1. **기능 중심 조직 (Feature-Sliced Design)**
- 앱을 `app`, `pages`, `widgets`, `features`, `entities`, `shared` 계층으로 나누어 도메인 경계를 명확히 한다.
- 단방향 의존성 규칙과 Public API(`index.ts`)를 통해 캡슐화를 실현하고 모듈 간 간섭을 차단한다.
@@ -102,7 +115,7 @@ Scalable Frontend Architecture는 단순한 스크립트 모음을 넘어 고성
* **디자인 토큰 ([[Design Tokens|Design Tokens]]):** 색상, 간격, 타이포그래피 같은 시각적 설계 값을 플랫폼에 구애받지 않는 데이터(주로 JSON)로 저장하여 단일 진실 공급원([[Single_Source_of_Truth|Single Source of Truth]])을 만듭니다 [3, 46-48]. Global, Alias(Semantic), Component의 3단계 계층 구조를 사용하여 디자인 변경 사항을 전체 시스템에 안전하고 쉽게 전파할 수 있습니다 [49-51].
* **기능/도메인 중심 폴더 아키텍처 (Feature-Driven Structure):** 프론트엔드 프로젝트에서 단순 파일 유형(컴포넌트, 훅, 유틸 등) 기반 그룹화가 아니라, 실제 비즈니스 기능(도메인)을 기준으로 폴더(예: `src/features/[feature-name]/`)를 나누어 관심사를 분리합니다 [52-56]. 이는 코드가 방대해지더라도 기능 삭제나 리팩토링 시 잔여 CSS나 불필요한 코드가 남는 것을 방지하여 유지보수성을 크게 높여줍니다 [56, 57].
## Trade-offs & Caveats
## 모순 및 업데이트 (Contradictions & Updates)
- **아키텍처 오버헤드**: FSD와 같은 엄격한 레이어링은 간단한 기능 추가에도 여러 파일을 생성하게 만들어 초기 개발 속도를 늦출 수 있다.
- **도입 비용 및 학습 곡선**: 팀 전체가 아키텍처 원칙을 이해하고 준수하기까지 상당한 온보딩 시간과 코드 리뷰 비용이 소요된다.
- **유연성 감소**: 너무 엄격한 규칙은 때로 빠른 실험이 필요한 스타트업 환경에서 민첩성을 저해하는 족쇄가 될 수 있다.
@@ -112,7 +125,7 @@ Scalable Frontend Architecture는 단순한 스크립트 모음을 넘어 고성
- **오버엔지니어링**: 소규모 프로젝트에서는 FSD가 불필요한 보일러플레이트와 인지 부하를 발생시킨다. 프로젝트 성숙도에 따른 단계적 도입이 필요하다.
- **Shared 계층의 비대화**: 모든 것을 `shared`에 넣으려는 유혹을 뿌리쳐야 한다. 최대한 하위 엔티티나 기능으로 분산시켜야 한다.
## 🔗 Knowledge Connections
## 🔗 지식 연결 (Graph)
### Related Concepts
- **Feature-Sliced Design (FSD)**: 구조적 캡슐화의 핵심 (관계: 핵심 방법론)
- **SOLID Principles**: 견고한 컴포넌트 설계의 근간 (관계: 설계 철학)
@@ -164,4 +177,53 @@ Scalable Frontend Architecture는 단순한 스크립트 모음을 넘어 고성
## 💻 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`
3. Push: `git push origin main`
## 🤖 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: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*