diff --git a/API_Communication_Patterns.md b/API_Communication_Patterns.md
index 52608e80..07b8125c 100644
--- a/API_Communication_Patterns.md
+++ b/API_Communication_Patterns.md
@@ -5,15 +5,22 @@ tags: [API, Axios, Interceptor, Error Handling, Network]
created: 2026-04-20
---
-# 효율적인 API 통신 패턴
+# [[API_Communication_Patterns]] (API 통신 패턴)
-## 📡 인프라 설계
-- **Service Layer**: API 호출 로직을 컴포넌트와 분리하여 별도 모듈화.
-- **Interceptors**: 전역 요청 헤더 주입 및 전역 에러 핸들링.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 서버와의 대화는 항상 '정중하되 의심하며' 처리하라. 모든 요청은 중앙 통제소(Interceptor)를 거치고 모든 에러는 시나리오가 준비되어 있어야 한다.
-## 🚨 에러 대응
-401(토큰 만료), 500(서버 장애) 등 공통 에러에 대한 중앙 집중형 대응 시나리오 수립.
+## 📖 구조화된 지식 (Synthesized Content)
+- **Service Layer (서비스 레이어) 추상화**:
+ - 컴포넌트 내에 `axios` 코드를 기생시키지 마라. `userService.js`, `productApi.js` 처럼 API별로 모듈화하여 컴포넌트는 오직 '함수 호출'만 알게 하라.
+- **Axios Interceptors (심사 통로)**:
+ - 모든 요청에 인증 토큰을 자동으로 붙이거나, 백엔드에서 내려오는 401 에러를 가로채서 자동으로 토큰을 갱신(Silent Refresh)하는 로직을 중앙 집권화한다.
+- **Error Scenario Planning**:
+ - 400(잘못된 요청), 403(권한 없음), 500(서버 죽음) 등 각 에러 코드별로 사용자가 경험할 UI 처리 방침을 미리 약속하라.
-## 🔗 연결된 지식
-- [[System_Protocol_Standard]]
-- [[React_State_Management_Strategy]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 모든 통신에 Axios가 정답은 아니다. 브라우저 네이티브인 `fetch`로도 충분한 경우가 많으며, 라이브러리 의존성을 낮추는 것이 가벼운 앱을 만드는 첫걸음일 수 있다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[System_Protocol_Standard]] , [[React_State_Management_Strategy]]
+- Foundation: [[Reliability_Safety_First]]
diff --git a/Accessibility_Inclusivity.md b/Accessibility_Inclusivity.md
index 0492f311..c6af0e18 100644
--- a/Accessibility_Inclusivity.md
+++ b/Accessibility_Inclusivity.md
@@ -5,13 +5,22 @@ tags: [Accessibility, a11y, Semantic HTML, Inclusivity]
created: 2026-04-20
---
-# 웹 접근성 및 포용적 설계
+# [[Accessibility_Inclusivity]] (포용적 설계와 접근성)
-## ♿ 설계 원칙
-- **Semantic HTML**: 기계가 이해할 수 있는 의미론적 태그 사용.
-- **ARIA**: 표준 태그 외의 인터랙션에 대한 의미 보강.
-- **Keyboard Navigation**: 마우스 없이도 모든 기능 접근 가능하게 설계.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 웹은 '모두'를 위한 공간이어야 한다. 신체적 제약이 시스템 이용의 제약이 되지 않게 하는 것은 '매너'가 아니라 전문 개발자의 '책임'이다.
-## 🔗 연결된 지식
-- [[Styling_Governance]]
-- [[React_Clean_Code_Best_Practices]]
+## 📖 구조화된 지식 (Synthesized Content)
+- **Semantic HTML (의미론적 태그)**:
+ - `
`로만 도배하지 마라. `
`, ``, ``, `` 등 의미가 담긴 태그를 써야 기계(스크린 리더)와 검색 엔진이 내 콘텐츠의 중요도를 파악한다.
+- **ARIA & States**:
+ - 표준 HTML로 설명이 불가능한 인터랙션(예: 커스텀 탭 메뉴)은 `aria-label`, `aria-hidden` 등을 통해 기계에게 보조 설명을 전한다.
+- **Keyboard Navigation**:
+ - 마우스 없이 `Tab` 키와 `Enter` 키만으로 내 앱의 모든 핵심 기능을 수행할 수 있는지 검증하라. 포커스링을 숨기지 마라. 누군가에게는 유일한 가이드라인이다.
+
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 접근성을 챙기는 것은 단순히 윤리적인 문제를 넘어, **SEO(검색 노출)** 성적과 직결된다. 구글 검색 로봇은 눈이 없기에, 스크린 리더와 유사한 방식으로 우리 사이트를 평가하기 때문이다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Styling_Governance]] , [[React_Clean_Code_Best_Practices]]
+- Ethic: [[Collaboration_Governance]]
diff --git a/Collaboration_Governance.md b/Collaboration_Governance.md
index 941c783f..6dbed316 100644
--- a/Collaboration_Governance.md
+++ b/Collaboration_Governance.md
@@ -5,13 +5,22 @@ tags: [Collaboration, PR, Code Review, Documentation, Governance]
created: 2026-04-20
---
-# 협업 가이드라인 및 코드 거버넌스
+# [[Collaboration_Governance]] (협업과 코드 품격)
-## 🤝 협업 문화
-- **PR Protocol**: 변경 목적과 기술적 고민을 상세히 기록.
-- **Code Review**: 비판이 아닌 개선을 위한 커뮤니케이션.
-- **Documentation**: 미래의 자신과 동료를 위한 지속적인 문서 관리.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 코드는 혼자 쓰는 일기장이 아니라 함께 짓는 건축물이다. 동료의 시간을 아껴주는 문서화와 소통 방식이 당신의 가치를 증명한다.
-## 🔗 연결된 지식
-- [[React_Clean_Code_Best_Practices]]
-- [[Deployment_Final_Gate]]
+## 📖 구조화된 지식 (Synthesized Content)
+- **Pull Request (PR) 에티켓**:
+ - "이거 고쳤습니다"는 최악의 PR이다. 무엇을(What), 왜(Why), 어떻게(How) 했는지 명시하고 가능한 시각적 결과물(스크린샷, GIF)을 첨부하여 리뷰어의 인지 부하를 줄여라.
+- **Code Review Protocol**:
+ - P1(필수 반영), P2(권장), P3(질문/의견) 식으로 중요도를 표시하라. 비판은 날카롭게 하되 표현은 따뜻하게 하여 팀의 심리적 안정성을 유지하라.
+- **The Living Document**:
+ - 복잡한 비즈니스 로직이나 기묘한 버그 픽스는 반드시 주석이나 README에 '의도'를 남겨라. 주석은 '무엇을 하는지'가 아니라 '왜 이렇게 했는지'를 적는 곳이다.
+
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 완벽한 거버넌스를 추구하느라 소통이 무거워지면 안 된다. 빠른 배포가 필요한 시점에는 '기술 부채'를 명문화하고 나중에 갚는 기민함(Agile)도 필요하다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[React_Clean_Code_Best_Practices]] , [[Deployment_Final_Gate]]
+- Foundation: [[System_Debugging_Protocol]]
diff --git a/Component_Design_Patterns.md b/Component_Design_Patterns.md
index 150f4ede..11564c7a 100644
--- a/Component_Design_Patterns.md
+++ b/Component_Design_Patterns.md
@@ -5,13 +5,24 @@ tags: [Design Pattern, Atomic Design, Composition, Architecture]
created: 2026-04-20
---
-# 컴포넌트 설계 패턴
+# [[Component_Design_Patterns]] (컴포넌트 설계 패턴)
-## 🧩 구조 설계
-1. **Atomic Design**: Atom(최소 단위) -> Molecule -> Organism -> Template -> Page 순으로 조립.
-2. **Container-Presenter**: 로직 담당과 UI 담당의 분리.
-3. **Component Composition**: Props Drilling을 방지하기 위해 자식을 통째로 넘기는 전략.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 컴포넌트는 작을수록 강하고, 단순할수록 재사용성이 극대화된다. 복잡한 컴포넌트는 여러 개의 작고 순수한(Pure) 컴포넌트로 해체하라.
-## 🔗 연결된 지식
-- [[Project_Architecture_Guidelines]]
-- [[Styling_Governance]]
+## 📖 구조화된 지식 (Synthesized Content)
+- **Container-Presenter 패턴**:
+ - **Container**: 데이터(State, API)를 가져오고 관리하는 '머리'.
+ - **Presenter**: 오직 Props만 받아 화면을 그리는 '몸통'. 스타일과 UI 구조에만 집중하여 테스트 가능성을 높인다.
+- **Compound Components (복합 컴포넌트)**:
+ - ` ` 처럼 부모와 자식이 상태를 공유하며 하나의 긴밀한 기능을 수행하는 패턴. 사용자가 UI 구조를 자유롭게 배치할 수 있게 유연성을 제공한다.
+- **Atomic Design (원자 중심 설계)**:
+ - Atom(버튼, 입력창) $\rightarrow$ Molecule(검색바) $\rightarrow$ Organism(헤더) $\rightarrow$ Template $\rightarrow$ Page.
+ - 가장 하위의 Atom이 프로젝트 전반에서 동일한 디자인 언어인 '디자인 토큰'을 반영하게 한다.
+
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 너무 과도한 컴포넌트 분할은 프로토타이핑 속도를 늦춘다. 처음에는 크게 짜고, 중복이 발생하거나 복잡도가 높아질 때 '사후적 리팩토링'을 통해 분리하는 것이 실무적으로 현명하다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Project_Architecture_Guidelines]] , [[Styling_Governance]]
+- Design: [[Accessibility_Inclusivity]]
diff --git a/Deployment_Final_Gate.md b/Deployment_Final_Gate.md
index fb2d1b96..7196cc46 100644
--- a/Deployment_Final_Gate.md
+++ b/Deployment_Final_Gate.md
@@ -5,15 +5,22 @@ tags: [Deployment, CI/CD, GitHub Actions, Vercel, DevOps]
created: 2026-04-20
---
-# 배포 프로토콜 및 CI/CD 자동화
+# [[Deployment_Final_Gate]] (배포 및 자동화)
-## 🚀 파이프라인
-- **CI (Continuous Integration)**: 빌드 및 테스트 자동화.
-- **CD (Continuous Deployment)**: 배포 자동화 (Vercel, AWS).
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 수동 배포는 '실버 불렛'이 아니라 '시한폭탄'이다. 인간의 손을 거치지 않는 자동화된 보급로만이 시스템의 영속성을 보장한다.
-## 🔒 보안 정책
-환경 변수(`.env`) 관리를 통한 민감 정보 보호 및 보안 사고 방지.
+## 📖 구조화된 지식 (Synthesized Content)
+- **CI (Continuous Integration)**:
+ - 코드가 저장소에 합쳐지기 전, 린트(Lint) 검사, 빌드 테스트, 유닛 테스트를 자동으로 수행하여 '오염된 코드'의 유입을 원천 차단한다.
+- **CD (Continuous Deployment)**:
+ - 검증된 코드를 실서버에 자동으로 릴리즈한다. `Vercel`, `Netlify` 같은 플랫폼은 브랜치별 '미리보기' 주소를 제공하여 배포 전 최종 검수를 돕는다.
+- **Environment Variables (보안 환경)**:
+ - `.env` 파일을 통한 민감 정보 격리는 기본 중의 기본이다. 깃허브에 API Key가 하나라도 노출되는 순간, 그 프로젝트는 보안적으로 사망한 것과 다름없다.
-## 🔗 연결된 지식
-- [[Modern_Environment_Ecosystem]]
-- [[Collaboration_Governance]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 무조건적인 '자동 배포'가 늘 정답은 아니다. 운영 단계에서는 '블루-그린 배포'나 '카나리 배포'처럼 트래픽을 조금씩 흘려보내며 안정성을 확인하는 고급 전략이 필요하다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Modern_Environment_Ecosystem]] , [[Collaboration_Governance]]
+- Pre-requisite: [[React_Testing_Strategy]]
diff --git a/Modern_Environment_Ecosystem.md b/Modern_Environment_Ecosystem.md
index 75a4a057..464820b5 100644
--- a/Modern_Environment_Ecosystem.md
+++ b/Modern_Environment_Ecosystem.md
@@ -5,15 +5,22 @@ tags: [Vite, Next.js, Ecosystem, Modern Stack]
created: 2026-04-20
---
-# 모던 개발 환경 및 프레임워크 생태계
+# [[Modern_Environment_Ecosystem]] (모던 개발 생태계)
-## 🏗️ 도구의 선택
-- **Vite**: 초고속 번들링 및 개발 생산성.
-- **Next.js**: SSR/SSG 지원을 통한 SEO 최적화 및 풀스택 기능.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 도구는 목적이 아니라 '생산성'을 위한 수단이다. 하지만 최신 생태계의 변화를 놓치는 것은 스스로 생산성을 깎아내는 것과 같다.
-## 📁 디렉토리 구조
-프로젝트 전반의 일관성을 위한 폴더 레이아웃 표준 확립.
+## 📖 구조화된 지식 (Synthesized Content)
+- **Build Tools: Vite vs Webpack**:
+ - `Vite`는 네이티브 ESM을 활용하여 개발 서버 구동 속도를 혁신적으로 줄였다. 프로젝트 규모가 커질수록 Vite의 HMR(Hot Module Replacement) 속도는 빛을 발한다.
+- **Framework: Next.js (The Fullstack Edge)**:
+ - 단순히 SEO를 위한 SSR 도구가 아니다. API Routes를 통한 서버리스 함수 구현, 데이터 캐싱 전략(ISR/SSG) 등 현대 웹이 요구하는 거의 모든 기능을 탑재한 '거버넌스' 그 자체다.
+- **패키지 매니저의 선택**:
+ - `pnpm` 또는 `npm v7+`의 워크스페이스 기능을 통해 모노레포(Monorepo) 구조를 효율적으로 관리하고, 패키지 중복 설치를 최소화하여 빌드 성능을 최적화한다.
-## 🔗 연결된 지식
-- [[Deployment_Final_Gate]]
-- [[Project_Architecture_Guidelines]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 최신 기술이 항상 정답은 아니다. 안정성이 최우선인 기업 환경에서는 검증된 `CRA` 혹은 `Webpack` 기반의 설정을 유지하는 것이 보수적인 면에서 유리할 수 있다. 기술 부채(Tech Debt)와 도입 비용을 항상 저울질하라.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Deployment_Final_Gate]] , [[Project_Architecture_Guidelines]]
+- Foundation: [[TypeScript_Type_Safety]]
diff --git a/React_Clean_Code_Best_Practices.md b/React_Clean_Code_Best_Practices.md
index 34ce7ae2..713b506e 100644
--- a/React_Clean_Code_Best_Practices.md
+++ b/React_Clean_Code_Best_Practices.md
@@ -5,13 +5,24 @@ tags: [Clean Code, Etiquette, Best Practice, Readable Code]
created: 2026-04-20
---
-# 리액트 클린 코드 및 개발 에티켓
+# [[React_Clean_Code_Best_Practices]] (리액트 클린 코드)
-## 🧹 핵심 수칙
-- **Early Return**: 복잡한 조건문을 피하고 예외를 먼저 처리.
-- **Destructuring**: Props 및 데이터 구조 분해 할당으로 가독성 확보.
-- **Explicit Naming**: 변수와 함수명은 의도를 명확히 함 (e.g., `handleBtnClick` 대신 `handleSubmit`).
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 가독성 좋은 코드는 '컴퓨터'가 이해하는 코드가 아니라, '나중에 이 코드를 고칠 동료(혹은 미래의 나)'가 숨 쉬듯 읽어내려갈 수 있는 코드다.
-## 🔗 연결된 지식
-- [[Collaboration_Governance]]
-- [[System_Debugging_Protocol]]
+## 📖 구조화된 지식 (Synthesized Content)
+- **Early Return 패턴**:
+ - 중첩된 `if-else`는 지옥이다. 예외 상황(Loading, Error)을 먼저 `return`으로 쳐내면, 함수의 본체는 항상 가장 중요한 로직만 남게 된다.
+- **Props Destructuring (구조 분해 할당)**:
+ - `props.user.name` 처럼 경로를 길게 쓰는 대신, 함수의 인자 단계에서 `{ user: { name } }` 처럼 분해하라. 코드가 숨을 쉬기 시작한다.
+- **Explicit Naming (명시적 네이밍)**:
+ - 핸들러 함수는 `handle[Action]` (예: `handleSearch`), 비즈니스 함수는 `on[Action]` (예: `onSearchSubmit`)으로 구분하여 책임 소재를 명확히 한다.
+- **조건부 렌더링 에티켓**:
+ - `&&` 연산자 대신 삼항 연산자(`? :`)를 권장한다. 특히 `0 && ` 시 화면에 숫자 0이 출력되는 대참사를 방지하기 위함이다.
+
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 과도한 추상화는 오히려 독이다. 코드가 3줄인데 함수 5개로 쪼개는 것은 가독성을 해친다. '직관성'이 '분리'보다 우선할 때가 있음을 명심하라.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Collaboration_Governance]] , [[System_Debugging_Protocol]]
+- Foundation: [[React_Mental_Model]]
diff --git a/React_Hooks_Deep_Dive.md b/React_Hooks_Deep_Dive.md
index 953720e9..cce5236e 100644
--- a/React_Hooks_Deep_Dive.md
+++ b/React_Hooks_Deep_Dive.md
@@ -5,16 +5,22 @@ tags: [React, Hooks, useEffect, Custom Hooks]
created: 2026-04-20
---
-# 리액트 훅(Hooks) 심층 분석
+# [[React_Hooks_Deep_Dive]] (리액트 훅 심화)
-## 📡 useEffect의 본질
-- 단순한 라이프사이클 함수가 아니라, **외부 시스템과의 동기화** 장치임.
-- 의존성 배열(`deps`) 관리가 핵심.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 훅은 단순히 함수를 재사용하는 것이 아니라, 컴포넌트의 생애 주기와 논리를 '선언적'으로 결합하는 고도의 동기화 기제다.
-## 🛠️ Custom Hooks
-- 컴포넌트에서 비즈니스 로직을 분리하여 재사용 가능하게 만드는 기술.
-- UI 컴포넌트는 오직 데이터 전달과 렌더링에만 집중하게 함.
+## 📖 구조화된 지식 (Synthesized Content)
+- **useEffect의 올바른 관점**:
+ - "마운트될 때 실행"이라는 라이프사이클 사고방식에서 벗어나라. `useEffect`는 **의존성 배열의 값과 컴포넌트 외부 시스템(API, DOM 등)을 동기화**하는 작업이다.
+- **Custom Hooks (추상화의 꽃)**:
+ - 복잡한 비즈니스 로직(예: 데이터 페칭, 타이머 관리)을 `useMyLogic` 처럼 따로 빼내어 컴포넌트는 오직 UI 선언에만 집중하게 만든다. 이것이 컴포넌트의 가독성을 폭발시키는 비결이다.
+- **Rules of Hooks**:
+ - 반드시 함수의 최상위에서만 호출되어야 한다. 그래야 리액트가 훅의 상태를 유한 상태 머신처럼 정확한 순서로 관리할 수 있다.
-## 🔗 연결된 지식
-- [[React_Mental_Model]]
-- [[React_Performance_Optimization]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- `useEffect` 내에서 무분별하게 상태를 업데이트하면 무한 루프나 성능 저하가 발생한다. 가능하면 `useMemo`나 `useCallback`으로 계산 결과를 캐싱하거나, 상태 업데이트 로직을 `useReducer`로 위임하라.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[React_Performance_Optimization]] , [[React_State_Management_Strategy]]
+- Context: [[WebWorker_Performance]]
diff --git a/React_Mental_Model.md b/React_Mental_Model.md
index 3c2fa037..02838468 100644
--- a/React_Mental_Model.md
+++ b/React_Mental_Model.md
@@ -5,16 +5,22 @@ tags: [React, State, Mental Model, Immutability]
created: 2026-04-20
---
-# 리액트 핵심 멘탈 모델
+# [[React_Mental_Model]] (리액트 멘탈 모델)
-## 🎯 핵심 개념
-리액트 앱은 단순히 DOM을 조작하는 것이 아니라, **상태(State)**가 바뀌면 UI가 자동으로 업데이트되는 구조를 가집니다.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 리액트 개발은 DOM을 '조작(Manipulate)'하는 것이 아니라, 데이터의 흐름인 '상태(State)'를 정의하고 그 결과물을 화면에 '선언(Declare)'하는 과정이다.
-## 🧱 3대 원칙
-1. **Immutability (불변성)**: 상태는 직접 수정하지 않고 항상 새로운 복사본을 만들어 교체해야 함.
-2. **Declarative UI (선언형 UI)**: "어떻게"가 아니라 "무엇을" 보여줄지에 집중.
-3. **Unidirectional Data Flow (단방향 데이터 흐름)**: Props는 부모에서 자식으로만 흐름.
+## 📖 구조화된 지식 (Synthesized Content)
+- **UI = f(State)**:
+ - 화면은 상태의 결과값이어야 한다. 명령형(Imperative)으로 "이 버튼의 글자를 바꿔라"라고 하는 순간 리액트의 질서는 무너진다. 오직 상태를 바꾸고 리액트가 알아서 그리게 하라.
+- **Immutability (불변성)**:
+ - 리액트는 객체의 주소값이 변할 때만 렌더링을 시도한다. `arr.push(1)`이 아니라 `setArr([...arr, 1])`처럼 **새로운 원본**을 복제하여 가상 DOM(Virtual DOM)이 효율적으로 동작하게 돕는다.
+- **Virtual DOM Diffing**:
+ - 리액트는 실제 DOM을 직접 건드리기 전에 메모리상의 가상 DOM에서 이전 상태와 비교(Diffing)하여, 꼭 필요한 부분만 실제 화면에 반영(Commit)한다. 이것이 고성능 웹의 비결이다.
-## 🔗 연결된 지식
-- [[React_Hooks_Deep_Dive]]
-- [[Component_Design_Patterns]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 불변성 유지를 위해 매번 거대한 객체를 복사하는 것은 때로 손해다. `Immer` 같은 라이브러리를 쓰거나, 상태의 크기를 작게 쪼개어(Normalization) 업데이트 비용을 최소화하는 전략이 중급 개발자의 역량이다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[React_Hooks_Deep_Dive]] , [[Component_Design_Patterns]]
+- Foundation: [[System_Protocol_Standard]]
diff --git a/React_Performance_Optimization.md b/React_Performance_Optimization.md
index f4199c4d..6cc4a0b4 100644
--- a/React_Performance_Optimization.md
+++ b/React_Performance_Optimization.md
@@ -5,16 +5,24 @@ tags: [Performance, Memoization, React.memo, Optimization]
created: 2026-04-20
---
-# 리액트 렌더링 최적화 전략
+# [[React_Performance_Optimization]] (리액트 성능 최적화)
-## ⚡ 주요 도구
-- **React.memo**: Props 변경이 없을 때 재렌더링 방지.
-- **useMemo / useCallback**: 연산 결과 및 함수 객체의 메모이제이션.
-- **Virtualization**: 대량의 리스트 렌더링 시 화면에 보이는 것만 처리.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 가장 빠른 렌더링은 '하지 않는 렌더링'이다. 필요 없는 업데이트를 차단하고 데이터가 흐를 때만 화면이 출렁이게 하라.
-## 🚨 주의사항
-성급한 최적화(Premature Optimization)는 지양하며, 반드시 성능 측정을 선행해야 함.
+## 📖 구조화된 지식 (Synthesized Content)
+- **Memoization (메모이제이션)**:
+ - **React.memo**: 상위 컴포넌트가 변해도 내 Props가 같다면 그리기를 거부한다.
+ - **useMemo**: 비용이 큰 연산 결과(예: 복잡한 필터링)를 저장해두고 재사용한다.
+ - **useCallback**: 함수 객체의 변동을 막아 자식 컴포넌트의 불필요한 리렌더링을 방지한다.
+- **Windowing (가상 리스트)**:
+ - 수천 개의 리스트 아이템이 있어도 사용자의 눈에 보이는 수십 개만 실제 DOM에 렌더링한다. (예: `react-window`, `react-virtualized`).
+- **상태의 위치 선정 (State Colocation)**:
+ - 전역 상태가 바뀔 때마다 앱 전체가 들썩이지 않게 하라. 상태는 그것을 사용하는 가장 하위 컴포넌트 근처로 내려라.
-## 🔗 연결된 지식
-- [[WebWorker_Performance]]
-- [[System_Debugging_Protocol]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 모든 곳에 `memo`를 쓰는 것은 메모리 낭비다. 리액트의 기본 렌더링 성능은 이미 매우 뛰어나다. 병목 현상이 '실제로 관측'될 때만 최적화를 적용하는 것이 원칙이다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[WebWorker_Performance]] , [[System_Debugging_Protocol]]
+- Foundation: [[React_Mental_Model]]
diff --git a/React_State_Management_Strategy.md b/React_State_Management_Strategy.md
index f28fe0be..ce445ce1 100644
--- a/React_State_Management_Strategy.md
+++ b/React_State_Management_Strategy.md
@@ -5,16 +5,24 @@ tags: [State Management, React Query, SSOT, Architecture]
created: 2026-04-20
---
-# 전략적 상태 관리 가이드
+# [[React_State_Management_Strategy]] (상태 관리 전략)
-## 🌐 상태의 분류
-1. **UI State**: 로컬 상태 (useState).
-2. **Global State**: 전역 상태 (Context API, Zustand/Redux).
-3. **Server State**: 서버 데이터 (React Query, SWR).
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 상태는 '어디든' 있을 수 있지만, '아무데나' 있어서는 안 된다. 상태의 생명주기와 전파 범위에 따라 명확한 거주지를 결정하라.
-## 🎯 원칙
-상태는 가능한 낮게(Lift State Down), 필요할 때만 높게(Lift State Up) 유지하여 복잡도를 관리함.
+## 📖 구조화된 지식 (Synthesized Content)
+- **상태의 3대 거주지**:
+ 1. **Local State (거주형)**: `useState`. 특정 컴포넌트 내부에서만 알고 있는 '사생활' (예: 드롭다운 열림 여부).
+ 2. **Global State (공용)**: `Zustand`, `Redux`. 온 동네가 알아야 하는 '공공 정보' (예: 로그인 유저, 다크모드).
+ 3. **Server State (빌려온 것)**: `React Query`. 서버에서 잠시 빌려와서 화면에 보여주는 '외부 데이터'.
+- **Server State의 독립**:
+ - 과거엔 Redux에 서버 데이터를 담으려 했으나, 이제는 캐싱, 재시도, 로딩 관리를 전담하는 **React Query/SWR**로 분리하는 것이 세계적인 추세다.
+- **상태의 최소화 원칙**:
+ - 다른 상태로부터 계산될 수 있는 값(예: `firstName`+`lastName` = `fullName`)은 절대 '상태'로 만들지 마라. 렌더링 시점에 계산하는 것이 정합성 유지의 핵심이다.
-## 🔗 연결된 지식
-- [[React_Hooks_Deep_Dive]]
-- [[System_Protocol_Standard]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 무조건적인 전역 상태 지상주의는 'Prop Drilling'보다 위험할 수 있다. 컴포넌트 간의 의존성이 암시적으로 얽히기 때문이다. 상태는 되도록 사용하는 곳에서 가장 가깝게 위치시켜라.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Single_Source_of_Truth]] , [[API_Communication_Patterns]]
+- Foundation: [[React_Hooks_Deep_Dive]]
diff --git a/React_Testing_Strategy.md b/React_Testing_Strategy.md
index 2dce3c56..ca840dd3 100644
--- a/React_Testing_Strategy.md
+++ b/React_Testing_Strategy.md
@@ -5,16 +5,22 @@ tags: [Testing, Vitest, RTL, Unit Test, QA]
created: 2026-04-20
---
-# 리액트 애플리케이션 테스트 전략
+# [[React_Testing_Strategy]] (리액트 테스트 전략)
-## 🧪 테스트 피라미드
-- **Unit Test**: 개별 유틸리티/함수 검증.
-- **Integration Test**: 컴포넌트 간 상호작용 및 UI 흐름 검증.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 테스트는 '내가 짠 코드'를 검사하는 것이 아니라, '사용자가 경험할 가치'가 유지되고 있는지 수학적으로 증명하는 보험이다.
-## 🛠️ 도구
-- **Vitest**: 고성능 테스트 러너.
-- **React Testing Library**: 사용자 중심의 DOM 테스트 지향.
+## 📖 구조화된 지식 (Synthesized Content)
+- **Unit Testing (단위 테스트)**:
+ - `Vitest` 사용. 순수 함수, 비즈니스 로직, 유틸리티 함수가 주어진 입력에 정확한 출력을 내는지 검증한다.
+- **Integration Testing (통합 테스트)**:
+ - `React Testing Library (RTL)`의 철학: "사용자가 보듯 테스트하라." 버튼을 클릭했을 때 화면이 변하는지, 유저의 인터랙션을 시뮬레이션한다.
+- **Mocking (모킹)**:
+ - 서버 API 호출(`msw`)이나 무거운 라이브러리를 가짜(Mock)로 대체하여 환경에 구애받지 않는 안정적인 테스트 환경을 구축한다.
-## 🔗 연결된 지식
-- [[System_Debugging_Protocol]]
-- [[Reliability_Safety_First]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 테스트 커버리지 100% 집착은 생산성을 갉아먹는다. 비즈니스 핵심 로직과 사용자가 가장 많이 쓰는 '메인 시나리오'부터 견고하게 보호하는 지혜가 필요하다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[System_Debugging_Protocol]] , [[Reliability_Safety_First]]
+- Tool: [[Modern_Environment_Ecosystem]]
diff --git a/Reliability_Safety_First.md b/Reliability_Safety_First.md
index eb50a016..f764ec90 100644
--- a/Reliability_Safety_First.md
+++ b/Reliability_Safety_First.md
@@ -5,12 +5,24 @@ tags: [Reliability, Error Boundary, Sentry, Logging, Stability]
created: 2026-04-20
---
-# 애플리케이션 안정성 및 로깅
+# [[Reliability_Safety_First]] (애플리케이션 안정성)
-## 🚑 장애 대응
-- **Error Boundary**: 국소적 에러가 전체 앱을 무너뜨리지 않도록 보호.
-- **Logging (Sentry)**: 클라이언트 사이드 에러의 실시간 모니터링 및 추적.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 에러는 막는 것이 아니라 '우아하게 격리'하는 것이다. 컴포넌트 하나가 무너져도 전체 시스템은 안전하게 순항해야 한다.
-## 🔗 연결된 지식
-- [[System_Debugging_Protocol]]
-- [[React_Testing_Strategy]]
+## 📖 구조화된 지식 (Synthesized Content)
+- **Error Boundary (에러 바운더리)**:
+ - 리액트의 `componentDidCatch` 생명 주기를 활용하여, 특정 하위 컴포넌트 트리의 런타임 에러를 포착하고 '대체 UI'를 보여주는 최후의 방어선이다.
+ - **적용 전략**: 전체 앱을 감싸는 전역 바운더리 외에도, 독립적으로 동작하는 위젯(예: 사이드바, 게시글 목록) 단위로 세밀하게 감싸는 것이 유리하다.
+- **Observability (로깅 및 관측 가능성)**:
+ - **Sentry 연동**: 클라이언트 사이드에서 발생하는 에러를 스택 트레이스와 함께 실시간 수집하여, 사용자가 제보하기 전에 개발자가 먼저 인지하게 한다.
+ - **Contextual Logging**: 에러 발생 시 사용자의 브라우저 버전, 마지막 행동(Breadcrumbs)을 함께 기록하여 재현 가능성을 높인다.
+- **Graceful Fallback**:
+ - 에러 발생 시 단순한 "에러 발생" 문구보다는 "일시적인 오류입니다. [다시 시도하기]" 버튼을 제공하여 사용자 경험 단절을 최소화한다.
+
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 모든 곳에 에러 바운더리를 칠 필요는 없다. 데이터와 UI가 1:1로 매칭되는 구조라면 차라리 상위에서 에러를 처리하는 것이 논리적으로 명확할 수 있다.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[System_Debugging_Protocol]] , [[React_Testing_Strategy]]
+- Foundation: [[System_Protocol_Standard]]
diff --git a/Styling_Governance.md b/Styling_Governance.md
index 2e13b6bb..4d7e38ec 100644
--- a/Styling_Governance.md
+++ b/Styling_Governance.md
@@ -5,15 +5,23 @@ tags: [Styling, Tailwind, CSS-in-JS, Design System, Responsive]
created: 2026-04-20
---
-# 스타일 거버넌스 및 디자인 시스템
+# [[Styling_Governance]] (스타일 매니지먼트)
-## 🎨 스타일 전략
-- **Design Tokens**: 색상, 여백, 폰트를 변수화하여 유지보수성 확보.
-- **Tailwind CSS**: 유틸리티 우선 방식으로 개발 속도 극대화.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 디자인은 '예쁜 픽셀'이 아니라 '일관된 약속'이다. 단 하나의 변수가 바뀌었을 때 전체 앱의 조화가 유지되는 구조가 진짜 디자인 시스템이다.
-## 📱 반응형 설계
-Mobile First 원칙을 준수하여 상향식 미디어 쿼리 적용.
+## 📖 구조화된 지식 (Synthesized Content)
+- **Design Tokens (디자인 토큰)**:
+ - 색상(#FF0000 -> `brand-primary`), 여백(16px -> `spacing-md`)을 추상화된 이름으로 정의하라. 그래야 브랜드 리뉴얼 시 코드 한 줄로 대응 가능하다.
+- **Utility-First vs Runtime Style**:
+ - **Tailwind CSS**: 클래스명으로 스타일을 정의하여 런타임 오버헤드가 없고 개발 속도가 압도적이다.
+ - **Styled-components**: 컴포넌트 중심의 의미론적 스타일링과 동적 Props 처리에 강점이 있다.
+- **Mobile First Responsive**:
+ - 작은 화면부터 디자인을 시작하여 넓은 화면으로 확장하라. 이것이 CSS 코드를 30% 이상 줄이는 지름길이다.
-## 🔗 연결된 지식
-- [[Component_Design_Patterns]]
-- [[Accessibility_Inclusivity]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- 과도한 '공통 컴포넌트'화는 오히려 독이 될 수 있다. 버튼 하나에 옵션이 20개가 달리는 순간, 그 버튼은 유지보수의 재앙이 된다. 적절한 '복제'와 '분리'의 균형을 유지하라.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[Component_Design_Patterns]] , [[Accessibility_Inclusivity]]
+- Best Practice: [[React_Clean_Code_Best_Practices]]
diff --git a/TypeScript_Type_Safety.md b/TypeScript_Type_Safety.md
index 2ba4f7ee..6fc052aa 100644
--- a/TypeScript_Type_Safety.md
+++ b/TypeScript_Type_Safety.md
@@ -5,16 +5,22 @@ tags: [TypeScript, Interface, Type Safety, Generic]
created: 2026-04-20
---
-# 타입스크립트 기반의 안정적 개발
+# [[TypeScript_Type_Safety]] (타입스크립트 정석)
-## 💎 핵심 장점
-- 컴파일 단계의 에러 포착으로 사후 버그 90% 이상 예방.
-- 코드 자체가 문서가 되는 자동 명세 효과.
+## 📌 한 줄 통찰 (The Karpathy Summary)
+> 타입스크립트는 당신을 귀찮게 하는 '잔소리꾼'이 아니라, 런타임 에러라는 '낭떠러지' 앞에서 당신을 붙잡아주는 '생명줄'이다.
-## 🛠️ 고급 문법
-- **Generic**: 재사용성 높은 타입 설계.
-- **Narrowing**: 런타임 타입 검사 및 좁히기를 통한 안전한 데이터 처리.
+## 📖 구조화된 지식 (Synthesized Content)
+- **Non-Nullable & Narrowing**:
+ - 데이터가 `null`이거나 `undefined`일 수 있음을 코드 수준에서 강제로 인지시켜, 런타임에서 발생하는 'TypeError'를 90% 이상 사전 차단한다.
+- **Generics (추상화의 끝판왕)**:
+ - 데이터의 구체적인 타입은 나중에 정하지만, 그 구조의 일관성은 유지하고 싶을 때 사용한다. 재사용 가능한 고기능 컴포넌트 제작의 필수 요건이다.
+- **Interface & Alias**:
+ - 시스템 전체에 흐르는 데이터의 '형태(Shape)'를 정의하라. 타입 정의만 잘 되어 있어도 코드는 스스로를 설명하는 훌륭한 문서가 된다.
-## 🔗 연결된 지식
-- [[React_Clean_Code_Best_Practices]]
-- [[React_Hooks_Deep_Dive]]
+## ⚠️ 모순 및 업데이트 (RL Update)
+- `any`를 남발하는 순간 타입스크립트의 모든 이점은 사라진다. 차라리 `unknown`을 쓰고 타입을 좁히는(Narrowing) 방식을 택하라. 타입 정의에 너무 많은 시간을 뺏기는 '타입 헬(Type Hell)'을 경계하고 적절한 타협점을 찾아라.
+
+## 🔗 지식 연결 (Graph)
+- Related: [[React_Clean_Code_Best_Practices]] , [[React_Hooks_Deep_Dive]]
+- Foundation: [[System_Protocol_Standard]]