Bound Assembly Feedback - kimjooyoon/meta-ontology-go GitHub Wiki
์ฐ๊ฒฐํ ํ๋์ ์คํจ๋ก ๋ค์ ์กฐ๋ฆฝ ์งํํ๊ธฐ
๋ฌธ๊ตฌ์ ์ ์๋ฅผ ์กฐ๋ฆฝํ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ํ๋์ ๋๊ฒผ์ ๋ ์๋ก์ด ์คํจ๊ฐ ๋๋ฌ๋ ์
์์ต๋๋ค. ์์
์ฅ์ ๊ทธ ์คํจ ํ์ ์๋ ์
๋ ฅ๊ณผ ํจ๊ป ๋ค์ ์ฝ๋ ์์ฑ์ ๋ฐ์ํฉ๋๋ค.
Describe๊ฐ ๋ ์ฝ๋๋ฅผ ์กฐ๋ฆฝํ๊ณ Present๊ฐ ์กฐ๊ฑด์ ๋ฐ๋ผ Decorate๋ฅผ ํธ์ถํ๋
์์ ์์ ๋ก ํ์ธํ์ต๋๋ค.
๊ณต๊ฐ Gooo 0.6.22-dev, Go 1.27.2์ ์์ ์ฅ ์ต์ main์์ ์คํํฉ๋๋ค. PR53์ ์๋ณธ ์ ์ฒด CI 37942229769์ 38๋จ๊ณ์ push ๊ฒ์ฌ๋ฅผ ํต๊ณผํด main 7d64f529์ ๋ณํฉยท์ค์นํ์ต๋๋ค. ๋ณํฉยท์ค์น ๊ด์ธก. ์ ์ฅ์ ๋ฃจํธ์์:
go run ./cmd/workbench assemble --source examples/assembly-graph-feedback/source.gooo \
--entry Present --assembly-activity Describe \
--cases examples/assembly-graph-feedback/adaptive-cases.json --out out/graph-first
go run ./cmd/workbench construct --assembly out/graph-first \
--holdout-cases examples/assembly-graph-feedback/holdout-cases.json --out out/graph-next
--entry๋ ๋ง์ง๋ง ์คํ ํ๋์
๋๋ค. --assembly-activity๋ ๋ฃจํธ ๋ ์ฝ๋ ์กฐ๋ฆฝ
ํ๋์ ์ฌ์ ํ์ธํ๋ ์ด๋ฆ์
๋๋ค. ํ๋์ ํ๋์ด๋ฉด ๊ธฐ์กด --entry๋ง ์ฌ์ฉํฉ๋๋ค.
์ ์ฅ ํด๋ ํ๋์ ์๋ณธ ์์คยท์
๋ ฅยท์์ฑ๋ฌผยท์คํ ๊ฒฐ๊ณผ๊ฐ ๋จ์ต๋๋ค.
์ธ์ ํ๋๋ ํ๋ ์ด๋ฆ(Describe), ์ฌ๋ฌ ์ธ์๋ Describe.input0์ฒ๋ผ ์
๋ ฅ
ํฌํธ ์ด๋ฆ์ผ๋ก ์ง์ ํฉ๋๋ค. ์ค์ native ๊ณํ์ ๋ ํ์์ ํ์ธํด ์ฐ๊ฒฐํฉ๋๋ค.
์๋ ์ ๋ ฅ๊ณผ ๋ง์ง๋ง ๊ธฐ๋๊ฐ ์ ์ง
์์ค ์ฌ๋ก๋ Describe์ ์ ๋ ฅ ๋ฐฐ์ด๊ณผ ๋ ์ฝ๋ ๊ธฐ๋๊ฐ์ ๋๋ค. ํธ์ถ ๋ฐ๋ก๋ ์๋ Describe ์ ๋ ฅ๊ณผ Present์ ์ต์ข ๊ธฐ๋๊ฐ์ ๋๋ค. ๋ ์ข ๋ฅ์ ๊ธฐ๋๊ฐ์ ๊ทธ๋๋ก ๋ณด์กดํด ๊ฒ์ฌํฉ๋๋ค. ์ค๊ฐ ๋ ์ฝ๋๋ก๋ถํฐ ์๋ ์ ๋ ฅ์ ์ญ์ฐํ๋ ๋จ๊ณ๋ ์์ต๋๋ค.
Gooo์ ๊ธฐ์กด ๊ท์น์ด ์คํจ ํ๊ณผ ๋ค์ ์๋ ํ๋๋ฅผ ๊ณ ๋ฆ ๋๋ค. Go ๋๊ตฌ๋ ํ์ผ์ ๋ณด๊ดํ๊ณ ๋ช ๋ น์ ์ฐ๊ฒฐํฉ๋๋ค. ๋ชจ๋ธ์ ๋ช ์ํ๋ฉด ์กฐ๋ฆฝ ํ๋ณด์ ์์๋ฅผ ์ ์ํ๊ณ , ์๋ตํ๋ฉด ์์ค ์์๋ก ์งํํฉ๋๋ค. ์๋ ์์ฑ์์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ด๋ ๋ค์ ๋ช ๋ น์ ๋ชจ๋ธ ์ต์ ์ ์๋์ผ๋ก ์ด์ด๋ฐ์ง ์์ต๋๋ค.
์ด๋ฒ ๊ด์ธก
| ์๋ ์กฐ๋ฆฝ / ํ์ ์กฐ๋ฆฝ | ์ฒ์ ํธ์ถ ํ๋ | ์ ํ์ฐจ | ๋ฐ๋ณต ํฌํจ ํ๋ก๊ทธ๋จ ์๋ | ํ์ ๋ชจ๋ธ ํธ์ถ | ์ต์ข ํ๋ | ์ต์ข ์ ์ถ๋ก |
|---|---|---|---|---|---|---|
| ๊ณ ์ / ๊ณ ์ | 2/6 | 4 | 15 | 0 | 6/6 | 0 |
| ๊ณ ์ / ์์ฒด ๋ชจ๋ธ | 2/6 | 4 | 13 | 4 | 6/6 | 0 |
| ์์ฒด ๋ชจ๋ธ / ๊ณ ์ | 4/6 | 4 | 15 | 0 | 6/6 | 0 |
| ์์ฒด ๋ชจ๋ธ / ์์ฒด ๋ชจ๋ธ | 4/6 | 4 | 13 | 4 | 6/6 | 0 |
์ต์ข ๋ ์ ๋ ฅ์ ์กฐ๋ฆฝ์ ์ฌ์ฉํ ๋ฃจํธ ์ ๋ ฅ ์งํฉ ๋ฐ์ ์์ผ๋ฉฐ ์ ํ ๋ค์๋ง ์คํํฉ๋๋ค. ํ์ต ๋ ธ์ถ ์ฌ๋ถ๋ ํ์ธ๋์ง ์์์ต๋๋ค. ํ ์์ ํ๋ก๊ทธ๋จ์ ์ ํ ์ฌ๋ก ๊ฒฐ๊ณผ๋ก ์ฝ์ต๋๋ค. ์๋ ํด๋์ ์ดํ ๊ฐ ์ฐธ์กฐ ํ์ผ์ ๋ฐ์ดํธ ๋จ์๋ก ๊ทธ๋๋ก ๋ณด๊ด๋์ต๋๋ค. 9007199254740993, ์์, false, ๋น ๋ฌธ์์ด๊ณผ ํ๊ธยท์ด๋ชจ์ง๋ฅผ ํ์ธํ์ต๋๋ค. ๋จ์ผ ์ธ์ ๋ฃจํธ์ ์ค์ native ์คํ๋ ์ต์ข ํ๋ 6/6ยท์ ์ถ๋ก 0ํ๋ฅผ ํ์ธํ์ต๋๋ค. ์ต์ข ์ค์น๋ณธ์์๋ ๋ชจ๋ธ ์์ยท๊ณ ์ ํ์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ์ฌ๋ก๋ก ๋ค์ ์คํํ์ต๋๋ค.
์ฐ๊ฒฐ ๋ฒ์๋ ๋ฃจํธ ๋ ์ฝ๋ ์กฐ๋ฆฝ ํ๋์ ๊ณ ์ ๋ ํ์ ํ๋ยท์์ ๋ณด์กฐ ํจ์์ ๋๋ค. ์ถ๊ฐ ๋ฃจํธ๋ ์ฌ๋ฌ ์กฐ๋ฆฝ ํ๋์ ์ฌ๋ก ์ฐ๊ฒฐ์ ๊ธฐ์กด ์ ์ฒด construct ๊ฒฝ๋ก์์ ๋ช ์ํฉ๋๋ค. ์คํ ๋ฒ์์ ์ฌํ, ๊ณํยท๊ด์ธกยท์๋ณธ ํด์.
์ฐธ๊ณ ํ ์๋ฃ
Matt Pocock์ ์์ ์กฐํฉ ๋๊ตฌ๋ฅผ ์ฝ๊ณ ๊ธฐ์กด assemble์ construct๋ฅผ ํจ๊ป ์ฐ๋ ๊ตฌ์ฑ์ ์ ์งํ์ต๋๋ค. Michael Lynch์ ๊ธ์ฐ๊ธฐ ์ฌ๋ก๋ฅผ ์ฐธ๊ณ ํด ๋ฐ๋ก ์คํํ๋ ์์ ๋ก ์ค๋ช ํฉ๋๋ค. Deno์ 10์ 9์ผ ๋ฐํ์์๋ ๊ธฐ์กด ์ํ๊ณ์ ์คํ ๊ฒฝํ์ ํจ๊ป ๋ค๋ฃจ๋ ๋ฌธ์ ๋ฅผ ์ฝ์์ต๋๋ค. Gooo๋ ํ์ฌ ๊ณต๊ฐ Go ์์ฑ๊ณผ ์ ์ฅ ์ฌ์์ ์ฐ๊ฒฐํ๋ ๋ฒ์๋ก ๊ฐ์ ธ์์ต๋๋ค. ๊ฐ ์๋ฃ์์ ๋ด๋ฆฐ ์ค๊ณ ํ๋จ์ด๋ฉฐ ์ฑํยท๋ณด๋ฅ ์ด์ ์ ๋จ๊ฒผ์ต๋๋ค.