Reading Construction Results - kimjooyoon/meta-ontology-go GitHub Wiki

์กฐ๋ฆฝ ๊ฒฐ๊ณผ์—์„œ ํ™•์ธํ•œ ๋ฒ”์œ„ ์ฝ๊ธฐ

์—…๋ฐ์ดํŠธ: 2026-10-11 KST.

Gooo๊ฐ€ ๋ณธ๋ฌธ์„ ๊ตฌ์„ฑํ•œ ๋’ค์—๋Š” ์–ด๋–ค ์‚ฌ๋ก€๋ฅผ ๋งžํ˜”๊ณ  ์–ด๋””์„œ ๋ง‰ํ˜”๋Š”์ง€ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. body-construct์˜ ์งง์€ ํ‘œ๋Š” ์กฐ๋ฆฝ์— ์‚ฌ์šฉํ•œ ์š”๊ตฌ์™€ ์ดํ›„ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜๋ž€ํžˆ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํŒ€์›์—๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์— ๋ณด์™„ํ•  ์‚ฌ๋ก€๋ฅผ ์ฐพ๋Š” ๋ฐ ์“ฐ๋ ค๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๊ณต๊ฐœ 0.6.28-dev์— ์ฒซ ํ›„๋ณด์˜ ์‹คํŒจ ์กฐ๊ฑด๊ณผ ์ €์žฅ ๊ฒฐ๊ณผ ์กฐํšŒ๊ฐ€ ํฌํ•จ๋์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๊ณต๊ฐœ ์‹คํ–‰ ํŒŒ์ผ์˜ ์—ฌ์„ฏ ์กฐํšŒ ๊ฒฐ๊ณผ๊ฐ€ ๋ณด๊ด€๋œ ์›๋ณธ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๋‹น์‹œ ๊ตฌํ˜„๊ณผ ์˜๋ฌธ ์•ˆ๋‚ด์™€ ๋ฐฐํฌ ํ™•์ธ ๋ฒ”์œ„๋ฅผ ํ•จ๊ป˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œ์— ๋‚˜์˜ค๋Š” ์„ธ ๊ฐ€์ง€ ๋น„์œจ

ํ•ญ๋ชฉ ๋ฌด์—‡์„ ์„ธ๋Š”๊ฐ€
์„ ํƒ๋œ ๋ณธ๋ฌธ์˜ ์ง€์—ญ ๊ฒ€์‚ฌ ์„ ํƒํ•œ ํ•จ์ˆ˜ ๋ณธ๋ฌธ์˜ ์†Œ์Šค ์‚ฌ๋ก€์™€ ์กฐ๊ฑด
์กฐ๋ฆฝ์— ์‚ฌ์šฉํ•œ ํ˜ธ์ถœ ๊ฒฐ๊ณผ ํ›„๋ณด๋ฅผ ๊ณ ๋ฅผ ๋•Œ ์‹ค์ œ๋กœ ํ™•์ธํ•œ ๊ธฐ๋Œ€ ์ถœ๋ ฅ
์ดํ›„ ํ‰๊ฐ€ ๊ฒฐ๊ณผ ์กฐ๋ฆฝ ํ›„ ๋ณ„๋„ ์ž…๋ ฅ ํŒŒ์ผ๋กœ ํ™•์ธํ•œ ๊ธฐ๋Œ€ ์ถœ๋ ฅ

