--- id: wiki-2026-0508-ts-brand title: ts brand category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AUTO-7A0150] 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 - ts-brand" inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[ts-brand]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > `ts-brand`๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(TypeScript)์—์„œ ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž…(Branded Types, ๋ถˆํˆฌ๋ช… ํƒ€์ž…)์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค [1, 2]. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํƒ€์ž… ๋ธŒ๋žœ๋“œ ๊ตฌ์„ฑ์„ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ตฌ์กฐ์ ์œผ๋กœ ๋™์ผํ•˜์ง€๋งŒ ์˜๋ฏธ๊ฐ€ ๋‹ค๋ฅธ ํƒ€์ž…๋“ค์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [2]. ์ œ๋„ค๋ฆญ `Brand` ํƒ€์ž…์„ ๋‚ด๋ณด๋‚ด์–ด ๋ธŒ๋žœ๋”ฉ์„ ์œ„ํ•œ ๋ณด๋‹ค ๊ณ ๊ธ‰ํ™”๋œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค [1, 2]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **๋ธŒ๋žœ๋””๋“œ ํƒ€์ž… ์ƒ์„ฑ ์ง€์›:** ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์  ํƒ€์ดํ•‘([[Structural Typing]]) ํ™˜๊ฒฝ์—์„œ๋Š” ๊ตฌ์กฐ๊ฐ€ ๊ฐ™์€ ํƒ€์ž…(์˜ˆ: ์ผ๋ฐ˜ `string`๊ณผ `string` ๊ธฐ๋ฐ˜์˜ ID)์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. `ts-brand`๋Š” `Brand`๋ผ๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž…์„ ๋‚ด๋ณด๋‚ด์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ๋ช…๋ช…๋œ(nominal) ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž…์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค [2]. * **๊ณ ๊ธ‰ ๋ธŒ๋žœ๋”ฉ ๊ธฐ๋Šฅ ๋ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ:** ๋‹ค๋ฅธ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(์˜ˆ: `utility-types`, `ts-toolbelt`, `ts-essentials`)๋“ค๋„ ํ—ฌํผ ์ œ๋„ค๋ฆญ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, `ts-brand`๋Š” ๋ธŒ๋žœ๋”ฉ์„ ์œ„ํ•œ ๋”์šฑ ์ง„๋ณด๋œ ๊ธฐ๋Šฅ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [1]. ์˜ˆ๋ฅผ ๋“ค์–ด, `make`์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํƒ€์ž… ๋ธŒ๋žœ๋“œ ์–ด์„œ์…˜(assertion) ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [3]. * **์ƒํƒœ๊ณ„ ๋‚ด์˜ ์œ„์น˜:** ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž…์„ ๋‚ด์žฅ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ด ํŒจํ„ด์„ ๋„์ž…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์€ `ts-brand`๋‚˜ `[[Effect TS]]`์™€ ๊ฐ™์€ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฃผ๋กœ ํ™œ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [2, 4]. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ๋ณต์žกํ•œ ํƒ€์ž… ์„ค์ • ์ฝ”๋“œ๋ฅผ ๊ณต์œ  ํŒจํ‚ค์ง€ ํ˜•ํƒœ๋กœ ๋‹จ์ˆœํ™”ํ•ด ์ค๋‹ˆ๋‹ค [2]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** Branded Types, Opaque Types, [[Structural Typing]], [[Effect TS]] - **Projects/Contexts:** TypeScript Comm[[Unity]] Libraries, Type Safety [[Optimization]] - **Contradictions/Notes:** `ts-brand`๋ฅผ ํ™œ์šฉํ•œ ๋ธŒ๋žœ๋””๋“œ ํƒ€์ž… ํŒจํ„ด์€ ํ”„๋กœ๊ทธ๋žจ์˜ ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ๋†’์—ฌ์ฃผ์ง€๋งŒ, ๋™์‹œ์— ์ฝ”๋“œ์˜ ๊ฐœ๋…์  ๋ณต์žก์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค [5, 6]. ๋”ฐ๋ผ์„œ ๋‹จ์ˆœํ•œ ์œ ๋‹ˆ์–ธ(Union), ์—ด๊ฑฐํ˜•(Enum) ๋“ฑ ๋œ ๋ณต์žกํ•œ ๋Œ€์•ˆ์œผ๋กœ๋„ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋„์ž… ์ „ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„(trade-off)๋ฅผ ์‹ ์ค‘ํžˆ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [5-7]. --- *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: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*