From aed53f5d747baa4036d55b397f9e21df149c8945 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Fri, 16 Jan 2026 09:35:39 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=ED=99=98=EC=9C=A8=20=EA=B7=B8=EB=9E=98?= =?UTF-8?q?=ED=94=84=20=EC=9D=B4=EC=83=81=EC=B9=98=20=ED=95=84=ED=84=B0?= =?UTF-8?q?=EB=A7=81=20=EB=B0=98=EC=84=B1=20=EB=AC=B8=EC=84=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...œ¨_κ·Έλž˜ν”„_μ΄μƒμΉ˜_필터링_λ°˜μ„±.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 journey/troubleshooting/260116_ν™˜μœ¨_κ·Έλž˜ν”„_μ΄μƒμΉ˜_필터링_λ°˜μ„±.md diff --git a/journey/troubleshooting/260116_ν™˜μœ¨_κ·Έλž˜ν”„_μ΄μƒμΉ˜_필터링_λ°˜μ„±.md b/journey/troubleshooting/260116_ν™˜μœ¨_κ·Έλž˜ν”„_μ΄μƒμΉ˜_필터링_λ°˜μ„±.md new file mode 100644 index 0000000..e016c1e --- /dev/null +++ b/journey/troubleshooting/260116_ν™˜μœ¨_κ·Έλž˜ν”„_μ΄μƒμΉ˜_필터링_λ°˜μ„±.md @@ -0,0 +1,62 @@ +# ν™˜μœ¨ κ·Έλž˜ν”„ μ΄μƒμΉ˜ 필터링 - λ°˜μ„± λ¬Έμ„œ + +**λ‚ μ§œ**: 2026-01-16 +**μž‘μ„±μž**: Agent +**κ΄€λ ¨ 파일**: `goosefarminvesting/frontend/src/pages/GoldDetailPage.tsx:307-412` + +--- + +## 문제 상황 + +ν™˜μœ¨ 좔이 κ·Έλž˜ν”„μ—μ„œ μ΄μƒμΉ˜ 슀파이크(0 KRW 급락, 500+ KRW κΈ‰λ“±)κ°€ ν‘œμ‹œλ˜μ–΄ μ‚¬μš©μž κ²½ν—˜μ΄ μ €ν•˜λ¨ + +## ν•΄κ²° λ°©μ•ˆ + +**μ΅œμ’… κ΅¬ν˜„**: `GoldDetailPage.tsx:308-412` +- 전일 λŒ€λΉ„ λ³€ν™”μœ¨ 30% 이상인 데이터 필터링 (O(1) λ³΅μž‘λ„) +- 원본 데이터 필터링 β†’ 집계 β†’ μž¬ν•„ν„°λ§ (이쀑 필터링) +- λ‚ μ§œ 순 μ •λ ¬ κ°•μ œ + +--- + +## μ™œ λ³΅μž‘ν•˜κ²Œ λŒμ•„κ°”λŠ”κ°€ (λ°˜μ„±) + +### 1. λΈŒλΌμš°μ € ν…ŒμŠ€νŠΈ λ―Έμ‹€μ‹œ (AGENTS.md 원칙 μœ„λ°˜) +- **원칙**: "ν”„λ‘ νŠΈμ—”λ“œ μ½”λ“œ λ³€κ²½ ν›„ λ°˜λ“œμ‹œ μ‹€μ œ λΈŒλΌμš°μ €μ—μ„œ λ™μž‘ 확인" +- **μ‹€μ œ**: μ½”λ“œ μˆ˜μ • ν›„ λ°”λ‘œ 배포, 배포 후에야 λΈŒλΌμš°μ € ν…ŒμŠ€νŠΈ +- **κ²°κ³Ό**: 필터링이 μž‘λ™ν•˜μ§€ μ•Šμ•„λ„ μ•Œ 수 μ—†μŒ β†’ μ—¬λŸ¬ 번 μˆ˜μ • 반볡 + +### 2. 데이터 흐름 νŒŒμ•… λΆ€μ‘± +- **문제**: `aggregateData`와 `filterOutliers` ν•¨μˆ˜ μˆœμ„œ/μ˜μ‘΄μ„± 미확인 +- **κ²°κ³Ό**: 필터링을 집계 ν›„μ—λ§Œ 적용 β†’ 집계 κ³Όμ •μ—μ„œ μ΄μƒμΉ˜ 포함됨 +- **ν•΄κ²°**: 집계 μ „ν›„ 이쀑 ν•„ν„°λ§μœΌλ‘œ λ³΅μž‘λ„ 증가 + +### 3. 단계별 검증 λΆ€μ‘± +- **원칙**: "각 λ‹¨κ³„λ§ˆλ‹€ ν…ŒμŠ€νŠΈλ‘œ 검증 ν›„ μ§„ν–‰" +- **μ‹€μ œ**: 필터링 둜직 μˆ˜μ • β†’ λΉŒλ“œ/배포 β†’ λΈŒλΌμš°μ € 확인 (반볡) +- **κ²°κ³Ό**: λ¬Έμ œκ°€ 계속 λ°œκ²¬λ˜μ–΄ μ—¬λŸ¬ 번 μˆ˜μ • + +### 4. κ°„λ‹¨ν•œ 해결책을 놓침 +- **처음 μ‹œλ„**: 집계 ν›„ ν•„ν„°λ§λ§Œ μ‹œλ„ +- **μ‹€μ œ ν•΄κ²°**: 원본 데이터 필터링 β†’ 집계 β†’ μž¬ν•„ν„°λ§ (이쀑) +- **더 λ‚˜μ€ 방법**: 원본 λ°μ΄ν„°λ§Œ ν•„ν„°λ§ν•˜κ³  μ§‘κ³„λŠ” λ‹¨μˆœν™” κ°€λŠ₯ν–ˆμ„ μˆ˜λ„ + +--- + +## κ΅ν›ˆ + +### 원칙 μ€€μˆ˜ 체크리슀트 +- [x] λΈŒλΌμš°μ € ν…ŒμŠ€νŠΈ λ¨Όμ € (μ½”λ“œ μˆ˜μ • μ „ ν˜„ν™© νŒŒμ•…) +- [x] 데이터 흐름 λͺ…ν™•νžˆ νŒŒμ•… ν›„ μˆ˜μ • +- [x] 단계별 검증 (필터링 둜직 β†’ 집계 둜직 β†’ μ΅œμ’… κ²°κ³Ό) + +### λ‹€μŒμ— ν•  일 +1. **ν”„λ‘ νŠΈμ—”λ“œ μˆ˜μ • μ‹œ**: μ½”λ“œ μˆ˜μ • μ „ λΈŒλΌμš°μ €μ—μ„œ 문제 확인 +2. **데이터 처리 둜직**: μž…λ ₯ β†’ 처리 β†’ 좜λ ₯ 흐름 λͺ…ν™•νžˆ λ¬Έμ„œν™” +3. **필터링 적용 μœ„μΉ˜**: κ°€λŠ₯ν•˜λ©΄ κ°€μž₯ μ•ž λ‹¨κ³„μ—μ„œ ν•œ 번만 적용 + +--- + +## μ°Έκ³  +- AGENTS.md: ν”„λ‘ νŠΈμ—”λ“œ λΈŒλΌμš°μ € ν…ŒμŠ€νŠΈ ν•„μˆ˜ 원칙 +- 312_λ¬Έμ„œ_μž‘μ„±_원칙.md: 단계별 검증 원칙