์˜ˆ๋ฅผ ๋“ค์–ด ๋ณด๊ด€๋œ ์กฐ๊ฑดยท๋ถ„๊ธฐ ๊ธฐ๋ก์—์„œ๋Š” ์ฒซ ์‹œ๋„์˜ ํ˜ธ์ถœ ๊ฒฐ๊ณผ๊ฐ€ 0/1์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ—ˆ์šฉํ•œ 16ํšŒ ์ค‘ 11๋ฒˆ์งธ ์‹œ๋„์—์„œ ํ˜ธ์ถœ ๊ฒฐ๊ณผ 1/1์„ ์–ป์—ˆ๊ณ , ์ดํ›„ ํ‰๊ฐ€๋Š” 3/3์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์งง์€ ํ‘œ์—๋„ ์ฒซ ์‹คํŒจ์™€ ๋‚˜์ค‘ ๊ฒฐ๊ณผ๋ฅผ ํ•จ๊ป˜ ๋‚จ๊น๋‹ˆ๋‹ค. ์ด ์ˆ˜์น˜๋Š” ์ด๋ฏธ ๋ณด๊ด€๋œ ์‹คํ–‰ ๊ธฐ๋ก์„ ํ‘œ์‹œํ•œ ๊ฒƒ์ด๋ฉฐ, ํ‘œ๋ฅผ ํ™•์ธํ•˜๋ ค๊ณ  ๋ชจ๋ธ์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ถ„๋ชจ๋Š” ๊ฐ ์นธ์— ์ ํžŒ ๊ฒ€์‚ฌ ๋˜๋Š” ๊ธฐ๋Œ€ ์ถœ๋ ฅ์˜ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ ํ•˜๋‚˜์—์„œ ์—ฌ๋Ÿฌ ํ™œ๋™์˜ ์ถœ๋ ฅ์„ ํ™•์ธํ•˜๋ฉด ์ถœ๋ ฅ ๊ฐœ์ˆ˜๊ฐ€ ์ž…๋ ฅ ํ–‰ ์ˆ˜๋ณด๋‹ค ๋งŽ์•„์ง‘๋‹ˆ๋‹ค. ์ดํ›„ ํ‰๊ฐ€์˜ ์ž…๋ ฅ์ด ์กฐ๋ฆฝ ๋•Œ์™€ ๊ฒน์น˜๋Š”์ง€๋„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด ๋น„๊ต๊ฐ€ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ํ˜ธ์ถœ ์ž…๋ ฅ์ด๋ฉฐ, ์ง€์—ญ ์‚ฌ๋ก€๋‚˜ ๋ชจ๋ธ ํ•™์Šต์— ๋‚˜์™”๋˜ ์ž…๋ ฅ์ธ์ง€๋Š” ๋ณ„๋„ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ•จ์ˆ˜ ์ž…๋ ฅ๊นŒ์ง€ ๋น„๊ตํ•˜๊ธฐ (๊ฐœ๋ฐœ)

์ด ์ ˆ์˜ ๊ธฐ๋Šฅ์€ ๊ณต๊ฐœ 0.6.29-dev์— ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. PR1455๋Š” ํ•„์ˆ˜ ๊ฒ€์‚ฌ์™€ ํ˜ธํ™˜์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•ด dev์— ๋ณ‘ํ•ฉ๋์Šต๋‹ˆ๋‹ค. ์†Œ์Šค์™€ ์˜๋ฌธ ์•ˆ๋‚ด, ๊ณต๊ฐœ ํŒŒ์ผ์˜ ์„ค์น˜ ์ ๊ฒ€์— ์‹ค์ œ ํ™•์ธํ•œ ๋ฒ”์œ„๋ฅผ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ถœ์ž ์ž…๋ ฅ์ด ๋‹ฌ๋ผ๋„ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋Š” ์ด๋ฏธ ์‚ฌ์šฉํ•œ ๊ฐ’์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜ธ์ถœ์ž๊ฐ€ ๊ฐ’์„ ์ œ๊ณฑํ•ด์„œ ๋ณด์กฐ ํ•จ์ˆ˜์— ์ „๋‹ฌํ•œ๋‹ค๋ฉด ๋‹ค์Œ ๋‘ ์‹คํ–‰์€ ๊ฐ™์€ ๋ณด์กฐ ํ•จ์ˆ˜ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹œ์  ํ˜ธ์ถœ์ž ์ž…๋ ฅ ๋ณด์กฐ ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์€ ๊ฐ’
์กฐ๋ฆฝ ์ค‘ ํ™•์ธํ•œ ํ›„๋ณด 3 9
๋‚˜์ค‘ ํ‰๊ฐ€ -3 9

