Development Pilot KO - teamswyg/laya-tools GitHub Wiki
๊ฐ๋ฐ ์์ ์ ์งํยท์๋ฃยท์ง๋ฌธ ํ์: 1์ฐจ shadow ํ์ผ๋ฟ ์ด์
์ํ: ์ค๊ณ ์ด์, ์ค์ Riido ํ์ผ๋ฟ0ํ. ๊ธฐ์กด Go ๋ชจ๋ธ์ ์ด์ด ํ์ตยท๊ฒ์์ ๋ณ๋ CLI ํฉ์ฑ4๋ฌธ์ฅ ์ํ์ ์๋ฃํ๋ค. ์๋ ์ค์ readerยทํ๋ฉด ์ฐ๊ฒฐ๊ณผ100/400/2400๊ฑด ๊ฒ์๋ ์์ง ์คํํ์ง ์์๋ค. ๊ณต๊ฐ ํฉ์ฑ ์ฌ๋ก์ ๋ช ์์ ์ธ test double๋ก ๋ค์ ๊ฒ์ฌ๋ฅผ ์ค๋นํ๋ค.
์ฌ์ฉ์๊ฐ ๊ณ ๋ฅธ ์ฒซ ๋ฒ์๋ ๊ฐ๋ฐ ์์
๋ฉ์์ง์ ์งํ ๋ณด๊ณ ยท์๋ฃ ๋ณด๊ณ ยท์ง๋ฌธ ํ์๋ค. completion_report๋ **โ์๋ฃ๋๋ค๊ณ ์ด ๋ฌธ์ฅโ**์ ๋ปํ๋ค. ์ฝ๋ ์คํ ์ฑ๊ณต, CI ์ฑ๊ณต, ๊ฒ์ฆ๋ ์ ์ฒด ์
๋ฌด ์๋ฃ, ์น์ธ ์๋ฃ๋ฅผ ์ฆ๋ช
ํ์ง ์๋๋ค. ํ๋ฉด์ ํ์๋ช
๋ โ์๋ฃ๋จโ ๋์ โ์๋ฃ ๋ณด๊ณ โ๋ฅผ ์ฌ์ฉํ๋ค.
์ด๋ฏธ ๊ตฌํํ ๊ฒ๊ณผ ์์ง ์๋ ๊ฒ
| ๊ตฌ๋ถ | ํ์ฌ ํ์ธํ ๋ฒ์ |
|---|---|
| ๊ตฌํ: ๋ถ๋ฅ์ ํ์ต | ๊ณ ์ ๋ 8๊ฐ ์๋ฏธ๋ฅผ ๋ถ๋ฅํ๋ Go ๋ชจ๋ธ๊ณผ ๊ท์น ๊ธฐ์ค์ . V2๋ ๋ณ๋๋ก ์์ฑํ ํฉ์ฑ ํ์ต 320๊ฐ์ validation/calibration/test ๊ฐ40๊ฐ๋ก ์ค์ ํ์ตยทํ๊ฐํ๋ค. |
| ๊ตฌํ: ์ ํ๋ ๋ชจ๋ธ | v1_warm_start, 1,024๊ตฌ๊ฐ, 32,960๋ฐ์ดํธ, step 1,520โ1,920, temperature 0.9. ๋ 2,048๊ตฌ๊ฐ ํ๋ณด๋ ๋น๊ตํ์ผ๋ ์ ํํ์ง ์์๋ค. ์ด ํ์ผ๋ฟ์ ์ํด ์ 3-class ๋ชจ๋ธ์ ํ์ตํ ๊ฒ์ ์๋๋ค. |
| ๊ตฌํ: ๊ณต๊ฐ bridge | SnapshotReader.Read์ Adapter.Propose, opaque ์ฐธ์กฐ, ํ์ฌ active ๋ผ๋ฒจ์ ๋ช
์์ ์๋ฏธ ์ฐ๊ฒฐ, ์ค๋ณตยท๋๋ฝยทinactiveยท๊ทธ๋ฃน ์ ์ธ, canonical ๋ฒ์ ํ์ธ, shadow ์ถ๋ ฅ. |
| ๊ตฌํ: ๊ฒฝ๊ณ ํ ์คํธ | test double๋ก ์ฝ๊ธฐ ๋ฒ์ยท์ํ ํ๋ณด์ ๋ชจํธํจยท๋ฒ์ ์์ยท์ค๋ณต ํ์ยท๋ณธ๋ฌธ ๋น๋ ธ์ถ ๋ฑ์ ๊ฒ์ฌํ๋ ํ ์คํธ๊ฐ ์๋ค. ์ค์ native reader๋ ์ค์ catalog๋ฅผ ํธ์ถํ ๊ฒ์ฆ์ ์๋๋ค. |
| ๋ฏธ๊ตฌํ | ์ค์ Riido reader, ํ์ฌ native catalog ํ์ธ, ํ์๋ฅผ ๋ฐ์ ์ ํํ ๋ฉ์์ง/์ ๋ฌด ์์น, ๋ณธ๋ฌธ revision ์ฐ๊ฒฐ, ๋ฆฌ๋น์ ์ด๋ฒคํธ ๊ฒ์ฆ, ์ค์ ํ๋ฉด ํตํฉ, ์ ํ์ผ๋ฟ harness์ ๋น์ฉ ์ธก์ . |
| ์ฒซ ๋ฒ์ ๋ฐ | ์ ๋ฌด ์ํ ์ฐ๊ธฐ, ์ค์ reaction ์ถ๊ฐ, ์๋ฆผ ๋ฐ์ก, ์ทจ์ ์คํ, ๋ชจ๋ธ/์ถ๋ก ์์ค ์กฐ์ , ์ค์ ์๋ฌธ์ ์ธ๋ถ ํ์ตยท๊ณต๊ฐ์ ์ฌ์ฉํ๋ ์์ . |
๊ธฐ์กด V2์ ์ ํ๊ฐ ๊ฒฐ๊ณผ๋ 34/40์ด๋ฉฐ ์ธ์ด๋ณ๋ก17/20์ด๋ค. ์๋ฃ ๋ณด๊ณ 5/5, ์ง๋ฌธ4/5์์ง๋ง ๊ฐ ์๋ฏธ๊ฐ5๊ฐ๋ฟ์ด๋ค. ์ ์ฒด 8๊ฐ ์๋ฏธ์์ confidence 0.9 ์ด์์ธ ๋น๋ชจํธ ์ ์17๊ฐ๊ฐ ๋ง์๋ค๋ ๊ฒฐ๊ณผ๋ฅผ ์ด ์ธ ํ์์ ์ค์ฌ์ฉ ์ ํ๋๋ ์ด์ ์ ๋ฐ๋100%๋ก ๋ฐ๊พธ์ง ์๋๋ค. ํ์ฌ native ๋ผ๋ฒจ๊ณผ ํ๋ณ ์ด๋ชจ์ง ์ค์ ์ ์ ์ ์๋ค. ์ด๋ฒ ์ด์์ ์ด์ ์ฐ๊ฒฐ ์๋ฃ๋ 2,400๊ฐ์ ์ค์ ์ ๋ฌด ๊ฒ์ฆ์ ์ฃผ์ฅํ์ง ์๋๋ค.
๋ค์ ๋ด๋ ค๋ฐ์ ๋ชจ๋ธ์ ์ค์ CLI ํ์ธ
๊ฒ์ revision 81335eadd9f2753d3b86c932e9b00c636714e3b4์ ๋ชจ๋ธ๋ก ๊ณต๊ฐ ํฉ์ฑ ์๋ฌธ4๊ฐ๋ฅผ ์คํํ๋ค. ์๋๋4/4๋ง์์ง๋ง ๊ณ ์ confidence0.9๋ฅผ ๋๊ธด ์ง๋ฌธ ํ ๊ฑด๋ง ๋ผ๋ฒจยท์ด๋ชจ์ง๋ฅผ ์ ์ํ๋ค.
| ์๋ฌธ ์๋ | confidence(๋ฐ์ฌ๋ฆผ) | ์ค์ shadow ๊ฒฐ๊ณผ |
|---|---|---|
| ์งํ ๋ณด๊ณ | 0.858 | ๊ธฐ์ค ๋ฏธ๋ฌ๋ก ๋ณด๋ฅ |
| ์๋ฃ ๋ณด๊ณ | 0.821 | ๊ธฐ์ค ๋ฏธ๋ฌ๋ก ๋ณด๋ฅ |
| ์ง๋ฌธ | 0.971 | ๋ผ๋ฒจยท์ด๋ชจ์ง ์ ์ |
| ๊ณํ | 0.815 | ๊ธฐ์ค ๋ฏธ๋ฌ๋ก ๋ณด๋ฅ; ์ฒซ ์ธ ํ์ ๋ฒ์ ๋ฐ |
๋ชจ๋ ์ถ๋ ฅ์ mutation/state change๋false์๊ณ ์ค์ reader๋ ์ฐ๊ฒฐํ์ง ์์๋ค. ์ด4๊ฐ์ ์งง์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ macOS ํ๋ก์ธ์ค์ ์ต๋ OS RSS๋5,488,640๋ฐ์ดํธ(์ฝ5.23MiB)์๋ค. ๋ชจ๋ธ ์ฝ๊ธฐยท๋ถ๋ฅยทJSONLยท์ ์ ์ฒ๋ฆฌ๋ฅผ ํฌํจํ ์ด ํ๋ก์ธ์ค์ ๊ด์ธก์ด๋ฉฐ ์ค์ catalog ์กฐํยทํ๋ฉด ๋ฐฐ์น ๋น์ฉ์ด๋ ์ฒ๋ฆฌ๋์ ์ฆ๊ฑฐ๊ฐ ์๋๋ค. โ์๋4/4โ์ โํ์ ์ ์1/4โ, โ์ค์ adapter ํ์ผ๋ฟ0ํโ๋ฅผ ๊ตฌ๋ถํด ๊ธฐ๋กํ๋ค. ๋ฎ์ confidence๋ฅผ ํต๊ณผ์ํค๋ ค๊ณ threshold๋ฅผ ๋ฎ์ถ์ง ์๋๋ค.
๊ทผ๊ฑฐ: V2 ๊ฒฐ๊ณผ์ ํ๊ณ, ํ์ต ๊ธฐ์ค, catalog bridge. ๋ณ๋ smoke receipt๋ ์ด private cache์ publication/DEVELOPMENT-SMOKE.json์ ์๋ค.
ํ์ ํ๋ณด์ ํ์ฌ ๋ผ๋ฒจ ํ์ฉ์งํฉ
| ๋ถ๋ฅ ๊ฒฐ๊ณผ | ํ์ผ๋ฟ ํ์๋ช | ๊ธฐ๋ณธ ์ด๋ชจ์ง ํ๋ณด | canonical code | ์ ๋ฌด ์ํ ๋ณ๊ฒฝ |
|---|---|---|---|---|
progress |
์งํ ๋ณด๊ณ | ๐ ๏ธ | 1f6e0-fe0f |
์์ |
completion_report |
์๋ฃ ๋ณด๊ณ | โ | 2705 |
์์ |
question |
์ง๋ฌธ | โ | 2753 |
์์ |
ํ์๋ช
๊ณผ ์ด๋ชจ์ง๋ ์ค์ ๊ฐ๋ฅํ ์ด์์ด๋ฉฐ ์ค์ catalog์ ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํ์ง ์๋๋ค. blocker, reference, cancel_request, planned, unclear์๋ ์ด๋ฒ ํ์ผ๋ฟ์ ์ธ ํ์๋ฅผ ๊ฐ์ ๋ก ๋ถ์ด์ง ์๋๋ค. 8๊ฐ ์๋ฏธ์ ํ๋ฅ ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉฐ ์ธ ์๋ฏธ๋ง ๋จ๊ฒจ ํ๋ฅ ์ ์ฌ์ ๊ทํํ๊ฑฐ๋ ์ฐจ์ ์ ํ์ฉ ์๋ฏธ๋ฅผ ๋์ ์ ํํ์ง ์๋๋ค.
๋ผ๋ฒจ ํ์ฉ์งํฉ์ ์ฝ๊ธฐ๋ง๋ค ๋ค์ ๊ต์งํฉ์ผ๋ก ๋ง๋ ๋ค.
- ์ฑ์ ์ ๋ขฐํ ์ ์๋ ์กฐํ ๊ฒฝ๊ณ๊ฐ ํ์ฌ scope์์ ์ฝ์ ๋ผ๋ฒจ์ด๋ค.
- ํ์ฌ active์ด๊ณ ๊ทธ๋ฃน container๊ฐ ์๋ ์ค์ ๋ผ๋ฒจ์ด๋ค.
- ์ฌ์ฉ์๊ฐ ์ค์ ํ ์ธ ์๋ฏธ ์ค ํ๋์ opaque ์ฐธ์กฐ๋ก ๋ช ์์ ์ผ๋ก ์ฐ๊ฒฐ๋ผ ์๋ค.
- ๊ฐ์ ์ฐธ์กฐ ๋๋ ์๋ฏธ ์ฐ๊ฒฐ์ด ์ค๋ณตยท์ถฉ๋ํ์ง ์๋๋ค.
ํ์ฌ ์ฐ๊ฒฐ์ด ๋๋ฝยท์ญ์ ยทinactive์ด๋ฉด ํด๋น ๋ผ๋ฒจ์ ์ ์ํ์ง ์๋๋ค. ์ด๋ฆ์ด๋ ์, ๋ฐฐ์ด ์์๋ก ๋ผ๋ฒจ ์๋ฏธ๋ฅผ ์ถ์ธกํ๊ฑฐ๋ ์ ๋ผ๋ฒจ์ ๋ง๋ค์ง ์๋๋ค. ์ค์ native IDยท์ด๋ฆยท์ธ์ฆ์ ๋ณด์ opaque ๋์ํ๋ private reader ์์ ๋๋ค. ์ด๋ฏธ ๋ถ์ ๋ผ๋ฒจยท๋์ผ ์ด๋ชจ์ง๋ ์ถ๊ฐ ํ์ ์ ์์ด ์๋ no-op์ด๋ค. ์ด๋ชจ์ง๋ ํ์ธ๋ ํ์ฉ๋ชฉ๋ก๋ง ์ ๋ฌํ๊ณ , ์ด์์ ๊ธฐ๋ณธ ํ๋ณด๋ฅผ native ์ค์ ์ผ๋ก ์๋ ์น๊ฒฉํ์ง ์๋๋ค.
๋ชจ๋ธ ๊ธฐ์ค์ ๊ธฐ์กด catalog bridge์ confidence 0.9์ margin 0.05๋ฅผ ์ ์งํ๋ค. ์์ CLI ์ํ์ margin0์ด๋ฏ๋ก ๋ค์ catalog ํ์ผ๋ฟ๊ณผ ๊ตฌ๋ถํ๋ค. guarded input, ๋ฒ์ ๋ฐ ๊ฒฐ๊ณผ, ๋ชจํธํ ๋ด์ฉ, ๊ธฐ์ค ๋ฏธ๋ฌ์ ํ์๋ฅผ ๋ณด๋ฅํ๋ค. ๋ชจ๋ธ ํ์ผ์ ์ฝ์ง ๋ชปํ๋ฉด ํ์ตํ์ง ์์ ๊ท์น์ผ๋ก ์กฐ์ฉํ ๋์ฒดํ์ง ์๋๋ค. ๊ท์น์ ๋ช ์์ ์ผ๋ก ํ์ํ ๋ณ๋ ๋น๊ต๊ตฐ์ด๊ณ ์ ์๋ ๋ณด์ ๋ ํ๋ฅ ์ด ์๋๋ค.
์ ์ ํ๋ฆ๊ณผ ์ ๋ฌด revision ์ด๋ฒคํธ
๊ณํํ๋ ํ๋ฆ์ ์ด๋ฏธ ๋ณด์ ํ ๋ฉ์์ง โ ํ์ฌ opaque snapshot ์กฐํ โ ์ ๊ธด ๋ชจ๋ธ ๋ถ๋ฅ โ ์ธ ํ์ ํ์ฉ์งํฉ ๊ฒ์ฌ โ revision ์ฐ๊ฒฐ ๊ฒ์ฌ โ private shadow ๋ฏธ๋ฆฌ๋ณด๊ธฐ/๊ด์ธก์ด๋ค. ์ค์ ์๋ฌธ์ด๋ ์ถ๊ฐ ๋ฌธ์๋ฅผ reader๊ฐ ์๋ก ๊ฐ์ ธ์ฌ ํ์๋ ์๋ค. ํ์ฌ bridge๋ ์ด๋ฏธ ๋ณด์ ํ Request.Text๋ฅผ ๋ฐ์ผ๋ฉฐ, metadata ์กฐํ์๋ ์์ฒญํ opaque Work ์ฐธ์กฐ๋ง ์ ๋ฌํ๋ค.
ํ์ผ๋ฟ harness๋ StatePlanningAvailable=false๋ก ๋๊ณ lifecycle event๋ฅผ ๊ณต๊ธํ์ง ์๋๋ค. mutation_executed:false, state_change:false๋ฅผ ๋ชจ๋ ํ์์ ํ์ธํ๋ค. CandidateStatusRef๋ ์
๋ฌด ์๋ฃ๋ ์ํ ๋ณ๊ฒฝ ์น์ธ์ผ๋ก ์ทจ๊ธํ์ง ์๋๋ค. ์ด bridge์๋ verified event๋ ์ฌ์ฉ์ JSON์ trusted flag๋ฅผ ๋ฐ๋ API ์์ฒด๊ฐ ์๋ค.
ํ์ ๋ฐฐ์น์ฉ revision ๊ทผ๊ฑฐ์ ์ ๋ฌด ์ํ ์ ์ด ๊ทผ๊ฑฐ๋ฅผ ๊ตฌ๋ถํ๋ค.
| ๊ทผ๊ฑฐ | ํฅํ ์๊ตฌํ ์ฐ๊ฒฐ | ํ์ฌ ์ํ |
|---|---|---|
| revision ๊ด์ธก receipt/event | ์ธ์ฆ๋ ์ฑ ์กฐํ ๊ฒฝ๊ณ์ provenance, owner scope, opaque Work ์ฐธ์กฐ, ์๋ณธ canonical ์ ๋ฌด revision, ํ์ํ content ์ฐธ์กฐ์ content revision, ๊ด์ธก/๋ณ๊ฒฝ event ์ฐธ์กฐ | ์ ํ์ผ๋ฟ harness ๋ฐ ์ค์ reader์ ์์ง ์ฐ๊ฒฐํ์ง ์์ |
| ์งํ/์๋ฃ lifecycle ์ฌ์ค | ๋ณ๋ ์ ๋ฌด ์์คํ ์ด ํ์ธํ started/completed ์ฌ์ค, ๋์ ์ ๋ฌดยทscopeยท๋ช ๋ น, ๊ธฐ๋/ํ์ฌ revision, ์ค์ ์ ๋ฌด ๊ฒฐ๊ณผ์ ์ค๋ณต ์ฒ๋ฆฌ receipt | ์ฒซ ํ์ ํ์ผ๋ฟ ๋ฒ์ ๋ฐ. ๋ชจ๋ธ ๋ฌธ์ฅ์ด๋ JSON flag๋ก ์์ฑํ ์ ์์ |
revision ๊ด์ธก receipt๋ โ์ด ํ์๊ฐ ์ด๋ ์
๋ฌด์ ๋ณธ๋ฌธ revision์ ์ํ๋๊ฐโ๋ฅผ ๊ณ ์ ํ๊ธฐ ์ํ ๊ฒ์ด๋ค. ๊ด์ธก ์๊ฐ์ด๋ ReadTimes๋ง์ผ๋ก ์ต์ revision ๋๋ ์คํ ์ฑ๊ณต์ ์ฆ๋ช
ํ์ง ์๋๋ค. ์
๋ฌด์ ๊ธฐ๋ revision๊ณผ ํ์ฌ revision์ด ๋ค๋ฅด๊ฑฐ๋ ๋ณธ๋ฌธ์ด ์์ ๋์ผ๋ฉด ์ด์ ์ ์์ ๋ฐฐ์นํ์ง ์๊ณ stale๋ก ๊ธฐ๋กํ๋ค. ์ revision์ ๋ค์ ์ฝ์ ๋ค ๋ณ๋ ์ ์์ ๊ณ์ฐํด์ผ ํ๋ค. ์๊ฐยทํ ๋ฒํธยท์์0/1์ canonical revision ๋์ ์ฐ์ง ์๋๋ค.
canonical ๋ฒ์ ์ด ์๋ ํญ๋ชฉ์์๋ ํ์ฌ bridge๋ ๋ผ๋ฒจยท์ด๋ชจ์ง ์ถ์ฒ์ ๊ณ์ฐํ ์ ์๋ค. ๋ค๋ง ๊ทธ ๊ฒฐ๊ณผ๋ ํ์ฌ ์
๋ฌด์ ๋ฐฐ์น ๊ฐ๋ฅํ ํ์๋ก ๊ฒ์ฆ๋์ง ์์ ๋ด์ฉ ์ถ์ฒ์ด๋ค. ์ ํ์ผ๋ฟ harness์์ revision ์ฐ๊ฒฐ์ ํ์ธํ๊ธฐ ์ ์๋ ์
๋ฌด ์์น์ ๋ถ์ด์ง ์๊ณ unavailable๋ก ๋จ๊ธด๋ค. ๊ธฐ์กด bridge์ Request/Work์๋ ๋ณ๋์ content revision๊ณผ event receipt๊ฐ ์์ผ๋ฏ๋ก ์ด ์ฐ๊ฒฐ์ ์ถ๊ฐ ์ค๊ณยท๊ตฌํ ๋์์ด๋ค.
Workยท๋ผ๋ฒจยท์ํ์ ๋ณ๋ ์ฝ๊ธฐ๋ฅผ ๋จ์ผ atomic snapshot์ด๋ผ๊ณ ํ์ง ์๋๋ค. ์ฝ๊ธฐ ์์ ์ ๊ทธ๋๋ก ๋จ๊ธฐ๊ณ catalog_consistency:unqualified๋ฅผ ์ ์งํ๋ค. ์ดํ ์ค์ ํ์๋ฅผ ์ฐ๊ฒฐํ ๋๋ ํ์ฌ ์กฐํ ๊ถํยทscopeยทcatalogยท๋ณธ๋ฌธ/์
๋ฌด revision์ ์ฑ์ด ํ์ธํด์ผ ํ๋ค. shadow ์ถ๋ ฅ์ lasting permission์ด ์๋๋ค.
ํฉ์ฑ test double๋ก ๋จผ์ ์ค๋นํ ๊ฒ์ฌ
์๋๋ ๊ฒ์ฌ ์ค๊ณ์ด๋ฉฐ ์ด๋ฒ ๋ฌธ์ ์์ฑ์์ ์คํํ์ง ์์๋ค. ์์์ fake prediction์ ์ฌ์ฉํ๋ ์ ์ฑ ํ ์คํธ์ ์ค์ ์ ๊ธด ๋ชจ๋ธ์ ๋ถ๋ฅ ํ ์คํธ๋ฅผ ๋ถ๋ฆฌํด ๊ธฐ๋กํ๋ค. fake score์ ํต๊ณผ๋ฅผ ๋ชจ๋ธ ์ ํ๋๋ native ์กฐํ ์ฑ๊ณต์ผ๋ก ํํํ์ง ์๋๋ค.
| ํฉ์ฑ ์กฐ๊ฑด | ๊ธฐ๋ํ๋ ๊ฒฐ๊ณผ |
|---|---|
| ํ์ฌ ์งํ ๋ณด๊ณ + ํ์ฉ๋ ์งํ ๋ผ๋ฒจ/์ด๋ชจ์ง + ๋์ผ revision | ์งํ ๋ณด๊ณ ํ์ ํ๋ณด๋ง ์ ์. ์ ๋ฌด ์ํ ์ ์ง |
| ์ ์ฒด ์ ๋ฌด๋ฅผ ๋๋๋ค๋ ๋ฌธ์ฅ + ์๋ฃ ํ์ ํ์ฉ | โ์๋ฃ ๋ณด๊ณ โ ํ๋ณด. ์คํ ์ฑ๊ณตยท์ ๋ฌด done ์ฌ์ค ์์ |
| ์๋ฃ/์ทจ์๋ฅผ ์ธ๊ธํ๋ ์ค์ ์ ๋ณด ์ง๋ฌธ | ์ง๋ฌธ ํ๋ณด๋ง ํ์ฉ. lifecycle ๋ณ๊ฒฝ ์์ |
| ์ผ๋ถ ๊ฒ์ฌ๋ ๋๋ฌ์ง๋ง ๊ฐ์ ์ ๋ฌด์ ์์ ์ ๊ณ์ํจ | ์งํ/์๋ฃ ๊ตฌ๋ถ์ ๊ฒ์ํ๋ฉฐ ์ ์ฒด ์๋ฃ๋ก ๋จ์ ํ์ง ์์ |
| ์ธ์ฉยท๋ถ์ ยท๊ฐ์ ยท์ถฉ๋ยท๋ค๋ฅธ 5๊ฐ ์๋ฏธ | ์ธ ํ์๋ฅผ ๊ฐ์ ๋ก ์ ํํ์ง ์์ |
| active catalog์์ ์ฐ๊ฒฐ ๋๋ฝยทinactiveยทgroupยท์ค๋ณตยทforeign scope | ์๋ชป๋ ์ฐธ์กฐ ์ ์ธ ๋๋ ์์ฒญ ๊ฑฐ์ |
| canonical ์ ๋ฌด revision ์์ยท๋นcanonical ๊ฐยทrevision ๋ณ๊ฒฝยท๋ณธ๋ฌธ ์์ | ๊ฐ์ง ๋ฒ์ ์์. ์ ๋ฌด ์์น์ ๋ฐฐ์นํ์ง ์์ |
| ๊ฐ์ ๋ณธ๋ฌธ revision/๋ช ๋ น์ ์ฌ์ ๋ฌยท๋์ผ ํ์ ์กด์ฌ | ์ค๋ณต ํ์ ์์. ์ฌ์ ๋ฌ/๊ธฐ์กด ํ์ no-op ๊ตฌ๋ถ |
| reader error ๋๋ scope์ ์๋ Work | ์๋ฌธ/credential ๋ ธ์ถ ์์. ํด๋น Work๋ฅผ ๋ถ๋ฅยท๋ฐฐ์นํ์ง ์์ |
| ์ซ์์ ์ผ๊ด๋์ง ์์ ํ๋ฅ ยทguarded inputยทoversized text | ํ์ ๋ณด๋ฅ/๊ฑฐ์ |
๊ด์ธก ํญ๋ชฉ์ ๋ชจ๋ธ hashยท์๋ฏธยทconfidenceยท์๋ฌธ ์์ด ํด์ ๊ฐ๋ฅํ ๋ณด๋ฅ ์ด์ ยทopaque case/family ์ฐธ์กฐยทํ์ฌ ๋ผ๋ฒจ ํ์ฉ์งํฉ fingerprintยทrevision ์ฐ๊ฒฐ ๊ฒฐ๊ณผยท๊ธฐ์กด ํ์ ์ฌ๋ถยท๋ถ๋ฅ/์กฐํ/์ ์ฒด ์ฒ๋ฆฌ ๋น์ฉ์ด๋ค. ์ค์ ์๋ฌธ๊ณผ native ๋์ํ๋ ๋ณ๋ private ์ ์ฅ์์ ๋๋ค. ๋ถ๋ฅ๊ธฐ hot-path์ ๊ธฐ์กด allocation0 ์ธก์ ์ readerยทJSONยทharness์ ์ด ๋น์ฉ์ผ๋ก ๋ฐ๊พธ์ง ์๋๋ค.
100๊ฐ โ 400๊ฐ โ 2,400๊ฐ ํ๋ณธ ๊ณํ
- ์ด๊ธฐ100๊ฐ ๊ฒ์: ๋จผ์ ๊ณต๊ฐ ํฉ์ฑ test double๋ก ๋ฐฐ์น/๋ณด๋ฅ ๊ฒฝ๊ณ๋ฅผ ํ์ธํ๋ค. ์ค์ ์๋ฃ๋ฅผ ๋ค๋ฃฐ ๋จ๊ณ์์๋ ์ฌ์ฉ์๊ฐ ํ์ฉํ ๊ฐ๋ฐ ์ ๋ฌด ์๋ฌธ์ private์ ๋ณด๊ดํ๊ณ , ๊ฐ๋ฅํ๋ฉด ์์ธก์ ๋ณด์ง ์์ ๊ฒ์์๊ฐ ์ธ ํ์์ ๊ฒฝ๊ณ ์ฌ๋ก๋ฅผ ์ฃผ์ํ๋ค. ์๋ฃ ๋ณด๊ณ ์ ๋ฌธ์ฅ ์๋ฏธ์ ์ค์ ์ ๋ฌด ์๋ฃ ์ฌ์ค์ ๋ณ๋ ์นธ์ด๋ค. ์ด100๊ฐ๋ ๊ฐ๋ฐยท๊ฒ์ ์๋ฃ์ด๊ณ ์ ์ต์ข ํ๊ฐ์ ์ด๋ผ๊ณ ๋ถ๋ฅด์ง ์๋๋ค.
- ์๋ก ๋ค๋ฅธ ์ ๋ฌดยท๋ฌธ๋งฅ400๊ฐ: ์ฌ๋ฌ ๊ฐ๋ฐ ์์ , ๋จ๊ณ, ๋ฌธ์ฒด, ๋ ์ธ์ด ๋ฐ ํผํฉ ์ธ์ด, ์ง๋ฌธ/์ธ์ฉ/๋ถ์ /๋ถ๋ถ ์๋ฃ/ํ์ฌ ์งํ์ ํฌํจํ๋ค. 100๊ฐ์์ ๋ณธ ์คํจ๋ ๊ณต๊ฐ ํฉ์ฑ ์ฌํ์ผ๋ก ๋ณ๋ ๊ธฐ๋กํ๊ณ ์๋ฌธ์ ๊ทธ๋๋ก ์ธ๋ถ๋ก ์ฎ๊ธฐ์ง ์๋๋ค. ์ ๋ฌดยทincidentยท๋ํ ๋ฌธ๋งฅ family ์๋ฅผ ํ ์์ ํจ๊ป ์ผ๋ค.
- ์ด2,400๊ฐ๋ก ํ๋: ๋ถ์กฑํ family๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค. ๊ฐ์ ๋ฌธ์ฅ์ ๋ฐ๋ณตยท์ด๋ฆ ๋ณ๊ฒฝยท๋ฒ์ญยท๊ฐ์ ์ ๋ฌด revision ์ฐ์๋ ๋ ๋ฆฝ ์ํ๋ก ์ง๊ณํ์ง ์๋๋ค. ๊ฐ์ ์ฌ๊ฑด์ ๋ณํ์ ๊ฐ์ family์ ๋ฌถ์ด train/validation/calibration/์ต์ข ํ๊ฐ๋ฅผ ํจ๊ป ๋๋๋ค์ง ์๊ฒ ํ๋ค. ํ2,400๊ฐ๊ฐ family2,400๊ฐ๋ฅผ ๋ปํ์ง ์๋๋ค.
์ ํ์ต์ ์์ํ๊ธฐ ์ ์ ์ค์ ์๋ฃ์ ์ฌ์ฉ ๋ฒ์, ์ฃผ์ ๊ธฐ์ค, family grouping, split, ๋ชจ๋ธ ํ๋ณด, calibration๊ณผ ๊ณ ์ ๊ธฐ์ค์ ์ ๊ทผ๋ค. ์ด๋ฏธ ๊ด์ธกํ100/400๊ฐ์ ๋ ธ์ถ๋ V1/V2 ํ๊ฐ๋ฅผ ๋ค์ ์ต์ข ๋ชจ๋ธ ์ ํ์ฉ ์ํ์ผ๋ก ๋ค์ ์ฐ์ง ์๋๋ค. ์ ์ต์ข ํ๊ฐ์๋ ์ family๋ฅผ ๋จ๊ธฐ๊ณ ๋ณ๋ ๊ฒ์ํ๋ค. ๋จ๊ณ๋ง๋ค ์๋ชป๋ ์๋ฃ ๋ณด๊ณ ํ์, ์ง๋ฌธ ์ค๋ถ๋ฅ, ๋ณด๋ฅ์จ, ์ค๋ณต/์ค๋๋ ํ์, ์ ์ฒด ๋น์ฉ์ ์ธ์ดยท์๋ฏธยทfamily๋ณ๋ก ํ์ธํ๋ฉฐ, ํ๋ฆฐ ๊ฒฐ๊ณผ๋ฅผ ์ญ์ ํ๊ฑฐ๋ threshold๋ฅผ ๋ด๋ ค ํต๊ณผ์ํค์ง ์๋๋ค.
๋น๊ณต๊ฐ์ ๊ณต๊ฐ ์ฃผ์ฅ์ ๊ฒฝ๊ณ
์ค์ ์๋ฌธยท์ค์ ์ฌ๊ฑด receiptยทnative IDยท์ ๋ฌด ๋งํฌยทcredential์ private๊ฐ ๊ธฐ๋ณธ์ด๋ค. ์ธ๋ถ ๊ณต๊ฐ๋ ํ๊ฐ๋ ์์ฝ๊ณผ ํฉ๊ณ๋ง ์ฌ์ฉํ๋ค. ์ฌ๋ก ๋ฌธ์ฅ์ ๊ณต๊ฐํด์ผ ํ๋ค๋ฉด ๋ณ๋๋ก ํ๊ฐ๋ ๋ด์ฉ ๋๋ ์๋ก์ด ๊ณต๊ฐ ํฉ์ฑ ์ฌํ์ผ๋ก ์ค๋นํ๋ค. ์๋ฌธ hashยทopaque ์ฐธ์กฐ๋ ์๋์ผ๋ก ๊ณต๊ฐ ๋ชฉ๋ก์ ๋ฃ์ง ์๋๋ค.
์ ์ฑ test double ํต๊ณผ, ํฉ์ฑ ๋ชจ๋ธ ํ๊ฐ, ์ค์ read-only ์กฐํ, ์ค์ ํ๋ฉด ํ์, ์ค์ ์ ๋ฌด ์ํ ์ ์ด๋ฅผ ๊ฐ๊ฐ ๋ฐ๋ก ์ง๊ณํ๋ค. ์ด๋ฒ ์ด์์ผ๋ก ์ฃผ์ฅํ ์ ์๋ ๊ฒ์ ์ธ ํ์์ ๋ฒ์์ ๋ค์ ๊ฒ์ฌ ๊ณํ์ ๊ตฌ์ฒดํํ๋ค๋ ์ฌ์ค๋ฟ์ด๋ค. ์ ํ๋ จ, ์ค์ reader ์ ์, ์ค์ ํ์ ์ค์น, ์๋น์ค ์ฐ๊ธฐ, 100/400/2,400๊ฐ ๊ฒ์ ์๋ฃ, ์ค์ฌ์ฉ ์ ํ๋ ํฅ์์ ์ฃผ์ฅํ์ง ์๋๋ค.
๊ฒ์ยท์ ์ฒดํ์ผ๊ฒ์ฆ๊ธฐ๋ก. OS RSS์Go heap/GPU๋ฉ๋ชจ๋ฆฌ๋ ์ธก์ ๋ฒ์๊ฐ ๋ฌ๋ผ ๋ํ์ง ์๋๋ค.