From d23b0814d94d22b158dcbf050f999e928c8b8bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A4=EC=A0=95=EB=AF=BC?= Date: Thu, 28 May 2026 19:14:16 +0900 Subject: [PATCH] docs: link before/fix/after improvement reports in index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - README.md에 Before→Fix→After 개선 보고서 3개 링크 추가 - backend-writes, backend-reads, client 개선 보고서를 인덱스에서 참조 --- docs/data-patterns/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/data-patterns/README.md b/docs/data-patterns/README.md index e80d118..97ea83e 100644 --- a/docs/data-patterns/README.md +++ b/docs/data-patterns/README.md @@ -11,6 +11,14 @@ Panit 야구앱의 Firebase(Firestore + RTDB) 데이터 접근 패턴 전수 조 | [optimization-plan.md](./optimization-plan.md) | **read/write 최적화 로드맵** — 영향도×리스크 우선순위, 권장 변경·검증 포인트 | | client-patterns.md | 클라 접근 패턴(직접 Firestore/RTDB vs CF, 실시간 vs 단발, SWR). 위치: `Panit/docs/data-patterns/client-patterns.md` | +## 개선 보고서 (Before → Fix → After) +실제 적용된 최적화의 변경 전/후를 커밋 diff 근거로 정리. (백엔드=`opt/backend-rw`, 클라=`opt/client-rw` 브랜치) +| 문서 | 내용 | +|---|---| +| [improvements-backend-writes.md](./improvements-backend-writes.md) | W1·W2·W3·W4·W5+R6·W6·doc-drift 적용 결과 | +| [improvements-backend-reads.md](./improvements-backend-reads.md) | R1·R4·R5·R7 적용 결과 + 보류 항목(R2·R3) 사유 | +| improvements-client.md | C1·C2·C3·C4 적용 결과. 위치: `Panit/docs/data-patterns/improvements-client.md` | + ## 핵심 결론 (3줄) 1. **클라는 Firestore/RTDB를 직접 읽지 않는다** — `fcmTokens` write 1곳 외 전부 Cloud Functions HTTP 경유. 2. **최대 비용**: write=`games` 매일 월 전량 재기록 / read=`dailyArchive` 유저별 게임쿼리 중복 + `getStats` 무효화 후 voteHistory 풀스캔 / 클라=`voteSummary` 10초 폴링.