์ƒˆ ๊ฒฐ๊ณผ๋Š” ํ•จ์ˆ˜์— ์‹ค์ œ๋กœ ๋“ค์–ด๊ฐ„ ๊ฐ’์„ ๊ธฐ๋กํ•˜๊ณ , ๋‹ค์Œ ํ•ญ๋ชฉ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ‘œ์˜ ํ•ญ๋ชฉ ์ฝ๋Š” ๋ฐฉ๋ฒ•
Constructed input history ์ž…๋ ฅ ์ด๋ ฅ ๊ด€์ธก ์ƒํƒœ์™€ ์ด์œ . ๊ณผ๊ฑฐ ๊ธฐ๋ก์— ์ด๋ ฅ์ด ์—†์œผ๋ฉด not recorded
Actual constructed inputs ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์ž‘ ์ž…๋ ฅ ์กฐํ•ฉ ์ˆ˜์™€ ๊ทธ์ค‘ ๊ฒน์นจยท์ƒˆ ์ž…๋ ฅยท๋ฏธํ™•์ธ์ธ ์‚ฌ๋ก€ ์ˆ˜
Disjoint cases matching every expectation ์ƒˆ ์ž…๋ ฅ์œผ๋กœ ํŒ์ •ํ•œ ์‚ฌ๋ก€ ์ค‘ ์ ํžŒ ๊ธฐ๋Œ€๊ฐ’์„ ๋ชจ๋‘ ๋งžํžŒ ์ˆ˜ / ์ƒˆ ์ž…๋ ฅ ์‚ฌ๋ก€ ์ˆ˜

์—ฌ๊ธฐ์„œ ์ƒˆ ์ž…๋ ฅ ์‚ฌ๋ก€ ํ•˜๋‚˜๋Š” ์กฐ๋ฆฝ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋๊ณ , ๊ทธ ๋ชจ๋“  ํ˜ธ์ถœ์— ์ด์ „์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ž…๋ ฅ์ด ๋“ค์–ด๊ฐ„ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๋น„๊ตํ•˜๋Š” ์ด๋ ฅ์—๋Š” ์†Œ์Šค์˜ ์ถœ๋ ฅยท์ค‘๊ฐ„ ์กฐ๊ฑดยท๋ณด๋ฅ˜ ์‚ฌ๋ก€, ๊ธฐ๋กํ•œ ํ™•์ธ ์ž…๋ ฅ, ์‹คํŒจํ•œ ํ›„๋ณด๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํ˜ธ์ถœ ์‹œ๋„๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์‹œ์ž‘ ์ž…๋ ฅ์„ ์ค‘๋ณตํ•ด์„œ ์ ์œผ๋ฉด ๋ถ„๋ชจ๋Š” ํ•œ ๋ฒˆ๋งŒ ์„ธ๊ณ , ์ค‘๋ณต ํ–‰์˜ ๊ธฐ๋Œ€๊ฐ’๋„ ๋ชจ๋‘ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ†ต๊ณผ ์ˆ˜์™€๋Š” ๋‹จ์œ„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ƒˆ ์ž…๋ ฅ ์‚ฌ๋ก€๊ฐ€ ์—†์œผ๋ฉด ์ด ๋น„์œจ์€ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค. ์ง€์—ญ ํ›„๋ณด๋ฅผ ์ ์ˆ˜ํ™”ํ•˜๋Š” ๋™์•ˆ์˜ ๋‚ด๋ถ€ ํ˜ธ์ถœ์€ ์•„์ง ์ „๋ถ€ ๊ธฐ๋กํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ, ํ•ด๋‹น ์ด๋ ฅ์ด ํ•„์š”ํ•œ ์‚ฌ๋ก€๋„ ๋ฏธํ™•์ธ์œผ๋กœ ๋‚จ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ๋“ฑ์žฅํ–ˆ๋Š”์ง€๋Š” ๋ณ„๋„ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค. ์ด ํ‘œ๋Š” ๊ธฐ๋ก๋œ ์กฐ๋ฆฝ ๊ณผ์ •๊ณผ ์ดํ›„ ํ‰๊ฐ€์˜ ๊ด€๊ณ„๋ฅผ ์ฝ๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋ฉฐ, ์‹ค์ œ ์ธก์ •ํ•œ 0/N๋„ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ณผ๊ฑฐ ๋ณด๊ณ ์„œ์˜ ๋ฏธ์ธก์ • ๊ฐ’์€ ๊ทธ๋Œ€๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์กฐํšŒ ๋ช…๋ น์œผ๋กœ ๊ณผ๊ฑฐ ์‹คํ–‰์˜ ์ž…๋ ฅ ์ด๋ ฅ์„ ๋งŒ๋“ค์–ด ๋‚ด๊ฑฐ๋‚˜ ๋ชจ๋ธ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ๊ด€์ฐฐ๊ณผ ํ›„์† ๋ณ€๊ฒฝ.

