Task Results 55 KO - teamswyg/laya-tools GitHub Wiki
PDCA55: ์ธ๋ถ Go ์์ฒญ ๋ ๊ฐ์ ์ค์ ํ๋กํ ๋น๊ต
humanize์ ์ ์ฒด int64 ์์ API์ UUID์ ์๊ฒฉํ ์๋ฌธ์ ํ์, ์๋ก ๋ค๋ฅธ ๊ฐ๋ฐ ์์ฒญ ๋ ๊ฐ๋ฅผ Sol6 low์ Luna low์ ๊ฐ๊ฐ ํ ๋ฒ์ฉ ๋งก๊ฒผ์ต๋๋ค. humanize๋ ๋ ํ๋ณด ๋ชจ๋ ์์ฉ๋๊ณ , UUID๋ Sol6 ํ๋ณด๊ฐ ์์ฉ๋๊ณ Luna ํ๋ณด๊ฐ ๊ฑฐ์ ๋์ต๋๋ค. ๋ค CLI๋ ๋ชจ๋ ์ ์ ์ข ๋ฃํ๊ณ ์ ์ฒด ๊ธฐ๋ณธ ์ฌ์ฉ๋์ ํ์ธํ์ต๋๋ค. ํ๋ก์ธ์ค๊ฐ ์ ์ ์ข ๋ฃํ๋ ๊ฒ๊ณผ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ๋ ๊ฒ์ ๋ณ๊ฐ์ ๋๋ค.
๋ค ํ๋กํ ์๋๋ humanize 6๊ฐยทUUID 218๊ฐ์ ํ ์คํธ๋ฅผ ๊ณ ์ ์์ฒญ ์์ ๋ํ์ง ์์ต๋๋ค. ๋ ์์ฒญ์ ํ ๋ฒ์ฉ ๊ด์ธก์ผ๋ก ๋ชจ๋ธ ์์ด์ด๋ ๊ธ์ก ์ ๊ฐ์ ๊ฒฐ๋ก ๋ด๋ฆฌ์ง ์์ต๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ธฐ ์ ์ ๊ณ ์ ํ ์กฐ๊ฑด
humanize ๊ณํ๊ณผ UUID ๊ณํ์ ์์ฒ revision์ด ๋ฌ๋ผ ๋ณ๋๋ก ๋ง๋ค๊ณ , ์ ์ฒด ์์ฐ์ด ๋ค ์ฌ๋กฏ์ ๋ฌถ์์ต๋๋ค. ๊ณํ์ ์ปค๋ฐ fe7f3c68df1b299d04a9115081c52fd4d81afd9b์ ๋จผ์ ๊ณ ์ ํ์ต๋๋ค. ์์๋ humanize/Sol6 โ UUID/Luna โ humanize/Luna โ UUID/Sol6, ๋์ ์คํ 1๊ฐ, ๋ชจ๋ธ ์คํ 120์ด์ ๋ณ๋ ๋
๋ฆฝ ๊ฒ์ฌ 45์ด ํ๋์
๋๋ค. ์คํ๊ธฐ์ ์ฌ์๋ยทresumeยทfallback์ ์์์ต๋๋ค.
2๋ฒ๊ณผ 3๋ฒ ์ฌ์ด์๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ ํด์๊ณผ ์ฝ๊ธฐ ์ ์ฉ upstream ๊ฒํ ๊ฐ ์์๊ณ , ๋ช ์์ ์ฌ๊ฐ ํ ๋จ์ ์์๋๋ก ์คํํ์ต๋๋ค. ํด์์ ์คํจ ์ฌ๋กฏ์ ๋ค์ ์คํํ๊ฑฐ๋ ์ ledger๋ฅผ ๋ง๋๋ ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํ์ง ์์์ต๋๋ค. ์ด ๊ฐ๊ฒฉ๊ณผ ์์ฒญ๋ณ ๊ด์ธก ํ๋๋ผ๋ ์กฐ๊ฑด ๋๋ฌธ์ ์๊ฐ์ ํต์ ๋ ์ผ๋ฐ ๋ฒค์น๋งํฌ๋ก ํด์ํ์ง ์์ต๋๋ค.
์ต์ข receipt๋ ์์ฝ 4๊ฐยทdurable ์์ marker 4๊ฐยท์ข ๋ฃ receipt 4๊ฐยท์์ ์ํ ๋ฏธํ์ธ 0๊ฐ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์์ฐ์ ์์ง๋๊ณ ํ์ฑ ์คํ์ ์์ต๋๋ค. ๋ค ์คํ ๋ชจ๋ ์์ ํ๋ก์ธ์ค ๊ทธ๋ฃน ์ ๋ฆฌ์ ๋ณต์ฌ ์ธ์ฆ์ ์ ๊ฑฐ ์ํ๋ฅผ ํ์ธํ์ต๋๋ค. ๋ค ์ฌ๋กฏ์ ํ๋ถ์ ์์ต๋๋ค. ์ด cap์ ๋์ผํ private durable ledger ํ๋์ ์ ์ฉํ๋ฉฐ ํธ์คํธยท๊ณ์ ์ ์ฒด๋ ๊ณต๊ธ์ ๋ด๋ถ ํธ์ถยท์ฌ์๋ ํ์์ ํ๋๋ ์๋๋๋ค.
์คํ๊ธฐ๋ CI๋ฅผ ํต๊ณผํ ๊ฒํ head c8d1cf66413b696b7c0872c01df8155e3cca29d4์ tree๊ฐ ๊ฐ์ merge e30da75c5d1ea381924ac5d54e8bcbb9a2f462c8์์ ๊นจ๋ํ๊ฒ ๋น๋ํ์ต๋๋ค. ๋น์ CI๋ framework ๊ฒ์ฌ์
๋๋ค. ๋ค ์ค์ ์ฝ๋ฉ ์คํ์ ๋ก์ปฌ Mac์ Codex CLI๋ฅผ ํตํด ์งํํ๊ณ , ๊ธฐ์กด ChatGPT ๋ก๊ทธ์ธ๋ง ์ฌ์ฉํ์ต๋๋ค. ์ API ํคยท์ ๋ฃ cloud ์์
ยทendpoint๋ ๋ง๋ค์ง ์์์ต๋๋ค.
๋ชจ๋ธ์ ์ ๋ฌํ ์๊ตฌ์ Go ์กฐ๊ฑด
์ด๋ฒ v2์ ์ค์ stdin์ ๊ณ ์ ๋ ์ ์ฒด Spec.Prompt์
๋๋ค. ๋ณ๊ฒฝ ๊ฐ๋ฅ ํ์ผ, legacy ๋ณด์กด, ํ์ฉ ํ์๊ณผ ๊ฒ์ฆ๊ธฐ์ ์ง์ ๋ฒ์๋ฅผ ์ ๋ฌํ์ต๋๋ค. humanize๋ 3,150 bytes, UUID๋ 5,745 bytes์ด๋ฉฐ ๊ณํ์ Prompt SHA์ ์ฐ๊ฒฐํฉ๋๋ค. v2๋ ์ด๋ฏธ ์ค๋นํ ๋ ๋
ผ๋ฆฌ ์์ฒญ์ ์ค๋ช
ยทํ๊ฐ ๋ฒ์ ์
๋๋ค. ๋ฒ์ ID ๋ ๊ฐ๊ฐ ์ ๋
ผ๋ฆฌ ์์ฒญ ๋ ๊ฐ๋ฅผ ๋ง๋ ๊ฒ์ ์๋๋ฉฐ, ์ด๋ฒ์ ๋ ์์ฒญ์ ์ฒ์ ์ค์ ๋ก ์๋ํ์ต๋๋ค.
| ์์ฒ ์์ฒญ | ๊ณ ์ revision | ์๋ณธ ์ธ์ด | Go ์คํ ํ์ผ | ๊ณ์ฝ์ ๋ฒ์ |
|---|---|---|---|---|
| humanize ์ ์ฒด int64 ์์ | a1b4e66b9a6d890e9e15e7091cf16c8032367d6e |
Go 1.21 | Go 1.27.1 | ์ API์ ์์ยท๋๊ฐยทsuffix์ ๊ธฐ์กด Ordinal ๋ณด์กด |
| UUID ์๋ฌธ์ ํ์ | 2d3c2a9cc518326daf99a383f07c4d3c44317e4d |
directive๊ฐ ์์ด ์๋ฌต์ Go 1.16 | Go 1.27.1 | ์๋ฌธ์ 36-byte ๋ฌธ๋ฒ, ์ค๋ฅ ์ zero UUID, ๊ธฐ์กด API์ ์ํ ๋ณด์กด |
๋
๋ฆฝ ๊ฒ์ฌ๊ธฐ๋ ์๋ณธ go.mod bytes์ ๋ชจ๋ยทrecipe SHA๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ํ๋ณด ๋ชจ๋ ์ค์ ๊ณผ ํ๋ณด๊ฐ ์์ฑํ ํ
์คํธ๋ ์ฑ๊ณต ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํ์ง ์์์ต๋๋ค. UUID๋ ๊ณ ์ ์๋ณธ ๋๋ trusted formatter prefix ๋ค์ ํจ์ ํ๋๋ฅผ ์ถ๊ฐํ๋ ์ ํ๋ ํํ๋ฅผ ์ง์ํฉ๋๋ค. ์ถ๊ฐ helperยท๋ณ์นญ์ ํตํ ํธ์ถยท๋์์ฑยท์ ์ญ ๋ณ๊ฒฝ ๋ฑ ์ง์ ๋ฐ ํํ๋ ์ฌ๋ฐ๋ฅธ ์ถ๋ ฅ์ด๋ผ๋ verifier_unknown์ด๋ฉฐ ํ๋ ์คํจ๋ก ๋ฐ๊พธ์ง ์์ต๋๋ค. ํ๊ฐ ์กฐ๊ฑด ์ค๋ช
์๋ณธ MITยทBSD-3 LICENSE๋ ๋ณ๋๋ก ๊ฒ์ฆํด ๊ณ ์ ๋ณต์ฌํ์ต๋๋ค. ํ๋ณด LICENSE ๋ด์ฉ์ ์ฑ๊ณต ๋ผ๋ฒจ์ ํ๊ฐ ๋์์ด ์๋๋ฉฐ accepted๊ฐ ํ์ ๋ฐฐํฌ์ attribution ์ค์๋ฅผ ์ธ์ฆํ์ง ์์ต๋๋ค. ์ ํํ ๊ณ์ฝ ํต๊ณผ๋ฅผ ์ ์ฒด upstream ์ ํ์ฑ์ด๋ ๋ชจ๋ธ ํ์ตยท๊ฐ์ค์น ๋ฐฐํฌ ๊ถ๋ฆฌ๋ก ํ๋ํ์ง ์์ต๋๋ค.
์ค์ ๊ด์ธก
| ์์ | ์์ฒญ | ์์ฒญ ํ๋กํ | ๋ชจ๋ธ ์คํ ms | ๋ณ๋ ๊ฒ์ฌ ms | ์ ๋ ฅ | ์ ๋ ฅ ์ค ์บ์ | ์ถ๋ ฅ | ์ถ๋ ฅ ์ค reasoning | ๋ ๋ฆฝ ๊ฒฐ๊ณผ |
|---|---|---|---|---|---|---|---|---|---|
| 1 | humanize | Sol6 low | 76,404 | 4,170 | 59,824 | 44,928 | 1,005 | 83 | ์์ฉยทterminal pass 6๊ฐ |
| 2 | UUID | Luna low | 98,471 | 5,852 | 152,941 | 129,536 | 2,126 | 0 | ๊ฑฐ์ ยทpass ์ ๋ฏธ์ง๊ณ |
| 3 | humanize | Luna low | 20,836 | 4,646 | 45,866 | 39,936 | 649 | 0 | ์์ฉยทterminal pass 6๊ฐ |
| 4 | UUID | Sol6 low | 43,474 | 5,421 | 82,301 | 66,304 | 1,347 | 231 | ์์ฉยทterminal pass 218๊ฐ |
ํฉ๊ณ ์ ๋ ฅ 340,932์ ์บ์ 280,704๊ฐ ํฌํจ๋๊ณ ์ถ๋ ฅ 5,127์ reasoning 314๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ฐ๊ฐ ๋ถ๋ถ์งํฉ์ด๋ฏ๋ก ๋ค์ ๋ํ์ง ์์ต๋๋ค. ๋ชจ๋ธ ์คํ ํฉ๊ณ 239,185 ms์ ๋ณ๋ ๊ฒ์ฌ 20,089 ms๋ ๋ถ๋ชจ ์ค๋นยท์ฌ์ Laya ๊ด์ธกยทํด์ ์๊ฐ์ ํฌํจํ์ง ์์ต๋๋ค.
humanize์์๋ Luna ์๋์ ์ ๋ ฅยท์ถ๋ ฅ๊ณผ ์คํ ์๊ฐ์ด ๋ ์์ผ๋ฉด์ ๊ฐ์ ๊ณ์ฝ์ ํต๊ณผํ์ต๋๋ค. UUID์์๋ Luna ํ๋ณด๊ฐ ๊ฑฐ์ ๋๊ณ Sol6 ํ๋ณด๊ฐ ํต๊ณผํ์ผ๋ฉฐ ๊ด์ธก ์คํ ์๊ฐ๋ ๋ฌ๋์ต๋๋ค. ์ด ๋ ๊ด์ธก์ ์์ฒญ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์์์ ๋ณด์ฌ์ฃผ๋ฉฐ ์ผ๋ฐ ๋ชจ๋ธ ์์๋ ์ฑ๊ณต ํ๋ฅ ์ ๋ผ๋ฒจ์ ์๋๋๋ค. ์คํจ ํ๋ณด์ ์๋ฆฌยท์์ ํ๋กํ๋ก ์ฌ์๋ํ๋ ๋น์ฉ์ ์คํํ์ง ์์์ต๋๋ค. ๊ตฌ๋ ์๋ชจ์จยท์ฒญ๊ตฌ ๋จ๊ฐยท๊ณต๊ธ์ ๋ด๋ถ ํธ์ถ๊ณผ ์ฌ์๋ ํ์๋ ๋ฏธํ์ ์ด๋ผ ๊ธ์ก ์ ๊ฐ์ ์ฃผ์ฅํ์ง ์์ต๋๋ค.
๊ณต๊ฐ ์์น์ ํด์๋ ๋ค ์๋ ๊ธฐ๋ก์ raw bytes์ receipt์ ์ฐ๊ฒฐํฉ๋๋ค. ๋๋จธ์ง ๊ธฐ๋ก์ 2๋ฒ, 3๋ฒ, 4๋ฒ์
๋๋ค. ์์ฒญ ํ๋กํ์ ๋ช
์๋์ง๋ง ๊ณต๊ธ์๊ฐ ์ฆ๋ช
ํ ์ค์ ๋ชจ๋ธ ์ ์ฒด๋ ๋ค ์คํ ๋ชจ๋ unknown์
๋๋ค. ๋ชจ๋ธ ์๋ฌธ traceยท์ธ์ฆยท๊ฐ์ธ ์ฝ๋ยท๋ก์ปฌ ๊ฒฝ๋กยท๊ฐ์ค์น๋ ๊ณต๊ฐํ์ง ์์ต๋๋ค.
UUID Luna ํ๋ณด๊ฐ ๊ฑฐ์ ๋ ์ด์
์ข ๋ฃ ํ ์์ค๋ง ๊ฒํ ํ ๊ฒฐ๊ณผ, ์ฌ๋ฐ๋ฅธ nonzero prefix ๋ค์ ์๋ชป๋ hex๋ ๋ค์ชฝ separator๊ฐ ๋์ค๋ฉด ์ค๋ฅ์ ํจ๊ป ์ผ๋ถ ์ฑ์์ง UUID๋ฅผ ๋ฐํํฉ๋๋ค. ๋ชจ๋ธ์ ๊ณต๊ฐํ ์๊ตฌ๋ ๋ชจ๋ ์ค๋ฅ์์ zero UUID๋ฅผ ๋ฐํํ๋ ๊ฒ์ด๋ฏ๋ก ์๋ฐ์ ๋๋ค. ์ด ๋ถ์์ ์ํด ๋ชจ๋ธ์ ๋ค์ ์คํํ๊ฑฐ๋ ํ๋ณด๋ฅผ ๊ณ ์ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฎ์ด์ฐ์ง ์์์ต๋๋ค.
์๋ณธ verifier์ independent_tests: 0์ ๋
๋ฆฝ go test๊ฐ ๋น์ ์ ์ข
๋ฃํ์ ๋ terminal pass ์ง๊ณ ์ ์ ๋ฐํํ๋ ์นด์ดํฐ์
๋๋ค. ๊ฒ์ฌ๊ฐ ์คํ๋์ง ์์๊ฑฐ๋ 218๊ฐ๊ฐ ๋ชจ๋ ์คํจํ๋ค๋ ๋ป์ด ์๋๋๋ค. ๊ณต๊ฐ ์ง๊ณ์์๋ pass ์๋ฅผ null๋ก ๊ตฌ๋ถํฉ๋๋ค. ๊ฒฉ๋ฆฌ ๊ฒ์ฌยท์ง์ ํํยทํฌ๋งท gate๋ฅผ ํต๊ณผํ ๋ค ํ๋ ๊ฒ์ฌ๊ฐ ๊ฑฐ์ ํ ๊ฒฐ๊ณผ์
๋๋ค.
์ฝ๋ฉ ์ ์ ๊ด์ธกํ Laya
์ฌ์ ์์ธก์ ์ปค๋ฐ 1b87612d7848ada919356c9dbe5f1e04f2993ea8์ ๋จผ์ ๊ณ ์ ํ์ต๋๋ค. ์ ์ฒด Prompt bytes๋ฅผ ๊ทธ๋๋ก ์
๋ ฅํ๊ณ ๊ธฐ์กด INT8 base, CPU ํ ์ค๋ ๋, ์๊ณ๊ฐ 0.9, 512-token ํ๋๋ฅผ ์ ์งํ์ต๋๋ค.
| ์์ฒญ | ์ ์ฒด ์ ๋ ฅ bytes | standard ์ ์ | ์ ๋ ฅ ์๋ฆผยท๋ณด๋ฅ | cold ํ๋ก์ธ์ค ms | ์ฑ ๊ด์ธก ms | ์ต๋ RSS bytes |
|---|---|---|---|---|---|---|
| humanize | 3,150 | 0.502708097 | ๋ชจ๋ true | 1,595 | 1,551.182 | 1,544,044,544 |
| UUID | 5,745 | 0.477323446 | ๋ชจ๋ true | 1,337 | 1,304.806 | 1,581,891,584 |
๋ ์ ๋ ฅ ๋ชจ๋ ์ง๋ฌธยทํค๋ยท์ ํ์ง๊น์ง ํฌํจํ ์ ์ฒด 512-token ํ๋์์ ์๋ ธ๊ณ Laya๋ ๋ณด๋ฅํ์ต๋๋ค. ์ค์ ์ strong/Astra๋ฅผ ์ ์งํ์ง๋ง ์ด๋ฒ ์ค์ ๋น๊ต๋ ๋ณ๋๋ก ๊ณ ์ ํ Sol6/Luna ์์์ ๋๋ค. Astra๋ฅผ ์คํํ๊ฑฐ๋ ์ค์ ๋ผ์ฐํ ์ ์ฑ ์ ํ์ฑํํ์ง ์์์ต๋๋ค. ์ ๋ ฅ SHA๊ฐ ์ ์ฒด Prompt์ ๊ฐ์๋ encoder๊ฐ ์ ์ฒด ๋ด์ฉ์ ์ฝ์๋ค๋ ๋ป์ ์๋๋๋ค. ์ด ์ ์๋ ๋ณด์ ๋ ์ฝ๋ฉ ์ฑ๊ณต ํ๋ฅ ์ด ์๋๋๋ค.
์ฝ 1.54/1.58 GB์ ์ต๋ RSS์ ์๊ฐ์ native ๋ก๋ฉ์ ํฌํจํ cold CPU ์ ์ฒด ํ๋ก์ธ์ค ๊ด์ธก์ ๋๋ค. Go heapยทGPU ๋ฉ๋ชจ๋ฆฌยทremote ์ฝ๋ฉ ๋ชจ๋ธ ์์ยทwarm ์ง์ฐ๊ณผ ๊ตฌ๋ถํฉ๋๋ค. ํ์ฌ ๊ด์ธก์ ์ด์ ์์ ๋ชฉํ ๋ฌ์ฑ์ ๋ณด์ฌ์ฃผ์ง ์์ต๋๋ค.
upstream ๊ฒํ ์ ๋ค์ ๋ฐฉํฅ
๊ณ ์ Laya์ router preset์ ๋์ด๋ยท๋๋ฉ์ธยท๋๊ตฌ ํ์ยท๋ฏผ๊ฐ์ฑ์ ์ง๋ฌธํฉ๋๋ค. ๋ผ์ฐํ ์์ ๋ ์์์ ์ ๋ ฅ 3๊ฐ์ threshold ์ ์ฑ ์ ์ ์ฉํฉ๋๋ค. model-routing benchmark๋ 399๊ฐ ์ ๋ ฅ์ ๋๋ฉ์ธ ๋ถ๋ฅ์ด๋ฉฐ ํน์ Codex ํ๋กํ์ ์๋ฃยท์ฌ์ฉ๋ ์ ๋ต์ด ์๋๋๋ค.
๋ฐ๋ผ์ ์งง์ ์ฃผ์ฅ๊ณผ ํํธ๋ฅผ ์ ์ํํ๋ ๊ตฌ์กฐ๋ ์ฐธ๊ณ ํ ์ ์์ง๋ง, ๋ชจ๋ธ ์ ํ์ ์ ์ฉ์ฑ์ ์ค์ ์๋ฃ ๊ฒฐ๊ณผ์ ์คํจ ๋น์ฉ์ผ๋ก ๋ณ๋๋ก ๊ฒ์ฆํด์ผ ํ๋ค๋ ํ๋จ์ ๋๋ค. ์ด๋ฒ full Prompt๋ ์๋ ค์ ๋ณด๋ฅ๋์ผ๋ฏ๋ก, ์งง์ ์ฃผ์ฅ ์ ๋ ฅ๊ณผ encoder ์์ด ์คํํ๋ Go ๊ท์นยท์์ ๊ณ์ ๊ธฐ์ค์ ์ ๋ณ๋ PDCA56์ ๊ณํ์ผ๋ก ๋น๊ตํฉ๋๋ค. ์ด๋ฒ ์ ๋ ฅ์ ๋์ค์ ์งง๊ฒ ๋ฐ๊ฟ ๊ฐ์ ์คํ์ ์ฑ๊ณต์ผ๋ก ์ฒ๋ฆฌํ์ง ์์ต๋๋ค. ์ ์คํ์ ์ฑ๋ฅ์ ์์ง ์ ์ ์์ต๋๋ค.
๊ท๋ชจ์ ์ ๊ฒฉ์ฑ
์ค์ ๋์ ๊ฐ๋ฐ ๊ด์ธก์ ๊ณ ์ ์์ฒญ 7๊ฐยทCLI ๊ธฐ๋ก 20๊ฐยท์ฝ๋ ๊ฐ์กฑ 5๊ฐยท์ ์ฅ์ 3๊ฐ์ ๋๋ค. ์ค๋น๋ ๋ ผ๋ฆฌ ์์ฒญ ์๋ฅผ ๋๋ฆฐ ๊ฒ์ ์๋๊ณ , ์ฒ์ ์๋ํ ์ธ๋ถ ๋ ์์ฒญ์ผ๋ก ์ค์ ๊ด์ธก ๋ฒ์๊ฐ 5๊ฐ์์ 7๊ฐ๋ก ๋์์ต๋๋ค. ๊ณผ๊ฑฐ ์คํจยท์๊ฐ ์ด๊ณผยท์ง์ ์ค๋ฅ์ ์๋ณธ 120๊ฐ ํ๋ณด๋ ๊ทธ๋๋ก ๋ณด์กดํฉ๋๋ค. 120๊ฐ ํ๋ณด๋ 120๊ฐ ์ ๋ต์ด๋ ์คํ ๊ฐ๋ฅํ ๊ณ์ฝ์ด ์๋๋๋ค.
์ด๋ฒ ๋ ์์ฒญ์ ๊ฐ๋ฐ์ ์ด๋ฏธ ์ฝ์ ์๋ฃ์ ๋๋ค. ํ์ต ์คํยทํ์ต ์ ๊ฒฉ ๋ผ๋ฒจยท๋ณดํธ๋ final ์ ๊ฒฉ ์์ฒญยท์ ๊ฐ์ค์น ๋ฐฐํฌยท์์ฐ ์ ์ฑ ๋ณ๊ฒฝ์ ๋ชจ๋ 0์ ๋๋ค. ํ ์คํธ ์๋ ๋ฐ๋ณตยท๋ฒ์ญยทํ์ ๊ณผ์ ๋ฅผ ๋ณ๊ฐ ์ต์ข ์์ฒญ์ผ๋ก ์ธ์ง ์์ต๋๋ค.
24๊ฐ ์ด๊ธฐ ๊ฐ๋ฐ ์ํ ๋ค์์๋ ์ฌ๋ฌ ์ ์ฅ์์์ ๋ ๋ฆฝ ๊ฒ์ฌ๋ฅผ ๊ฐ์ถ ๊ฐ๋ฐ ์์ฒญ 120๊ฐ ์ด์, ํ์ต ์ ํธ ๊ฒํ 240๊ฐ ์ด์์ผ๋ก ํ์ฅํฉ๋๋ค. ๋ณ๋๋ก ํ๋ณดํ ์ฃผ์ฅ ์์ญ๋ง๋ค ์๋ก ๋ค๋ฅธ ๋ณดํธ๋ ์ต์ข ์์ฒญ 2,400๊ฐ ์ด์์ด ์ต์ข ๋ชฉํ์ ๋๋ค. ์ด ๋จ๊ณ๋ค์ ์์ง ๋ฌ์ฑํ์ง ์์์ต๋๋ค. ๊ท๋ชจ ์ค๋ช ๊ณผ ํ๋ณด ๊ณํ์ ๋ฐ๋ผ ์๋ฃ์ ๊ทธ๋ฃน์ ๋๋๋๋ค. ์ด๋ฒ ์ฃผ๊ธฐ์ ํ์ตยท๋ณด์ ยท์ ๋ชจ๋ธ ๋ฐฐํฌยทprotected final ์ฑ์ ์ ํ์ง ์์์ต๋๋ค.