Finite Property Sources 56e KO - teamswyg/laya-tools GitHub Wiki
์ค์ ๊ณต๊ฐ ์์ฒ์ผ๋ก ๋ํ๋ ๋ค์ ๋จ๊ณ
56e์ ์ ํ quoted ๊ฐ์กฑ๋ง ๋ฐ๋ณตํด๋ ๋ฐ์ดํฐ ๋ค์์ฑ์ ๋์ง ์๋๋ค. ๋ค์์ ๋ค๋ฅธ ์์ฒ์ ์๋ฏธ ๊ณ์ฝ์ ์ค์ ๋ก ๊ตฌํํ๊ธฐ ์ํ ์กฐ์ฌ๋ค. GitHub API์์ ๊ณ ์ revision์ root tree, ๋ผ์ด์ ์ค์ ๊ตฌํ ํ์ผ์ ์ฝ์๋ค. ์ ๊ฐ๋ฐ ์์ฒญยท๋ ๋ฆฝ truthยท๋ชจ๋ธ ๊ฒฐ๊ณผ ํ๋ณด๋ ์์ง0์ด๋ฉฐ ๊ธฐ์กด120๊ฐ inventory๋ฅผ240๊ฐ ์๋ฃ๋ก ๋ฐ๊พธ์ง ์๋๋ค.
| ์ฝ์ ๊ณต๊ฐ ์์ฒ | ๊ณ ์ revision | ํ์ธํ ํ์ผ | ์ฐ์ ํ๋ |
|---|---|---|---|
| Masterminds/semver v3.4.0 | 61fc460d28283a91c53be65c2e0f20b494ac8ad9 |
version.go, root tree, LICENSE.txt |
์๊ฒฉ parsingยท๋ฒ์ ์ฐ์ ์์ยทmetadata ๋ฌด์ |
| bmatcuk/doublestar v4.9.1 | 8b690afa33319b0a1869367f594e53977e38bc99 |
match.go, root tree, LICENSE |
๋๋ ํฐ๋ฆฌ globยทescapeยท์๋ชป๋ pattern ์ค๋ฅ |
๋ ๊ณ ์ LICENSE๋ MIT ๋ฌธ๊ตฌ์ ์ ์๊ถ ํ์๋ฅผ ํฌํจํ๋ค. ์ดํ ์์ค๋ฅผ ์ค์ ๋ก ๋ณต์ฌ/๋ฐฐํฌํ๋ฉด ๊ฐ ์๋ณธ์ ์ ์๊ถ๊ณผ ๋ผ์ด์ ์ค ์ ์ฒด๋ฅผ ์ ์งํ๋ค. ํ์ฌ๋ ์๋ฌธ ์ฝ๋๋ฅผ vendorํ๊ฑฐ๋ ๊ฐ์ค์น์ ์ฌ์ฉํ์ง ์์๊ณ , ์ด ์กฐ์ฌ๋ง์ผ๋ก ์ ์ฒด dependencyยทํ์ต ์์ฐ์ ๊ถ๋ฆฌ ๊ฒํ ๊ฐ ๋๋ฌ๋ค๊ณ ํ์ง ์๋๋ค. ํ์ผ byte SHA, ๋ซํ helper/dependency, compile provenance์ NOTICE ์ฌ๋ถ๋ ์คํ ๊ฐ๋ฅํ ์์ฒ manifest ๋จ๊ณ์์ ์ถ๊ฐ๋ก ํ์ธํ๋ค.
์๋ก ๋ค๋ฅธ ํ๋์ ์ค์ ๋ก ๊ฒ์ฌํ๋ ๊ณ์ฝ ์ ์
- Strict semver parsing: ์ ํจํ3๊ฐ ์ซ์ ๊ตฌ๊ฐ๋ง ํ์ฉํ๊ณ ,
vprefixยท๋น ์ง ๊ตฌ๊ฐยท์์๋ฆฌ0์ ๊ฑฐ์ ํ๋ ์ ํ ์์ฒญ. nil/error identity์ ๊ฐ ํ๋๋ฅผ ๋ ๋ฆฝ literal oracle๋ก ํ์ธํ๋ค. permissiveNewVersion์ ์ ์ญCoerceNewVersion์ค์ ์ strict ๊ณ์ฝ๊ณผ ํผํฉํ์ง ์๋๋ค. - Build metadata ๋ฌด์: ๊ฐ์ major/minor/patch/prerelease์์ ๋ค๋ฅธ metadata์ ๋น๊ต ๊ฒฐ๊ณผ๋0์ด์ด์ผ ํ๋ค. ๋ฌธ์์ด ์์ฒด์ equality์ ์๋ฏธ ์ฐ์ ์์๋ฅผ ๊ตฌ๋ถํ๋ค.
- Prerelease ์์: ์ซ์ ์๋ณ์๋ ์์น๋ก ๋น๊ตํ๊ณ ์ ์ release๋ณด๋ค ๋ฎ์ผ๋ฉฐ ์ซ์์ ๋ฌธ์ ์๋ณ์๋ฅผ ๊ตฌ๋ถํ๋ ์ ํ ์
๋ ฅ.
Compare,LessThan,Equalwrapper๋ค์ ๊ฐ์ helper ๊ทธ๋ฃน์ ๋ฌถ๊ณ ๋ ๋ฆฝ ์์ฒญ์ฒ๋ผ ๋ถํ๋ฆฌ์ง ์๋๋ค. - Glob ๋๋ ํฐ๋ฆฌ:
a/*.go์a/**/*.go์ ๊ตฌ๋ถ, zero-directory์ nested-directory ์ฌ๋ก๋ฅผ ์๋/separator ๊ณ์ฝ์ผ๋ก ๊ด์ธกํ๋ค. macOSPathMatch์Match๋ฅผ ํผํฉํด ํ๋ซํผ ์ฐจ์ด๋ฅผ ์๋ฏธ ํ์ต์ผ๋ก ์ธ์ง ์๋๋ค. - Glob escape: escapeํ wildcard์ literal ๋์๊ณผ ํ ๊ธ์ wildcard์ separator ์ ์ธ๋ฅผ ๋ถ๋ฆฌํ๋ค. ๊ธธ์ด/ASCII ๋ฒ์๋ฅผ ๋จผ์ ์ ํํ๊ณ ํด๋น ์ ๋ ฅ๋ง ๊ฒ์ฆํ๋ค.
- Bad-pattern error: malformed pattern์
ErrBadPattern์ ์ ํํ ์๊ตฌํ๋ค.MatchUnvalidated๊ฐ ์ค๋ฅ๋ฅผ ๋ฒ๋ฆฌ๋ bool wrapper๋ผ๋ ์ ์ ์จ๊ธฐ์ง ์๋๋ค. false๋ง ๋ฐํํ๋ฉด ์ค๋ฅ ๊ณ์ฝ์ ์ ๋ต์ด ์๋๋ค.
์ด ํ๋์ upstream์ ์ด๋ฏธ ๊ตฌํ๋์ด ์์ผ๋ฏ๋ก ์ ์ฝ๋ฉ ๊ณผ์ ๊ฐ ๋ฏธ๊ตฌํ ์ํ๋ผ๋ ๋ป์ด ์๋๋ค. ์ฐ์ ์ ๋ชจ๋ธ์ ๊ฒ์ฆ ์ ์ค๋ช ยทํํธ๋ฅผ ์ํ ์ฝ๋ ์๋ฏธ ์์ฒ์ด๋ค. ์ค์ ์ฝ๋ฉ ์๋ฃ์จ/๋ชจ๋ธ ๋ผ์ฐํ ์ฉ ์์ฒญ์ ๋ณ๋ baseline gap๊ณผ ๋ ๋ฆฝ ์์ฉ ์กฐ๊ฑด์ด ์์ด์ผ ํ๋ค.
์คํ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ์์
์๋ฌธ byte์ ๊ถ๋ฆฌ ๊ณ ์ โ source/helper/alias closureยท๋ซํ Go compile โ ์์ค ๊ด์ธก ์ ์์ฒญ/์ค๋ช ยท๋ ๋ฆฝ ๊ธฐ๋๊ฐ ์์ฑ ๋ฐ ๊ฒํ โ ์์ฒ์ ๋ฐ๊พผ mutation ๋์กฐ์ unknown ์ฒ๋ฆฌ โ ๊ด๊ณ ๊ทธ๋ฃน ๊ฐ์ฌ โ ๋ณ๋ ๊ณต์ truth ๋ด์ธ/๊ด์ธก โ ํ๋ณด๋ฅผ ๋ชจ๋ ๋ณด์กดํ๋ ๋นํ์ต ํจ์ฉ ๊ณํ์ด๋ค. ์ผ๋ฐ ์๋ฌธ ํจ์๊ฐ ๊ฐ์ง ๊ฒฝ๊ณ๋ฅผ ์ข์ literal ๊ฒ์ฆ์ผ๋ก ์ธ์ฆํ์ง ์๋๋ค. ์ธ semver ํ๋๊ณผ ์ธ glob ํ๋์ด ์๋์ผ๋ก6๋ ๋ฆฝ ๊ฐ์กฑ์ด ๋๋ ๊ฒ์ ์๋๋ค.
๊ทธ ๋ค120โ240์ ์ค์ ์๋ฃ ์, ์ ์ฅ์ยท์ธ์ดยท์์ฑ ํ๋ฆยทํ๋ ์ข ๋ฅ ๋ถํฌ๋ฅผ ํ์ธํ๋ค. ๋ชฉํ ์ซ์๋ฅผ ๋น ํ์ด๋ ๋ฌธ์ฅ ๋ณํ์ผ๋ก ์ฑ์ฐ์ง ์๋๋ค. ์ต์15๊ทธ๋ฃนยทํ์ ํจ์ฉ5%ยท๋ณ๋ ๋๋ฉ์ธ๋ณ ๊ณ ์ ๋ณดํธ ์ต์ข 2400๊ฐ ๊ธฐ์ค์ ์ ์งํ๋ค. ์ paid/model callsยทfitยท๊ฐ์ค์นยท๋ณดํธ ์ต์ข ์ ๊ทผ0. ๋ชจ๋ธ ๋ณธ์ฒด๋ ์๊ฒฉ์ ๊ฐ์ถ immutable HF ๋ฐฐํฌ๊ฐ ์์ ๋๋ง ๊ณต๊ฐํ๊ณ Git์๋ ๋ฃ์ง ์๋๋ค.