--- id: wiki-2026-0508-effect-ts title: Effect TS category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AUTO-C7A07F] duplicate_of: none source_trust_level: A confidence_score: 0.9 tags: [auto-reinforced] raw_sources: [] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Effect TS" inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Effect TS]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Effect TS๋Š” ํƒ€์ž…์ด ํ’๋ถ€ํ•œ(type-rich) TypeScript ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค [1]. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ฃผ๋กœ ๊ตฌ์กฐ์ ์œผ๋กœ ๋™์ผํ•ด ๋ณด์ด๋Š” ํƒ€์ž…๋“ค์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž…(Branded Types) ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [1, 2]. ๋˜ํ•œ, ์˜ˆ์ƒ๋˜๋Š” ์—๋Ÿฌ์™€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์—๋Ÿฌ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ฑฐ๋‚˜ `_tag` ์†์„ฑ์„ ํ†ตํ•ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋“ฑ ํƒ€์ž… ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•œ ๋‹ค์–‘ํ•œ ํŒจํ„ด์˜ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [3, 4]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **๋ธŒ๋žœ๋””๋“œ ํƒ€์ž…(Branded Types) ๋„๊ตฌ ์ œ๊ณต**: Effect TS๋Š” TypeScript ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค [2]. ํƒ€์ž… ๋‚ด์—์„œ ๋ธŒ๋žœ๋“œ ์—ญํ• ์„ ํ•˜๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž…์ธ `Brand.Brand`์™€ ํƒ€์ž… ๋ธŒ๋žœ๋“œ ์‹๋ณ„ ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ œ๋„ค๋ฆญ ํ•จ์ˆ˜ `Brand.nominal`์„ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž…์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [1]. * **์ •๊ตํ•œ ํƒ€์ž… ๋ธŒ๋žœ๋“œ ๋‹จ์–ธ ํ•จ์ˆ˜(`Brand.refined`)**: Effect TS๋Š” ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด `Brand.refined`๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณ„๋„๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [1, 5]. ์ด ํ•จ์ˆ˜๋Š” ๊ฐ’์ด ์ œ์•ฝ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜์™€, ์ œ์•ฝ ์กฐ๊ฑด๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์—๋Ÿฌ๋ฅผ ๋˜์ง€๋Š” ํ•จ์ˆ˜๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•ˆ์ „ํ•œ ํƒ€์ž… ๋‹จ์–ธ(assertion)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค [5]. * **์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ปจ๋ฒค์…˜ ๋ชจ๋ธ๋ง**: Effect TS๋Š” ์‹œ์Šคํ…œ์˜ '์˜ˆ์ƒ๋˜๋Š” ์—๋Ÿฌ(Expected Errors)'์™€ '์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์—๋Ÿฌ(Defects)'๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜์  ์ ‘๊ทผ๋ฒ•์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค [3]. ์ด์™€ ๋”๋ถˆ์–ด ๋‚ด๋ถ€ ๋กœ์ง์ด๋‚˜ ๋””๋ฒ„๊น…, ๊ด€์ธก ๋„๊ตฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ์‘๋‹ต ๊ฐ์ฒด์™€ ์‹œ๊ฐ์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด `_tag`์™€ ๊ฐ™์€ ์†์„ฑ(๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)์„ ์‚ฌ์šฉํ•˜๋Š” ํ›Œ๋ฅญํ•œ ์ปจ๋ฒค์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [4, 6]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** Branded Types, TypeScript - **Projects/Contexts:** Type-rich TypeScript Applications - **Contradictions/Notes:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-04-18* --- ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*