๊ณต๊ฐœ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์กฐ๋ฆฝํ•˜๊ธฐ

์•„๋ž˜ ๋ช…๋ น์€ 0.6.29 ๊ณต๊ฐœ ์‹คํ–‰ ํŒŒ์ผ, ๊ฐ™์€ ๋ฒ„์ „์˜ ์˜ˆ์ œ ์†Œ์Šค์™€ Go 1.27.2๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํด๋”์—๋Š” ์•„์ง ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

GOWORK=off GOTOOLCHAIN=go1.27.2 gooo body-construct \
  --source examples/caller-guided-construction/main.gooo.fixture \
  --entry Main \
  --construction-cases examples/caller-guided-construction/construction-cases.json \
  --cases examples/caller-guided-construction/evaluation-cases.json \
  --attempts 2 --out first-construction --format text

--format markdown์„ ์“ฐ๋ฉด ๊ณต์œ ํ•˜๊ธฐ ์ข‹์€ ํ‘œ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์ธ JSON์—๋Š” ์ „์ฒด ์‹œ๋„์™€ ๊ฐ’์ด ๋‚จ์Šต๋‹ˆ๋‹ค. --out์— ์ €์žฅํ•˜๋Š” GoooยทGoยทJSON ํŒŒ์ผ๋„ ๊ฐ™์€ ์ „์ฒด ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํ˜•์‹์„ ๊ณ ๋ฅด๋Š” ์ž‘์—…์—๋Š” ์ถ”๊ฐ€ ๋ชจ๋ธ ํ˜ธ์ถœ์ด๋‚˜ ํ›„๋ณด ๊ฒ€์‚ฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ฒซ ํ›„๋ณด๊ฐ€ ์‹คํŒจํ•œ ์ด์œ 

์ถœ๋ ฅ๊ฐ’์„ ๋งžํ˜”๋‹ค๋Š” ๊ฒƒ๊ณผ ์ž‘์„ฑํ•œ ์ค‘๊ฐ„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋”ฐ๋กœ ๋ด…๋‹ˆ๋‹ค. ๋ณด๊ด€๋œ ์ž์ฒด ๋ชจ๋ธ ๊ด€์ธก์—์„œ๋Š” ์ฒซ ํ›„๋ณด๊ฐ€ ์ถœ๋ ฅ 8/8์„ ๋งžํ˜”์ง€๋งŒ, ์ค‘๊ฐ„ ์กฐ๊ฑด์€ 1/3๋งŒ ๋งŒ์กฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์—๋Š” ๊ทธ ์กฐ๊ฑด์˜ ์ด๋ฆ„, ์ž…๋ ฅ, ๊ธฐ๋Œ€ํ•œ ์ฐธยท๊ฑฐ์ง“๊ณผ ์‹ค์ œ ๊ฐ’์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ํ”„๋กœ๊ทธ๋žจ์— ์“ฐ์ธ ๋ณธ๋ฌธ์€ ์ถœ๋ ฅ 8/8, ์กฐ๊ฑด 3/3์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ง€์—ญ ํ›„๋ณด 4๊ฐœ๋ฅผ ํ™•์ธํ•œ ๊ฒƒ๊ณผ ํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ 1๊ฐœ๋ฅผ ํ‰๊ฐ€ํ•œ ๊ฒƒ์€ ์„œ๋กœ ๋‹ค๋ฅธ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‹น์‹œ์— ๋ชจ๋ธ์„ ๋ถ€๋ฅธ ํšŸ์ˆ˜๋„ ์ด๋ ฅ์œผ๋กœ ๋‚จ๊ธฐ๋ฉฐ, ์ง€๊ธˆ ๋ณด๊ณ ์„œ๋ฅผ ์ฝ์œผ๋ฉฐ ๋ถ€๋ฅธ ํšŸ์ˆ˜์™€ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ 8๊ฐœ ์ž…๋ ฅ์„ ์กฐ๋ฆฝ๊ณผ ํ‰๊ฐ€์— ์‚ฌ์šฉํ•œ ๊ด€์ธก์ด๋ฏ€๋กœ ์ƒˆ๋กœ์šด ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ •๋‹ต๋ฅ ๋กœ ํ•ด์„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ ์ €์žฅํ•œ ๊ฒฐ๊ณผ๋งŒ ์ฝ๊ธฐ

