docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를 Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류. - 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로 자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거, 동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거. - 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming, Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business, Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로, 나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는 title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백). 원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지. - 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서. - 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는 지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지. - Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경. - 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
---
|
||||
id: wiki-2026-0508-support-insulated
|
||||
title: Support Insulated
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [Combined Arms Support, Insulated Support, Force Protection Support]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.85
|
||||
verification_status: applied
|
||||
tags: [military-strategy, combined-arms, game-balance, systems-design]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: conceptual
|
||||
framework: combined-arms
|
||||
---
|
||||
|
||||
# Support Insulated
|
||||
|
||||
## 매 한 줄
|
||||
> **"매 support unit 의 frontline 의 noise로부터 insulate — clean line of fire/sight 의 보장"**. 매 combined arms doctrine + game design balance 에서 등장하는 concept. 매 artillery·healer·sniper·ranger 같은 high-impact-but-fragile unit 의 enabler 의 지원 (tank, screen, terrain) 으로 protected 의 핵심 principle.
|
||||
|
||||
## 매 핵심
|
||||
|
||||
### 매 origin: combined arms
|
||||
- **Frontline (DPS/Tank)**: 매 melee 충돌 의 absorb.
|
||||
- **Support (insulated)**: 매 backline 에서 force multiplier 의 제공.
|
||||
- **Insulation 의 mechanism**: physical screening (tank line), terrain (hill, choke), CC (crowd control), stealth.
|
||||
|
||||
### 매 game design 측면
|
||||
- **MOBA**: ADC 가 frontline tank/initiator 의 뒤에서 DPS 의 출력 — 매 insulation 의 fail = team loss.
|
||||
- **RTS**: artillery 가 infantry screen 의 뒤에서 siege — 매 insulation 의 break = 즉사.
|
||||
- **MMO raid**: healer 가 tank·DPS 의 wall 뒤 — 매 add 의 healer 도달 = wipe.
|
||||
- **Tactical (XCOM-like)**: sniper high-ground + overwatch — 매 flank 의 expose = death.
|
||||
|
||||
### 매 system design analogy
|
||||
- **Microservice**: critical service (payment) 의 rate-limit·circuit-breaker 의 뒤 insulate.
|
||||
- **Database**: primary 의 read replica + connection pool 의 buffer 로 insulate.
|
||||
- **AI inference**: GPU 의 queue·batcher 의 spike 로부터 insulate.
|
||||
|
||||
### 매 응용
|
||||
1. **Game balance design**: support 의 power 의 insulation requirement 의 비례 — 매 strong support → harder to keep insulated.
|
||||
2. **Military logistics**: forward operating base 의 layered defense (perimeter + QRF).
|
||||
3. **System architecture**: critical path service 의 bulkhead pattern.
|
||||
|
||||
## 💻 패턴
|
||||
|
||||
### 1. Bulkhead pattern (system insulation)
|
||||
```python
|
||||
import asyncio
|
||||
|
||||
class Bulkhead:
|
||||
def __init__(self, max_concurrent: int):
|
||||
self.sem = asyncio.Semaphore(max_concurrent)
|
||||
|
||||
async def call(self, func, *args, **kwargs):
|
||||
async with self.sem:
|
||||
return await func(*args, **kwargs)
|
||||
|
||||
# critical service 의 own bulkhead — noisy neighbor 의 isolate
|
||||
payment_bh = Bulkhead(max_concurrent=10)
|
||||
search_bh = Bulkhead(max_concurrent=50)
|
||||
```
|
||||
|
||||
### 2. Circuit breaker (insulation from cascading failure)
|
||||
```python
|
||||
import time
|
||||
from enum import Enum
|
||||
|
||||
class State(Enum):
|
||||
CLOSED = 1
|
||||
OPEN = 2
|
||||
HALF_OPEN = 3
|
||||
|
||||
class CircuitBreaker:
|
||||
def __init__(self, threshold=5, timeout=30):
|
||||
self.failures = 0
|
||||
self.threshold = threshold
|
||||
self.timeout = timeout
|
||||
self.state = State.CLOSED
|
||||
self.opened_at = 0
|
||||
|
||||
def call(self, func, *args):
|
||||
if self.state == State.OPEN:
|
||||
if time.time() - self.opened_at > self.timeout:
|
||||
self.state = State.HALF_OPEN
|
||||
else:
|
||||
raise RuntimeError("circuit open")
|
||||
try:
|
||||
result = func(*args)
|
||||
self.failures = 0
|
||||
self.state = State.CLOSED
|
||||
return result
|
||||
except Exception:
|
||||
self.failures += 1
|
||||
if self.failures >= self.threshold:
|
||||
self.state = State.OPEN
|
||||
self.opened_at = time.time()
|
||||
raise
|
||||
```
|
||||
|
||||
### 3. Game support unit balance (config)
|
||||
```yaml
|
||||
units:
|
||||
artillery:
|
||||
damage: 200
|
||||
range: 800
|
||||
hp: 60 # fragile — needs insulation
|
||||
insulation_requirement: high
|
||||
counters: [flanker, assassin]
|
||||
|
||||
tank:
|
||||
damage: 30
|
||||
range: 50
|
||||
hp: 600 # insulator
|
||||
role: screen
|
||||
|
||||
healer:
|
||||
heal_per_sec: 80
|
||||
hp: 80
|
||||
insulation_requirement: critical
|
||||
line_of_sight_required: true
|
||||
```
|
||||
|
||||
### 4. Threat model (insulation breach detection)
|
||||
```python
|
||||
def insulation_breach(support_unit, enemies):
|
||||
"""Returns True if any enemy has clear path to support."""
|
||||
for enemy in enemies:
|
||||
path = a_star(enemy.pos, support_unit.pos, blockers=allied_tanks)
|
||||
if path and path.length < enemy.move_range + enemy.attack_range:
|
||||
return True
|
||||
return False
|
||||
```
|
||||
|
||||
### 5. Layered defense (FOB pattern)
|
||||
```
|
||||
[ outer perimeter: sensors + mines ]
|
||||
|
|
||||
[ middle: infantry + AT ]
|
||||
|
|
||||
[ inner: command + logistics ]
|
||||
|
|
||||
[ core: support assets — artillery, comm, medical ]
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| Support 의 high power | insulation requirement 의 proportional 의 raise |
|
||||
| Insulation 의 break easy | support 의 buff or move backward |
|
||||
| System critical path | bulkhead + circuit breaker + retry budget |
|
||||
| Frontline 의 collapse | support 의 retreat option (mobility) 의 보장 |
|
||||
|
||||
**기본값**: support unit 의 power × fragility × insulation requirement 의 triangle 의 balance 의 유지.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Combined Arms (제병협동) 전술|Combined-Arms]] · [[게임 밸런싱|Game-Balance]]
|
||||
- 변형: [[Synergy]]
|
||||
- 응용: [[Circuit-Breaker]]
|
||||
- Adjacent: [[Layered-Architecture]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: balance 의 playtest scenario 의 generate, system architecture 의 review (insulation gap 찾기).
|
||||
**언제 X**: real-time game decision (latency), military doctrine (LLM 의 specificity 의 부족).
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Support 의 power up without insulation cost**: 매 game balance 의 break.
|
||||
- **Insulation 의 single layer**: 매 one penetration → total collapse.
|
||||
- **System critical path 의 bulkhead 의 부재**: 매 noisy neighbor → cascading failure.
|
||||
- **Support mobility 의 무시**: 매 retreat option 의 없 = trapped.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (combined arms doctrine, FM 3-0, Riot Games balance philosophy, Netflix Hystrix patterns).
|
||||
- 신뢰도 A-.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — combined-arms support insulation + system bulkhead analogy |
|
||||
Reference in New Issue
Block a user