--- id: P-REINFORCE-AUTO-D95ED1 category: "[[10_Wiki/πŸ’‘ Topics/Programming & Language]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Parse dont validate" --- # [[Parse dont validate]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > 'Parse, don't validate(κ²€μ¦ν•˜μ§€ 말고 νŒŒμ‹±ν•˜λΌ)'λŠ” ν”„λ‘œκ·Έλž¨μ˜ κ²½κ³„μ—μ„œ νƒ€μž…μ΄ μ—†κ±°λ‚˜ λŠμŠ¨ν•œ 데이터λ₯Ό 잘 μ •μ˜λœ νƒ€μž…μ˜ λ°μ΄ν„°λ‘œ λ³€ν™˜ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ 섀계 μ² ν•™μž…λ‹ˆλ‹€[1]. μ½”λ“œ μ „λ°˜μ— 걸쳐 λ°μ΄ν„°μ˜ μœ νš¨μ„±μ„ 반볡적으둜 κ²€μ‚¬ν•˜λŠ” λŒ€μ‹ , μ‹œμŠ€ν…œ μ§„μž…μ μ—μ„œ 단 ν•œ 번 νŒŒμ‹±ν•˜μ—¬ μ•ˆμ „ν•œ νƒ€μž…μœΌλ‘œ λ§Œλ“­λ‹ˆλ‹€[1]. 이λ₯Ό 톡해 μœ νš¨μ„± 검사 둜직의 νŒŒνŽΈν™”λ₯Ό 막고 νƒ€μž… κ²€μ‚¬κΈ°μ˜ 정적 뢄석 λŠ₯λ ₯을 κ·ΉλŒ€ν™”ν•˜μ—¬ μ½”λ“œμ˜ 예츑 κ°€λŠ₯μ„±κ³Ό μ•ˆμ •μ„±μ„ λ†’μž…λ‹ˆλ‹€[2, 3]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **κΈ°λ³Έ 원칙 및 νŒŒμ‹± 흐름**: Alexis King의 동λͺ… 아티클을 톡해 널리 μ•Œλ €μ§„ 이 κ°œλ…μ€ μ‹œμŠ€ν…œμ˜ 경계(μž…κ΅¬ 및 좜ꡬ)μ—μ„œ μž…λ ₯ 데이터λ₯Ό ν•œ 번 νŒŒμ‹±ν•˜λŠ” 것을 ν•΅μ‹¬μœΌλ‘œ ν•©λ‹ˆλ‹€[1, 2]. 이 νŒŒμ‹± λ‹¨κ³„μ—μ„œ λ°μ΄ν„°μ˜ μœ νš¨μ„± 검사와 λ³€ν™˜μ΄ λ™μ‹œμ— 이루어지며, μ΄ν›„μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ νλ¦„μ—μ„œλŠ” μ™„μ „νžˆ νƒ€μž…μ΄ μ§€μ •λ˜κ³  κ²€μ¦λœ λ°μ΄ν„°λ§Œμ„ μ‚¬μš©ν•˜κ²Œ λ©λ‹ˆλ‹€[1]. - **μˆ˜λΉ„μ  ν”„λ‘œκ·Έλž˜λ°(Defensive Programming)의 정점**: λ‹¨μˆœνžˆ λ°μ΄ν„°μ˜ μœ νš¨μ„± μ—¬λΆ€λ§Œ 확인(Validate)ν•˜κ³  λλ‚΄λŠ” 것이 μ•„λ‹ˆλΌ, 데이터λ₯Ό 더 ꡬ체적이고 μ‹ λ’°ν•  수 μžˆλŠ” νƒ€μž…μ˜ 객체둜 λ³€ν™˜(Parse)ν•˜μ—¬ μ‹œμŠ€ν…œ λ‚΄λΆ€λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€[3]. μ΄λŠ” μ˜λ„ν•˜μ§€ μ•Šμ€ λΆˆν™•μ‹€ν•œ λ°μ΄ν„°μ˜ μœ μž…μ„ μ›μ²œμ μœΌλ‘œ μ°¨λ‹¨ν•˜λŠ” κ²¬κ³ ν•œ μ•„ν‚€ν…μ²˜μ  방어막 역할을 ν•©λ‹ˆλ‹€[3]. - **μ œμ–΄ 흐름(Control flow)κ³Ό 개발자 κ²½ν—˜ ν–₯상**: μœ νš¨μ„± 검사 λ‘œμ§μ„ μ‹œμŠ€ν…œ κ²½κ³„μ—λ§Œ λ°°μΉ˜ν•¨μœΌλ‘œμ¨, λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 곳곳에 검증 μ½”λ“œκ°€ μ–΄μ§€λŸ½κ²Œ ν©μ–΄μ§€λŠ” 것을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€[2]. 결과적으둜 νƒ€μž… μ‹œμŠ€ν…œμ˜ 정적 뢄석에 무거운 μž‘μ—…μ„ μœ„μž„ν•˜μ—¬ 개발자의 μ‹ λ’°λ₯Ό 높이고, 관리해야 ν•  μ½”λ“œμ˜ μ–‘(Code volume)κ³Ό λ³΅μž‘λ„λ₯Ό μ€„μ΄λŠ” 데 크게 κΈ°μ—¬ν•©λ‹ˆλ‹€[2, 4]. - **κ΅¬ν˜„ 방법 및 μƒνƒœκ³„ 도ꡬ**: 이 철학을 μ‹€ν˜„ν•˜κΈ° μœ„ν•΄ Zod와 같은 λŸ°νƒ€μž„ μœ νš¨μ„± 검사/νŒŒμ‹± λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 자주 ν™œμš©λ©λ‹ˆλ‹€[3, 5]. κ΅¬μ²΄μ μœΌλ‘œλŠ” Zod 등을 톡해 μ•Œ 수 μ—†λŠ”(Unknown) 데이터λ₯Ό 잘 μ•Œλ €μ§„ νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•˜λ©°, λŸ°νƒ€μž„ 데이터에 [[Branded Types]]λ₯Ό λΆ€μ—¬ν•˜μ—¬ μ‹œμŠ€ν…œ λ‚΄λΆ€λ‘œ μ „λ‹¬ν•˜λŠ” 것이 이 철학을 μ™„λ²½νžˆ μ‹€ν˜„ν•˜λŠ” ꡬ체적 λ°©λ²•λ‘ μž…λ‹ˆλ‹€[3, 5]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Branded Types]], [[Zod]], [[Defensive Programming]], [[Static Analysis]], [[Structural Typing]] - **Projects/Contexts:** [[API Boundary Handling]], [[State Management]] - **Contradictions/Notes:** μ†ŒμŠ€ λ‚΄μ—μ„œ 이 철학에 λŒ€ν•œ μƒλ°˜λœ μ£Όμž₯μ΄λ‚˜ λͺ¨μˆœμ€ λ°œκ²¬λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 였히렀 μƒνƒœ 관리(State management) λ¬Έμ œλ‚˜ λ³΅μž‘μ„± 증가λ₯Ό μ™„ν™”ν•˜λŠ” TypeScript의 핡심 λͺ¨λ²” 사둀 쀑 ν•˜λ‚˜λ‘œ κ°•λ ₯히 ꢌμž₯λ©λ‹ˆλ‹€[1, 6]. --- *Last updated: 2026-04-18* - Raw Source: [[00_Raw/2026-04-20/Parse, don't validate.md]] ---