--- id: wiki-2026-0508-vfunction title: vFunction category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [auto-wikified, technical-documentation] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # vFunction ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) vFunction은 λΆ„μ‚° μ•„ν‚€ν…μ²˜λ₯Ό λΆ„μ„ν•˜μ—¬ 라이브 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ•„ν‚€ν…μ²˜λ₯Ό μžλ™μœΌλ‘œ λ¬Έμ„œν™”ν•˜κ³  μ΅œμ‹ μ˜ μ‹œκ°ν™” 자료λ₯Ό μƒμ„±ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€ [1, 2]. 이상적인 섀계가 μ•„λ‹Œ μ‹€μ œ μ‹œμŠ€ν…œκ³Ό λŸ°νƒ€μž„ μƒν˜Έμž‘μš©μ„ λ°˜μ˜ν•˜μ—¬ ν΄λΌμš°λ“œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μ „ν›„λ‚˜ λͺ¨λ˜ν™” κ³Όμ •μ—μ„œ νŒ€μ΄ 정보에 μž…κ°ν•œ 결정을 내리도둝 λ•μŠ΅λ‹ˆλ‹€ [1]. OpenTelemetry와 C4 λͺ¨λΈμ„ κ²°ν•©ν•˜μ—¬ 라이브 μ•„ν‚€ν…μ²˜λ₯Ό μ‹œκ°ν™”ν•˜κ³ , μ˜λ„ν•œ 섀계와 μ‹€μ œ λŸ°νƒ€μž„ κ°„μ˜ ꡬ쑰적 괴리(Architectural drift)λ₯Ό μ§€μ†μ μœΌλ‘œ κ°μ§€ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€ [2, 3]. ## πŸ“– Core μ†ŒμŠ€ - **μ‹€μ‹œκ°„ μ•„ν‚€ν…μ²˜ λ¬Έμ„œν™” (Live Architecture Documentation):** vFunction은 정적이고 μ‰½κ²Œ ꡬ식이 λ˜λŠ” κΈ°μ‘΄ λ‹€μ΄μ–΄κ·Έλž¨μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ μ‹€μ œ μž‘λ™ 쀑인 μ‹œμŠ€ν…œμ˜ μƒνƒœλ₯Ό 기반으둜 μ‹€μ‹œκ°„ μƒν˜Έμž‘μš©μ„ ν¬μ°©ν•©λ‹ˆλ‹€ [1]. 이λ₯Ό 톡해 λ³΅μž‘ν•œ μ‹œμŠ€ν…œμ΄λ‚˜ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œ μˆ¨κ²¨μ§„ μ˜μ‘΄μ„±μ„ λ°œκ²¬ν•˜κ³  μ½”λ“œλ² μ΄μŠ€κ°€ 진화함에 따라 λ³΅μž‘μ„±μ„ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€ [1]. - **C4 λͺ¨λΈ 및 OpenTelemetry 톡합:** λΆ„μ‚° μ•„ν‚€ν…μ²˜λ₯Ό λΆ„μ„ν•˜κΈ° μœ„ν•΄ OpenTelemetryλ₯Ό ν™œμš©ν•˜λ©°, 라이브 μ•„ν‚€ν…μ²˜λ₯Ό C4 μ»¨ν…Œμ΄λ„ˆ λ‹€μ΄μ–΄κ·Έλž¨ ν˜•μ‹μœΌλ‘œ μΆ”μΆœ(Export)ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [2]. μ΄λŠ” PlantUMLκ³Ό 같은 도ꡬ와 κ²°ν•©ν•˜μ—¬ μ—”μ§€λ‹ˆμ–΄λ“€μ΄ μ½”λ“œλ² μ΄μŠ€μ˜ ꡬ쑰λ₯Ό 효과적으둜 κ°œλ…ν™”ν•˜κ³  μ†Œν†΅ν•  수 있게 ν•©λ‹ˆλ‹€ [2]. - **μ°Έμ‘° μ•„ν‚€ν…μ²˜μ™€μ˜ κ°­ 뢄석:** λ°˜λŒ€λ‘œ C4 μ»¨ν…Œμ΄λ„ˆ λ‹€μ΄μ–΄κ·Έλž¨μ„ μ°Έμ‘° μ•„ν‚€ν…μ²˜(Reference architecture)둜 κ°€μ Έμ˜€κΈ°(Import)ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€ [2]. vFunction은 뢄석 κΈ°λŠ₯을 λ°”νƒ•μœΌλ‘œ ν˜„μž¬μ˜ μ‹€μ œ μ•„ν‚€ν…μ²˜μ™€ λͺ©ν‘œ(To-be) μ•„ν‚€ν…μ²˜ κ°„μ˜ 차이λ₯Ό 쒁히기 μœ„ν•œ TODO ν•­λͺ©(μž‘μ—…)을 μƒμ„±ν•©λ‹ˆλ‹€ [2]. - **Architecture as Code 기반의 λ“œλ¦¬ν”„νŠΈ 감지:** 'Architecture as code' κΈ°λŠ₯을 톡해 μ‹€ν–‰ 쀑인 μ‹œμŠ€ν…œμ„ C4 μ°Έμ‘° λ‹€μ΄μ–΄κ·Έλž¨κ³Ό μΌμΉ˜μ‹œν‚€κ³ , κ΅¬ν˜„μ΄ 초기 μ„€κ³„μ—μ„œ λ²—μ–΄λ‚˜λŠ” μ•„ν‚€ν…μ²˜ λ“œλ¦¬ν”„νŠΈ(Architectural drift)λ₯Ό κ°μ§€ν•©λ‹ˆλ‹€ [3]. 이λ₯Ό 톡해 μ‹€μ‹œκ°„ 흐름이 μ˜λ„ν•œ 섀계와 μΌμΉ˜ν•˜λ„λ‘ 보μž₯ν•˜μ—¬ μ•„ν‚€ν…μ²˜μ˜ 무결성을 μœ μ§€ν•©λ‹ˆλ‹€ [3]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) μ†ŒμŠ€μ— vFunction 자체의 기술적 λΆ€μž‘μš©μ΄λ‚˜ ꡬ체적인 μ œμ•½ 사항에 λŒ€ν•œ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. λ‹€λ§Œ, λ³΅μž‘ν•œ μ‹œμŠ€ν…œ(특히 닀쀑 언어와 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λŠ” λΆ„μ‚° μ• ν”Œλ¦¬μΌ€μ΄μ…˜)의 μ½”λ“œλ₯Ό λ¦¬λ²„μŠ€ μ—”μ§€λ‹ˆμ–΄λ§ν•˜μ—¬ λ‹€μ΄μ–΄κ·Έλž¨μ„ μƒμ„±ν•˜λŠ” μž‘μ—…μ€ 본질적으둜 맀우 μ–΄λ ΅κ³  ν•΄μ„ν•˜κΈ° νž˜λ“  λ³΅μž‘ν•œ 결과물을 μ΄ˆλž˜ν•  수 μžˆλ‹€λŠ” 일반적인 ν•œκ³„κ°€ μ–ΈκΈ‰λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€ [4]. vFunction은 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ C4 λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ μ‹œκ°ν™”λ₯Ό λ‹¨μˆœν™”ν•˜κ³  λŸ°νƒ€μž„ 뢄석을 μˆ˜ν–‰ν•˜μ§€λ§Œ, 도ꡬ λ„μž… μ‹œ 초기 ν•™μŠ΅ κ³‘μ„ μ΄λ‚˜ μ‹€ν–‰ ν™˜κ²½(OpenTelemetry μ„€μ • λ“±)의 ꡬ성에 λ”°λ₯΄λŠ” λΉ„μš© 등에 λŒ€ν•΄μ„œλŠ” 제곡된 μ†ŒμŠ€μ—μ„œ λͺ…μ‹œν•˜κ³  μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€ [2, 4]. ## πŸ”— 지식 μ—°κ²° (Graph) ### Related Concepts #### [μ‹œκ°ν™” 및 μ•„ν‚€ν…μ²˜ λͺ¨λΈλ§] - [[C4 Model]] - μ—°κ²° 이유: vFunction이 μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜μ˜ μ»¨ν…μŠ€νŠΈ, μ»¨ν…Œμ΄λ„ˆ, μ»΄ν¬λ„ŒνŠΈ, μ½”λ“œλ₯Ό μ‹œκ°ν™”ν•˜κ³  내보내기/κ°€μ Έμ˜€κΈ°λ₯Ό μˆ˜ν–‰ν•˜λŠ” 핡심 ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€ [2]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ½”λ“œλ² μ΄μŠ€μ˜ 물리적 νŒŒμΌλ“€μ΄ μ–΄λ–»κ²Œ 논리적 μ»¨ν…Œμ΄λ„ˆλ‚˜ μ»΄ν¬λ„ŒνŠΈλ‘œ λ¬Άμ—¬ ν†΅μ‹ ν•˜λŠ”μ§€ νŒŒμ•…ν•˜λŠ” 'μ½”λ“œλ² μ΄μŠ€ 읽기 지식'의 좔상화 단계 체계λ₯Ό 이해할 수 μžˆμŠ΅λ‹ˆλ‹€. - [[PlantUML]] - μ—°κ²° 이유: vFunction이 C4 μ»¨ν…Œμ΄λ„ˆ λ‹€μ΄μ–΄κ·Έλž¨ ν˜•νƒœλ‘œ μΆ”μΆœν•œ 'Architecture as code'λ₯Ό μ‹œκ°ν™”ν•˜κΈ° μœ„ν•΄ ν•¨κ»˜ μ‚¬μš©λ˜λŠ” ν…μŠ€νŠΈ 기반 λ‹€μ΄μ–΄κ·Έλž¨ λ„κ΅¬μž…λ‹ˆλ‹€ [2, 3]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λ³΅μž‘ν•œ μ½”λ“œλ² μ΄μŠ€ ꡬ쑰λ₯Ό 선언적인 μ½”λ“œλ‘œ μž‘μ„±ν•˜κ³  λ Œλ”λ§ν•˜λŠ” 방식을 이해할 수 μžˆμŠ΅λ‹ˆλ‹€. #### [뢄석 및 기반 기술] - [[OpenTelemetry]] - μ—°κ²° 이유: vFunction이 λΆ„μ‚° μ•„ν‚€ν…μ²˜μ—μ„œ μ‹œμŠ€ν…œμ˜ 동적 μƒν˜Έμž‘μš©κ³Ό 흐름을 λΆ„μ„ν•˜κ³  μΆ”μ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λŸ°νƒ€μž„ ν…”λ ˆλ©”νŠΈλ¦¬ κΈ°μˆ μž…λ‹ˆλ‹€ [2]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λŒ€κ·œλͺ¨ μ½”λ“œλ² μ΄μŠ€μ—μ„œ 정적 λΆ„μ„λ§ŒμœΌλ‘œλŠ” μ•Œ 수 μ—†λŠ” λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ κ°„μ˜ μ‹€μ œ λŸ°νƒ€μž„ 호좜 흐름을 λ™μ μœΌλ‘œ μΆ”μ ν•˜λŠ” 원리λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. - [[Architectural Drift]] - μ—°κ²° 이유: μ‹œκ°„μ΄ 지남에 따라 μ‹€μ œ κ΅¬ν˜„ μ½”λ“œκ°€ 초기 섀계 μ˜λ„μ—μ„œ λ²—μ–΄λ‚˜λŠ” ν˜„μƒμœΌλ‘œ, vFunction이 이λ₯Ό κ°μ§€ν•˜κ³  ν•΄κ²°ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€ [3, 5]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 였래된 μ‹œμŠ€ν…œμ˜ μ½”λ“œλ₯Ό 읽을 λ•Œ λ¬Έμ„œμ™€ μ‹€μ œ μ½”λ“œκ°€ λΆˆμΌμΉ˜ν•˜λŠ” 근본적인 원인과 이λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ „λž΅μ„ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€. ### Deeper Research Questions - vFunction은 OpenTelemetry 데이터λ₯Ό 톡해 ꡬ체적으둜 μ–΄λ–€ λŸ°νƒ€μž„ λ©”νŠΈλ¦­μ„ μˆ˜μ§‘ν•˜μ—¬ 논리적인 C4 μ»¨ν…Œμ΄λ„ˆ λ‹€μ΄μ–΄κ·Έλž¨μ„ μΆ”λ‘ ν•΄ λ‚΄λŠ”κ°€? - 정적 뢄석과 vFunction의 동적 λŸ°νƒ€μž„ 뢄석을 κ²°ν•©ν•˜μ—¬ μ½”λ“œλ² μ΄μŠ€λ₯Ό 읽을 λ•Œ, 각각의 접근법이 λ°œκ²¬ν•  수 μžˆλŠ” κ²°ν•¨μ΄λ‚˜ μ˜μ‘΄μ„±μ˜ μ°¨μ΄λŠ” 무엇인가? - κ°€μ Έμ˜¨(Imported) C4 μ°Έμ‘° μ•„ν‚€ν…μ²˜μ™€ 라이브 μ‹œμŠ€ν…œ κ°„μ˜ 차이λ₯Ό μ‹λ³„ν•˜μ—¬ ꡬ체적인 TODO ν•­λͺ©μ„ μƒμ„±ν•˜λŠ” vFunction의 λ‚΄λΆ€ 뢄석 μ•Œκ³ λ¦¬μ¦˜μ€ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”κ°€? - λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œ vFunctionκ³Ό 같은 μ‹€μ‹œκ°„ μ•„ν‚€ν…μ²˜ λ¬Έμ„œν™” 도ꡬλ₯Ό λ„μž…ν•  λ•Œ λ°œμƒν•  수 μžˆλŠ” μ‹œμŠ€ν…œ μ„±λŠ₯ μ˜€λ²„ν—€λ“œλŠ” μ–΄λŠ 정도인가? - vFunction의 'Architecture as code'λ₯Ό 기쑴의 CI/CD νŒŒμ΄ν”„λΌμΈ 및 μ½”λ“œ 리뷰 ν”„λ‘œμ„ΈμŠ€(예: PR 생성 μ‹œ μ•„ν‚€ν…μ²˜ λ³€κ²½ 감지)에 μ–΄λ–»κ²Œ λ§€λ„λŸ½κ²Œ 톡합할 수 μžˆλŠ”κ°€? ### Practical Application Contexts - **Implementation:** OpenTelemetryλ₯Ό μ—°λ™ν•˜μ—¬ λ³΅μž‘ν•œ λΆ„μ‚° μ‹œμŠ€ν…œμ˜ μ‹€μ œ λŸ°νƒ€μž„ μ˜μ‘΄μ„±μ„ μΆ”μ ν•˜κ³ , 이λ₯Ό PlantUML ν˜Έν™˜ C4 μ»¨ν…Œμ΄λ„ˆ λ‹€μ΄μ–΄κ·Έλž¨μœΌλ‘œ μΆ”μΆœν•˜μ—¬ μ½”λ“œλ² μ΄μŠ€μ˜ 물리적 λ™μž‘μ„ μ‹œκ°μ  μ½”λ“œλ‘œ κ΅¬ν˜„ν•©λ‹ˆλ‹€ [2]. - **System Design:** κ°€μ Έμ˜¨(Imported) 이상적인 C4 μ°Έμ‘° λ‹€μ΄μ–΄κ·Έλž¨κ³Ό ν˜„μž¬ 운영 쀑인 μ‹œμŠ€ν…œμ˜ μ‹€μ œ μ•„ν‚€ν…μ²˜λ₯Ό λΉ„κ΅ν•˜μ—¬, λ¦¬νŒ©ν† λ§μ΄λ‚˜ ꡬ쑰 κ°œμ„ μ„ μœ„ν•œ 기술적 격차λ₯Ό νŒŒμ•…ν•˜κ³  κ³„νš(TODO)을 μˆ˜λ¦½ν•©λ‹ˆλ‹€ [2]. - **Operation / Maintenance:** 'Architecture as code' κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ μ‹œμŠ€ν…œμ„ μ§€μ†μ μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜κ³ , 개발 κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” μ•„ν‚€ν…μ²˜ λ“œλ¦¬ν”„νŠΈ(섀계와 κ΅¬ν˜„μ˜ 뢈일치)λ₯Ό 감지해 μ½”λ“œλ² μ΄μŠ€μ˜ ꡬ쑰적 λΆ€νŒ¨λ₯Ό λ°©μ§€ν•©λ‹ˆλ‹€ [3]. - **Learning Path:** λ°©λŒ€ν•œ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ‚˜ λ ˆκ±°μ‹œ μ‹œμŠ€ν…œμ— μƒˆλ‘œ ν•©λ₯˜ν•œ κ°œλ°œμžκ°€ μ½”λ“œλ₯Ό 읽을 λ•Œ, 정적인 μ†ŒμŠ€ μ½”λ“œκ°€ λŸ°νƒ€μž„μ— μ–΄λ–»κ²Œ μƒν˜Έμž‘μš©ν•˜λŠ”μ§€ μ‹€μ‹œκ°„ λ‹€μ΄μ–΄κ·Έλž¨μœΌλ‘œ νŒŒμ•…ν•¨μœΌλ‘œμ¨ μ‹œμŠ€ν…œμ˜ 전체 그림을 λΉ λ₯΄κ²Œ μŠ΅λ“ν•©λ‹ˆλ‹€ [1, 2]. - **My Project Relevance:** κ±°λŒ€ν•œ λͺ¨λ†€λ¦¬μ‹ μ‹œμŠ€ν…œμ„ ν΄λΌμš°λ“œ ν™˜κ²½μ΄λ‚˜ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ‘œ ν˜„λŒ€ν™”(Modernization)ν•˜λŠ” ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•  λ•Œ, μˆ¨κ²¨μ§„ μ˜μ‘΄μ„±μ„ λˆ„λ½ 없이 νŒŒμ•…ν•˜κ³  λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μ „ν›„μ˜ μ•„ν‚€ν…μ²˜ 무결성을 κ²€μ¦ν•˜λŠ” 데 μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1, 3]. ### Adjacent Topics - [[Microservices Architecture]] - ν™•μž₯ λ°©ν–₯: λͺ¨λ†€λ¦¬μ‹ κ΅¬μ‘°μ—μ„œ λΆ„μ‚°ν˜• λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ‘œ μ „ν™˜λ  λ•Œ μ½”λ“œλ² μ΄μŠ€μ˜ λ³΅μž‘μ„±κ³Ό μ»΄ν¬λ„ŒνŠΈ κ°„ 톡신이 μ–΄λ–»κ²Œ λ³€ν™”ν•˜λŠ”μ§€, 그리고 이λ₯Ό νŒŒμ•…ν•˜κΈ° μœ„ν•œ 동적 좔적 λ„κ΅¬μ˜ ν•„μš”μ„±μœΌλ‘œ 이해λ₯Ό ν™•μž₯ν•©λ‹ˆλ‹€ [1, 3, 6]. --- *Last updated: 2026-05-02* ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) **μΆ”μΆœλœ νŒ¨ν„΄:** > *(TODO)* **μ„ΈλΆ€ λ‚΄μš©:** - *(TODO)* ## πŸ€– 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: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*