์›๋ž˜ ์กฐ๋ฆฝ ๋ช…๋ น์˜ ์ถœ๋ ฅ ์˜ต์…˜์„ --format json > result.json์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ํŒŒ์ผ์— ๋‚จ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ํ•œ 0.6.29 ๊ณต๊ฐœ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gooo body-construct --report result.json
gooo body-construct --report result.json --format markdown

์กฐํšŒ์—๋Š” ์†Œ์Šคยท๋ชจ๋ธ ํŒŒ์ผ์ด๋‚˜ Go ๋„๊ตฌ๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. ์ €์žฅ๋œ ํ”„๋กœ๊ทธ๋žจ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์›๋ณธ ํŒŒ์ผ์˜ ์‹๋ณ„๊ฐ’๊ณผ ํ•จ๊ป˜, ํ‘œ์˜ ๊ฐ’๋“ค์ด ๋‹น์‹œ ์‹คํ–‰์˜ ๊ธฐ๋ก์ž„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์กฐํšŒ ์„ฑ๊ณต์€ ํŒŒ์ผ์„ ์ฝ์—ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๋‹น์‹œ ์กฐ๋ฆฝ์ด ์‹คํŒจํ–ˆ๋‹ค๋ฉด ๊ทธ ์‹คํŒจ๋„ ๊ทธ๋Œ€๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. --format json์€ ์›๋ž˜ ๋ฐ”์ดํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ž…๋ ฅ ํŒŒ์ผ์€ ์ตœ๋Œ€ 32MiB์ž…๋‹ˆ๋‹ค.

--out ํด๋”์˜ construction.json์ด๋‚˜ evaluation.json์€ ๊ฐ๊ฐ ๊ฒฐ๊ณผ์˜ ์ผ๋ถ€๋งŒ ๋‹ด์Šต๋‹ˆ๋‹ค. ์กฐํšŒ ๋ชจ๋“œ์—๋Š” ์ „์ฒด ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ์ €์žฅํ•œ result.json์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด --construction ๋ชจ๋“œ๋Š” ์ €์žฅ ์ด๋ ฅ์„ ์žฌ๊ฒ€์‚ฌํ•˜๊ณ  ํ‰๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ์šฉ๋„์ž…๋‹ˆ๋‹ค.

๋กœ์ปฌ ํ›„๋ณด ์‹คํ–‰ ํŒŒ์ผ์€ Go๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ํ™˜๊ฒฝ์—์„œ ๊ธฐ์กด ๊ธฐ๋ก์„ ์ฝ์—ˆ๊ณ , JSON์€ ์›๋ณธ๊ณผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๋ณด๊ด€๋œ ๋‘ ๊ฒฐ๊ณผ๋ฅผ ์„ธ ํ˜•์‹์œผ๋กœ ์ฝ๋Š” ์—ฌ์„ฏ ๊ฒฝ๋กœ๋Š” ๋„ค ํ”Œ๋žซํผ ์ค€๋น„ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๊ณต๊ฐœ macOS arm64 ํŒŒ์ผ์—์„œ๋„ ์—ฌ์„ฏ ๊ฒฐ๊ณผ๊ฐ€ ๊ธฐ์กด ๊ธฐ๋ก๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

