[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-04-30 22:42:02 +09:00
parent 0bd4f19e38
commit c36c0644a1
4888 changed files with 18470 additions and 18602 deletions
@@ -1,13 +1,13 @@
---
id: P-REINFORCE-AUTO-1F695C
id: [[P-Reinforce]]-AUTO-1F695C
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - 재귀적 불변성 (DeepReadonly)"
github_commit: "[P-Reinforce] Continuous Worker - 재귀적 불변성 ([[DeepReadonly]])"
---
# [[재귀적 불변성 (DeepReadonly)]]
# [[재귀적 불변성 (Deep[[readonly]])]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> 재귀적 불변성(DeepReadonly)은 TypeScript에서 최상위 속성뿐만 아니라 중첩된 내부 객체까지 모두 불변(immutable) 상태로 만드는 커스텀 유틸리티 타입 기법입니다 [1-3]. 내장 `Readonly<T>` 타입이나 `readonly` 수식어가 제공하는 얕은(shallow) 수준의 보호 한계를 극복하기 위해 매핑 타입과 조건부 타입을 결합하여 구현합니다 [1, 3-5]. 전체 데이터 구조의 변경을 방지하여 트리 구조나 복잡한 중첩 데이터를 다루는 상태 관리 및 설정 객체 등에서 데이터 무결성을 보장하는 강력한 방어책 역할을 합니다 [1, 3].
@@ -24,7 +24,7 @@ github_commit: "[P-Reinforce] Continuous Worker - 재귀적 불변성 (DeepReado
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[Readonly]], 매핑 타입 (Mapped Types), 조건부 타입 (Conditional Types), 유틸리티 타입 (Utility Types)
- **Projects/Contexts:** ts-essentials, 프론트엔드 상태 관리 (State Management), 설정 객체 (Configuration objects)
- **Projects/Contexts:** ts-essentials, 프론트엔드 상태 관리 ([[State]] [[Management]]), 설정 객체 (Configuration objects)
- **Contradictions/Notes:** `Readonly<T>`는 기본 제공되나 `DeepReadonly`는 TypeScript에 내장되어 있지 않다는 점이 특징입니다 [6]. 또한 런타임에 성능 오버헤드를 일으키는 `Object.freeze()`의 얕은 동결과 달리, 이 방식은 컴파일 타임에 타입 레벨에서만 불변성을 검사하고 강제하므로 훨씬 효율적입니다 [5].
---