Organizer 정리 산출물(From_RawData) + 이사 체크리스트 + 인덱스 갱신

- Raw_Data 자동 정리 산출물이 각 도메인 From_RawData/ 로 편입, 00_INDEX 연결 갱신
- 컴퓨터_이사_체크리스트.md 추가 (두뇌-상대 경로 규약 v2.2.304 — 새 컴퓨터에서
  바꿀 절대 경로는 localBrainPath 1개)
- Astra 세션 산출물(에피소드 기억·기능 인벤토리) 갱신

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Antigravity Agent
2026-07-11 21:03:00 +09:00
parent 468322768c
commit 2cc6eff2dd
162 changed files with 15836 additions and 14 deletions
@@ -0,0 +1,90 @@
---
id: stack-overflow
title: "Stack Overflow"
category: "Architecture"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["스택 오버플로우", "Stack Overflow Error", "스택 초과", "Call Stack Overflow"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.90
created_at: 2026-07-11
updated_at: 2026-07-11
review_reason: ""
merge_history: []
tags: ["research", "context 이해 규칙"]
raw_sources: ["JavaScript Execution Context How JS Works Behind the Scenes - freeCodeCamp"]
applied_in: []
github_commit: ""
---
# [[Stack Overflow]]
## 🎯 한 줄 통찰 (One-line insight)
스택 오버플로우(Stack Overflow)는 시스템이나 브라우저에 할당된 콜 스택(Call Stack)의 고정된 크기 한도를 초과하여 실행 컨텍스트(Execution Context)가 무한히 적재될 때 발생하는 치명적인 메모리 초과 에러이다.
## 🧠 핵심 개념 (Core concepts)
- **콜 스택 (Call Stack):** 자바스크립트 엔진이 전역 및 함수 실행 컨텍스트의 흐름을 추적하기 위해 사용하는 런타임 스택 구조.
- **실행 컨텍스트 (Execution Context):** 스크립트 코드의 변환 및 실행을 처리하는 환경으로, 함수 호출 시 스택에 적재되는 단위.
- **고정된 스택 크기 (Fixed Stack Size):** 시스템 및 브라우저 환경에 따라 종속적으로 결정되는 콜 스택의 물리적 한계용량.
- **기저 조건 없는 재귀 (Recursion without base condition):** 종료 시점 없이 함수가 자신을 계속 호출하여 스택 오버플로우를 유발하는 주된 원인.
## 🧩 추출된 패턴 (Extracted patterns)
- **컨텍스트 누적 패턴:** 함수가 호출되면 해당 실행 컨텍스트가 콜 스택 최상단에 푸시(Push)되고 완료 시 팝(Pop)되어야 하나, 특정 이유(예: 무한 재귀)로 완료되지 못하고 계속 푸시만 발생하면 시스템의 한계치에 도달해 에러를 뱉어낸다.
## 📖 세부 내용 (Details)
- 자바스크립트 엔진은 전역(Global) 및 함수(Function) 컨텍스트를 포함한 모든 실행 컨텍스트의 궤적을 추적하기 위해 콜 스택(Call Stack)을 사용한다 [S1]. (콜 스택은 'Execution Context Stack', 'Runtime Stack', 'Machine Stack' 등으로도 불린다 [S1].)
- 함수가 호출될 때마다 새로운 함수 실행 컨텍스트가 생성되어 콜 스택의 최상단에 푸시(push)되며, 함수 내부의 실행이 모두 완료되면 콜 스택에서 제거(pop)된다 [S1].
- 콜 스택은 실행되는 시스템이나 브라우저에 따라 고유의 고정된 크기(fixed size)를 가진다 [S1].
- 만약 콜 스택에 적재되는 실행 컨텍스트의 수가 이 고정된 제한을 초과하게 되면, '스택 오버플로우(Stack overflow)' 에러가 발생하게 된다 [S1].
- 이러한 스택 초과 현상은 주로 함수 실행이 종료되는 기저 조건(base condition)이 없는 재귀 함수(recursive function)를 실행할 때 발생한다 [S1].
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스 내에서 확인되지 않음.
## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다.
## 💻 코드 패턴 (Code patterns)
소스에 코드 예시 없음.
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** A
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 관련 문서 링크 (Related document links)
### 상위/유사 개념
- [[Call Stack]] — 실행 컨텍스트가 쌓이고 관리되는 물리/논리적 자료 구조 공간.
- [[Execution Context]] — 콜 스택에 적재되며 스택 오버플로우 에러를 일으키는 실질적인 메모리 객체.
- [[Recursion]] — 기저 조건 부재 시 스택 오버플로우를 직접적으로 유발하는 함수 호출 패턴.
### 심층 후속 질문 (Deeper Research Questions)
- 브라우저나 운영체제별로 콜 스택의 고정된 크기(Fixed Size)는 구체적으로 어떻게 결정되며 어떤 차이가 있는가?
- 스택 오버플로우를 방지하기 위해 꼬리 재귀 최적화(Tail Call Optimization)가 어떻게 실행 컨텍스트 스택의 낭비를 막는가?
- 자바스크립트의 비동기 처리(이벤트 루프) 과정은 콜 스택 오버플로우 문제와 어떻게 연관되거나 이를 회피하는가?
### 실무 적용 맥락 (Practical Application Contexts)
- **Implementation:** 재귀 함수 구현 시 무한 루프를 방지하기 위한 명확한 기저 조건(base condition) 설계.
- **System Design:** 애플리케이션의 Call Stack 한계를 고려한 메모리 안전적 아키텍처 설계.
- **Operation / Maintenance:** 런타임 환경에서 발생하는 `Maximum call stack size exceeded` 에러 원인 추적 및 디버깅.
- **Learning Path:** 자바스크립트 엔진의 동작 원리(Execution Context, Call Stack) 및 런타임 에러 메커니즘 학습.
### 인접 주변 주제 (Adjacent Topics)
- [[Memory Management]] — 런타임 시스템에서의 안정적인 메모리 할당 및 가비지 컬렉션(GC) 구조.
- [[Event Loop]] — 콜 스택과 태스크 큐 간의 비동기 실행 제어 메커니즘.
## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[context 이해 규칙]]
- **관련 개념:** [[Call Stack]], [[Execution Context]]
- **참조 맥락:** 실행 컨텍스트의 생명주기와 콜 스택 관리의 물리적 한계를 이해하고 메모리 누수나 무한 재귀 에러를 방지하는 설계 지표로 참조됨.
## 📚 출처 (Sources)
- [S1] JavaScript Execution Context How JS Works Behind the Scenes - freeCodeCamp
## 📝 변경 이력 (Change history)
- 2026-07-11: Initial draft generated via Datacollector_MAC P-Reinforce engine.