์‹คํŒจ์™€ ๋ฏธํ™•์ธ ๊ฐ’

์‹ค์ œ๋กœ ๊ด€์ธกํ•œ ๊ธฐ๋Œ€ ์ถœ๋ ฅ์ด ๋ชจ๋‘ ํ‹€๋ฆฌ๋ฉด 0/N์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ๋„๊ตฌ์˜ ๋ฌธ์ œ๋กœ ์ถœ๋ ฅ์„ ๊ด€์ธกํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด ๋ฏธ์ธก์ •์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’ ๋ถˆ์ผ์น˜, ๊ณ„์‚ฐ ์‹คํŒจ, ์•ž์„  ํ™œ๋™์˜ ์‹คํŒจ ๋•Œ๋ฌธ์— ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•œ ์ถœ๋ ฅ๋„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์งง์€ ํ‘œ์—๋Š” ์‹คํŒจํ•œ ์ถœ๋ ฅ์˜ ์‹ค์ œ ๊ฐ’๊ณผ ๊ธฐ๋Œ€๊ฐ’์„ ์ตœ๋Œ€ 8๊ฐœ๊นŒ์ง€ ํ‘œ์‹œํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๊ธด ๊ฐ’์€ ์ค„์—ฌ ํ‘œ์‹œํ•˜๋ฏ€๋กœ ์ „์ฒด ๊ฐ’์€ JSON์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ๋ช…๋ น์€ ํ‘œ๋ฅผ ์ถœ๋ ฅํ•œ ๋’ค์—๋„ ์‹คํŒจ ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ €์žฅํ•œ ์กฐ๋ฆฝ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ช…๋ น์€ ๊ธฐ์กด ์ด๋ ฅ์„ ๋‹ค์‹œ ๊ฒ€์‚ฌํ•˜๊ณ  ํ˜„์žฌ ํ‰๊ฐ€๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—๋Š” ๋ชจ๋ธ ํŒŒ์ผ์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. ํ‘œ์—๋Š” ์žฌ์‹คํ–‰ ์—ฌ๋ถ€์™€ ์žฌ๊ฒ€์‚ฌ ์‹คํŒจ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋ก€๋ฅผ ํ†ต๊ณผํ–ˆ์„ ๋•Œ๋„ ๊ฒฐ๊ณผ๊ฐ€ ํ™•์ธ๋œ ๋ฒ”์œ„๋Š” ์ œ๊ณตํ•œ ์‚ฌ๋ก€์™€ ํ›„๋ณด ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ์‚ฌ๋ก€๋ฅผ ํ†ต๊ณผํ•ด๋„ ์˜๋„๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—์„œ ์ด ๋ฒ”์œ„๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ๊ตฌํ˜„ ์ด๋ ฅ

์งง์€ ํ‘œ์˜ ์ฒซ ๊ตฌํ˜„์€ PR1451๋กœ 949fe887์— ๋ณ‘ํ•ฉ๋๊ณ , ์›๋ž˜ ํ•„์ˆ˜ยท์ค€๋น„ ๊ฒ€์‚ฌ์™€ ๋ณ‘ํ•ฉ ํ›„ ํ•ต์‹ฌยท์ค€๋น„ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹œ ์ž๋™ main ๋ฐ˜์˜๊ณผ ๋ณ€ํ™˜ ๊ธฐ๋ก ๋ณต๊ตฌ ๊ฒ€์‚ฌ์—์„œ ๋ฐœ์ƒํ•œ ์‹คํŒจ๋Š” ํ˜„์žฌ ์ƒํƒœ์— ๋‚จ๊น๋‹ˆ๋‹ค.