์๋ ํ์ธ์ @futagoza๋!
์ง๋ ์ฃผ์ @StoneCypher์ ์ฌ๋ฌ ๋ฌธ์ ์ ํ๊ทธ๊ฐ ์ง์ ๋์์ต๋๋ค. @StoneCypher ๋ PEG.js ์ ์ง ๊ด๋ฆฌ ๋ฐ ํ๋ก์ ํธ ์ํ์ ๋ํ ์ฐ๋ ค๋ฅผ ํ๋ช ํ์ต๋๋ค(๊ทธ๋ ์ด๋ฉ์ผ๋ก๋ ์ด์ ๋ํด ๊ฐ์ธ์ ์ผ๋ก ์ฐ๋ฝํ์ต๋๋ค). ์ ์ง ๊ด๋ฆฌ๋ฅผ ๊ทํ์๊ฒ ์ด์ ํ ์ดํ๋ก PEG.js ๊ฐ๋ฐ์ ๋ง์ด ๋ฐ๋ผํ์ง ์์์ง๋ง ๊ทธ์ ํ๋์ ๋ณด๊ณ ์๊ฒ ๋์์ต๋๋ค.
ํ๋ก์ ํธ์ ํ์ฌ ์ํ๊ฐ ๋๋ฅผ ์ฌํ๊ฒ ๋ง๋ค์๋ค๋ ๊ฒ์ ์ธ์ ํด์ผ ํฉ๋๋ค. ์ฝ๋์ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ง๋ง ๋ง์ง๋ง ๋ฆด๋ฆฌ์ค๋ ์ฌ์ ํ 2016๋ ์ ํ๋ 0.10.0์ ๋๋ค(!). ๋ถ๋ช ํ, ๋น์ ์ 2018๋ ์ 0.11.0์ ๋ฆด๋ฆฌ์คํ ์์ ์ด์์ผ๋ ๊ฒฐ์ฝ ์ผ์ด๋์ง ์์์ต๋๋ค. ๋ฌธ์ ์ ๋ง์ง๋ง ์๊ฒฌ ์ ๋์ TypeScript์์ PEG.js๋ฅผ ๋ค์ ์์ฑํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค(?). ๋ค๋ฅธ ์ฌ๋ฌ ๊ฐ์ง ๋ ๋๋ถ์ ๋ฌธ์ ๋ ์์ต๋๋ค.
@StoneCypher์ ํํ ๋ฐฉ์์ ์น์ธํ์ง๋ ์์ง๋ง ๊ทธ์ ์ฐ๋ ค๋ฅผ ์ดํดํ๊ณ ๊ณต์ ํฉ๋๋ค. ์ด ์์ ์์ ์ ๋ PEG.js๋ฅผ ์ด๋ค ํ๋ก์ ํธ์ ๊ธฐ์ด๋ก ์ถ์ฒํ์ง ์์ต๋๋ค.
์์๋ค์ํผ, ์ ๊ฐ PEG.js๋ฅผ ๊ทํ์๊ฒ ์ด์ ํ ๋ ์ ๋ ์๋์ ์ผ๋ก ๋ชจ๋ ๊ด๊ณ๋ฅผ ๋์์ต๋๋ค. ๋ด ์ง๊ฐ์ ์ ์ธ ๊ฐ์ ์์ด, ๋ด ๋ง๋ น์ด ๊ทธ๊ฒ์ ๋งค๋ฌ๋ฆฌ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐ์ ํ๊ธฐ๋ฅผ ์ํ์ต๋๋ค. ๋ ์ด์ PEG.js์ ์น์ฌ์ดํธ, GitHub ๋๋ npm ํจํค์ง์ ๋ํ ๊ถํ์ด ์์ต๋๋ค. ํ์ง๋ง ์ง๊ธ์ ๋ง์ ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. PEG.js์ ํ์ฃผ์์ ์์ผ๋ก์ ๋ชจ์ต, ๊ทธ๋ฆฌ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๊ฑด์ ํ๊ฒ ๋ง๋ค๊ธฐ ์ํ ๋ณํ๋ฅผ ๊ณ ๋ฏผํด ์ฃผ์ จ์ผ๋ฉด ํฉ๋๋ค.
๋๋ PEG.js ์ปค๋ฎค๋ํฐ๊ฐ ์์ ํํ๋ ๋ฌธ์ ๋ฅผ ๊ณต์ ํ๊ณ ์ ์งํ ๋ต๋ณ์ ๊ฐ์ฌํ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํน์ ํ๋ ๋ฐฉ์นจ์ ์ ์ํ๊ณ ์ถ์ง๋ ์์ง๋ง ์ปค๋ฎค๋ํฐ๊ฐ ํ๋ก์ ํธ์ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ด์ ๊ฐ ๋ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค.
๋ด ๋ฉ์์ง๋ฅผ ๋์๊ฒ ๋ฐ์๋ค์ด์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ ๋ PEG.js์ ๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์ด๋ ต๊ณ ํญ์ ๋ชจ๋ ์ฌ๋์ ๋ง์กฑ์ํฌ ์ ์๋ค๋ ๊ฒ์ ์ ์๊ณ ์์ต๋๋ค. ๋จ์ง ๋ด ๋ง์ด ๋น์ ์๊ฒ ์ด๋ฌํ ๋ฌธ์ ์ ๋ํด ์๊ฐํ๋๋ก ์ด๊ตฌํ ์ ์๊ณ PEG.js ์ปค๋ฎค๋ํฐ๊ฐ ๋ต์ ๋ฐ์ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฃ๊ธฐ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํฌํด์ผ ํ๋ค๋ ์ฌ์ค์ ์ ๋งํฉ๋๋ค. ์ฆ, ๊ธฐ์กด ์๋น์ ์ค ๋๊ตฌ๋ ๋์์ ๋ฐ์ ์ ์์ผ๋ฉฐ ์ธํฐ๋ท์์ ๊ฐ์ฅ ์ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๊ฐ ์ฃฝ์์ต๋๋ค.
์ฐข๋ค
2020๋
2์ 18์ผ ํ์์ผ ์ค์ 5:59 John Haugeland [email protected]
์ผ๋ค:
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํฌํด์ผ ํ๋ค๋ ์ฌ์ค์ ์ ๋งํฉ๋๋ค.
์๋น์๋ ๋์์ ๋ฐ์ ์ ์์ผ๋ฉฐ ๊ฐ์ฅ ์ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ ๋๋ค.
์ธํฐ๋ท์ด ์ฃฝ์๋คโ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/pegjs/pegjs/issues/639?email_source=notifications&email_token=AAAETTRJGY4Q5AWE76RBM2DRDPSURA5CNFSM4KSDGYBKYY1PNVWWK3TUL52HS4DFVREXG43VMXHJKTDNMV
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AAAETTRC57XZWSLTNS3VLL3RDPSURANCNFSM4KSDGYBA
.
5๋ ์ ์ JS ์ฝ๋ฉ์ ์์ง ๋ฐฐ์ธ ๋ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๋ด๊ฐ ์๋ ์ด๋ค Markdown ๋ค์ด์ผ๋ฆฟ๋ณด๋ค ํํ๋ ฅ์ด ๋ฐ์ด๋ HTML๋ก ๋ ๋๋งํ๋ ์ธ์ด๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ค๋ ๋๋ ๊ทธ ์ธ์ด๊ฐ ๋ ์งํํด์ผ ํ๋ค๊ณ ์ฌ๊ณ ํ์ง๋ง ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ด๊ฐ ๊ธฐ๋ํ๋ ๊ฒ๋งํผ ๊ฑด์ ํ์ง ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฅ ์ฌํผ.
์ฐ๋ฆฌ ํ์ฌ๋ ์ด ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๊ณง ์ถ์๋๋ ES ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ TypeScript ์ธ์ด ๊ธฐ๋ฅ์ ๋ณด๊ณ ์ถ์ดํฉ๋๋ค.
@futagoza ๊ฐ ๋ ์ด์ ์ด ํจํค์ง๋ฅผ ์ ์งํ ์ ์๋ค๋ฉด ๋ค๋ฅธ ์ฌ๋์ด ์ธ๊ณ๋ฐ์ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
๋๋ PEG.js ์ปค๋ฎค๋ํฐ๊ฐ ์์ ํํ๋ ๋ฌธ์ ๋ฅผ ๊ณต์ ํ๊ณ ์ ์งํ ๋ต๋ณ์ ๊ฐ์ฌํ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค.
๋๋ฌ์ด ๋์๋๋ฐ ์์ง๋ ๋ต์ด ์์ผ์ ๊ฐ์?
@futagoza ๊ฐ ํ๋ฝํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ค์ํ ์ปค๋ฎค๋ํฐ์ ๋ชจ๋ ํ๋์ด ๋งํฌ๋ ํํ์ด์ง ๋งํฌ๊ฐ ๊ฑฐ์ ๋์์ ์ค์ง๋ฉ๋๋ค. ์ฌํผ.
์ฌ์ด๋ ์ฑ๋์์ ์ง๋ 7์ผ ๋์์ ํ๋์ ๊ณ์ ๋ณผ ์ ์์ต๋๋ค.
@futagoza ๊ฐ ์ปค๋ฎค๋ํฐ ๊ด๋ฆฌ์ ๋์์ ์ค ์ ์๋์ง ์์๋ณด๊ธฐ ์ํด ์ด๋ฉ์ผ๋ก ์ฐ๋ฝํ์ต๋๋ค. v0.10์์ ์ ์ง ๊ด๋ฆฌ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ๋ช ์ฌ๋๊ณผ v0.11์ ์ํด ์์ ํ ๋ช ์ฌ๋์ ์ฐพ์ ์ ์๋ค๋ฉด ๊ฐ์ฅ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์น์ ํจ์ ๊ธฐ์ตํ๊ณ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋์ธ ์ ์๋ ์ผ์ ํฉ์๋ค. ๋ค๋ฅธ ์ฐ๋ฝ ๋ฐฉ๋ฒ์ด ์๋ ์ฌ๋์ด ์์ผ๋ฉด ์๊ฐ์ ๋ด์ด ์ฐ๋ฝ์ ์ทจํ์ฌ ์ฐ๋ฆฌ๊ฐ ๊ทธ ๋ถ๋ด์ ๋จ์ณ๋ด๊ณ ํจ๊ป ์ผํ ์ ์๋์ง ๋ด ์๋ค.
์ปค๋ฎค๋ํฐ ์ง์์ ์ํด @futagoza ์ ๋ํ ์ด ์์ฒญ์ ์ฌ๋ฌ ๋ฒ ์ ๊ธฐ๋์์ง๋ง ํด๋น ๋ฌธ์ ์ ๋ํ ์๋ต์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ํ๋ก์ ํธ๋ฅผ ํฌ๊ธฐํ ๊ฒ์ผ๋ก ๊ฐ์ ํ ์ ์๊ณ , ํจ๊ป ๊ฑฐ๊ธฐ์์ ์์
ํ ํฌํฌ๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ฉ์ผ์ ๋ํ ๋ต๋ณ์ ๋ฐ์์ต๋๋ค. ๋ ๋ง์ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ์ฆ์ ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๋ 0.10์ ์ถ์ํด์๋ ์๋ฉ๋๋ค. ๊ทธ๊ฒ์ ์ ๋ง ์ด์ํ ๊ณ ๋ฆฝ๋ ๋๊ตฌ์ ๋์๊ณ , ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๊ธฐ๊ดดํ๊ณ ํ์ ์์ฅ์ผ๋ก ๋ฐ๋์๊ณ , ์คํจํ ๋น๋ ์์คํ ์ผ๋ก ์ฎ๊ฒจ์ก์ต๋๋ค. &c.
์ฐ๋ฆฌ๋ ์ ๋ง๋ก 0.9๋ก ๋์๊ฐ์ ์๋ ์ํ์ PR์ ์ฒด๋ฆฌ ์ ํํ๊ณ David์ ์๋ ๊นจ๋ํ ์์คํ ์ ์ ์งํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ Futagoza๊ฐ ์๋ง์ด ๋์๊ธฐ ๋๋ฌธ์ 3๋ ๋์ ๋ฒ์ ์ ๊ฑด๋๋ฐ๋๋ก ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์ด์ ํ์ค ๋ ธ๋ ์์คํ ์ผ๋ก ์ ํ๋์ด์ผ ํฉ๋๋ค. ์๋ ๋์ ํ์ํ์ผ๋ฉฐ ๋ชจ๋ ํ์ฑ ์ฌ์ฉ์๊ฐ ์ด๊ฒ์ ์์ํ ์๊ตฌํด ์์ต๋๋ค.
@StoneCypher ๋๋ ๋น์ ์ด ๋ญ๊ฐ๋ฅผ ๋์ณค๊ฑฐ๋ ๋จ์ง ์คํ์ผ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค - ์ฐ๋ฆฌ๋ ์ด๋ฏธ 0.10 ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. 0.11 ๋ฆด๋ฆฌ์ค๋ฅผ ์๋ฏธํฉ๋๊น?
์ค, ๋ด ์ค์, 0.10.0์ David์ 4๋ ๋ ๋ฆด๋ฆฌ์ค์ ๋๋ค. ๋ง์ต๋๋ค.
@tilgovi ๊ณต์ ํ ์์์ด ์์ต๋๊น?
์ผ๋ฐ์ ์ผ๋ก: ์ถ์ฒํ ์ ์๋ ๋ค๋ฅธ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๊น?
์์งํ ๊ทธ ์ค ์๋ฌด ๊ฒ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์บ๋ ธํผ์ ์ด์ ์ ์ธํ๊ณ ๋ ๋ธ๋ผ์ฐ์ ๋ด ๋ฒ์ ์ด ์์ต๋๋ค.
Waxeye๋ โโapg์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๋ฒผ์ด ์ฌ์ฉ์์๋ ๊ทน์ ์ผ๋ก ๋๋ ค์ง๋๋ค.
Jison์ ๋ฌธ๋ฒ์ Vulcan์ ํผ์ฆ๋ก, Lex Luthor๊ฐ ๊ทน๋๋ก ์ด๊ดํ์ง ์๋ ๋ชจ๋ ์ธ๊ฐ์ ๋ชฐ๊ณ ๊ฐ๋๋ก ์ค์ ๋์์ต๋๋ค.
ANTLR์ ์ด๋ป๊ฒ ๋ ๊ฟ๋ฒ์ด๊ธฐ๋ ํ ๊นจ์ง ์ ๋ฆฌ๋ฅผ ๋จน๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๊ฑฐ์ ์ฌ๋ฏธ ์๊ณ ํฅ๋ฏธ๋กญ๊ณ Early ๊ตฌ๋ฌธ ๋ถ์์ด ์ ๊ณตํ๋ ์ฝ์์ ์ป์ ์ ์์ต๋๋ค. ํ ์ ์์ด์ผ ํจ์ ์ธ์ํฉ๋๋ค. ๋๋ ๋ช ๋ ๋์ ๋ ธ๋ ฅํ์ต๋๋ค.
Ohm์ ๋งค์ฐ ๊ฐ๋ ฅํ๊ณ ์ฌ๋ฏธ์์ผ๋ฉฐ ๋ฌธ์ ๋ฅผ ๋ฐ๋ผ๋ณด๋ ์์ ํ ๋ค๋ฅธ ๋ฐฉ์์ด๋ฉฐ ํฉ๋ฆฌ์ ์ธ ๋์์ด ์๋๋๋ค. lisp๋ฅผ prolog๋ก ๊ต์ฒดํ๋ ๊ฒ์ ๊ถ์ฅํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. Peg์ Ohm์ ๋์ผํ ๋ฌธ์ ์์ญ์ ๊ธฐ์ ์ ์ผ๋ก ๊ฑฐ์ ์ ์ฉ๋์ง ์์ต๋๋ค. ๊ทธ๋ค ์ค ์ ์ด๋ ํ๋๋ ์ ํฉํ์ง ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ด ๊ฑฐ์ ๋ณด์ฅ๋ฉ๋๋ค.
Bennu๋ ๋ฒ๊ทธ๊ฐ ์๊ณ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค.
Parsimmon์ ํฅ๋ฏธ๋กญ๊ณ ๊ฐ๋ ฅํ์ง๋ง ํ์ ๊ฒฐํฉ๊ธฐ๋ฅผ ์ข์ํ์ง ์์ผ๋ฉฐ ๊ฝค ์ฅํฉํฉ๋๋ค.
Par.js๋ ๋ด PEG์ ์ฒ์ 10์ค์ 200์ค์ ์ฝ๋๋ก ๋ณํํ์ต๋๋ค. ์์ผ
Chervotain์ 1900 ๋ผ์ธ์ ๋ง๋ค์์ต๋๋ค. ๋๋ ์ค์ ๋ก ๋ด ๋ง๋์ Chervotain์ผ๋ก ๋ฒ์ญํ๊ธฐ ์ํด ๋ง๋์ ์ผ์ต๋๋ค. ๋ฌผ๋ก ์์ฒญ๋๊ฒ ๋น ๋ฅด์ง๋ง, ๋ง์ง๋ง์ผ๋ก ํ๊ณ ์ถ์ ๊ฒ์ ๋ฌธ๋ฒ์ ํธ๋์ค์ปดํ์ผํ๋ ๊ฒ์ด๊ณ , ๋ง์ง๋ง์์ ๋ ๋ฒ์งธ๋ก ํ๊ณ ์ถ์ ๊ฒ์ Chervotain์ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ง์ด XML ์ฌ๋๋ ์ด๊ฒ์ ์ฅํฉํ๋ค๊ณ ๋ถ๋ฅผ ๊ฒ์ ๋๋ค.
PEG๊ฐ ํฌ๋๋๋ฌด์์ 50๋ ๋์ ์ฉ์์๋ ๋ถ๊ตฌํ๊ณ ์ง์๋๋ ์ด์ ๋ ํ์ฌ ์ด์ ์๋ ์ด๋ค ๊ฒ๋ ๊ทธ๊ฒ์ ๋์ฒดํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฒ์์ ์ด๋ฉ์ผ๋ก ์ฐ๋ฝํ์ ๋ ๋งค์ฐ ์ฌ๋ ค๊น์ ๋ต๋ณ์ ๋ฐ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ๊ฐ 0.10.x ๋ธ๋์น๋ฅผ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ํ๊ณ ๊ธฐ์ฌ์ ๊ฒํ ๋ฐ ๊ด๋ฆฌ ์์ ์ ์ ์ํ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ์๋ต์ ๋ฐ์ ์ง ๋ช ์ฃผ๊ฐ ์ง๋ฌ์ต๋๋ค.
์ด์ ๋ฌธ์ ์ถ์ ๊ธฐ์์ ๋ถํ์ ๊ทธ๋ง๋ ๋๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ํ ํ๋ก์ ํธ๊ฐ ์งํ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ง๋ง ์ ์ง ๊ด๋ฆฌ์๋ ์ฐ๋ฆฌ์๊ฒ ๋น์ง ๊ฒ์ด ์์ต๋๋ค. ๋ ๋์ ์ ๊ทผ ๋ฐฉ์์ ๋๊ตฐ๊ฐ๊ฐ ์์ ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ๋๋ผ๋ ๋ฐฉ์์ผ๋ก ํฌํฌํ๊ณ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ํ๋๊ฑฐ๋ ๋์๊ฐ์ผ ํ์ง๋ง, ๋จ์ ์์ ๋ ธ๋์ ๋ํด ํฌ๋๊ฑฐ๋ฆฌ๋ ๊ฒ์ ๋ณ๋ก ๊ฐ์น๊ฐ ์๋ค. ๋ถ๋ช ํ ๊ทธ๋ค์ ํ๋ก์ ํธ๋ฅผ ๊ณ์ ์งํํ ์๊ฐ, ์๋์ง ๋๋ ์ด๋ง์ด ์์ผ๋ฉฐ ๊ด์ฐฎ์ต๋๋ค!
๋๋ ์๋ก์ด ๊ด๋ฆฌํ์ ์๋ก์ด ์ ์ง ๊ด๋ฆฌ ํฌํฌ๋ฅผ ์ํ ๊ฒ์
๋๋ค. POG.js๋ผ๊ณ ํด์ผํฉ๋๋ค.
๋ด๊ฐ ๋ง์ต๋๊น?
๋ํ ํ๋ก์ ํธ๊ฐ ์งํ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ง๋ง ์ ์ง ๊ด๋ฆฌ์๋ ์ฐ๋ฆฌ์๊ฒ ๋น์ง ๊ฒ์ด ์์ต๋๋ค. ๋ ๋์ ์ ๊ทผ ๋ฐฉ์์ ๋๊ตฐ๊ฐ๊ฐ ์์ ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ๋๋ผ๋ ๋ฐฉ์์ผ๋ก ํฌํฌํ๊ณ ์ ์งํ๋ ๊ฒ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋์ํ์ง๋ง ์ด ๊ฒฝ์ฐ ์์ฒญ์ PEG.js์ ์๋ ์์ฑ์๊ฐ ํ ๋จ๊ณ ๋ ๋์๊ฐ๊ฒ ๋ค๊ณ ์ ์ํ ๋๊ตฐ๊ฐ์๊ฒ ์ ์ง ๊ด๋ฆฌ์ ๊ถํ์ ๋๊ฒผ๊ณ ์ง๊ธ์ ํ๋ก์ ํธ๋ฅผ ํฌ๊ธฐํ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๋๋จธ์ง ๋ชจ๋ ์ฌ๋๋ค์ ๋ฆผ๋ณด์ ๋น ๋จ๋ ธ์ต๋๋ค. ์๋ก์ด ๊ด๋ฆฌ์๊ฐ "์ฌ์ค ๋์๊ฒ ์ด๊ฒ์ ์ข์ ํ๋ก์ ํธ๊ฐ ์๋์์ด์. ๋ค๋ฅธ ์ฌ๋์ด ๊ฐ๋ณด์ฃ "๋ผ๊ณ ๋งํ๋ ๊ฒ์ ๊ด์ฐฎ์ง๋ง, ๊ทธ์ ์นจ๋ฌต์ผ ๋ฟ์ ๋๋ค. ๋ด๊ฐ @dmajda ๋ผ๋ฉด ์์งํ ๋งํด์ ๊ฝค ํ๊ฐ ๋ฌ์ ๊ฒ์ ๋๋ค.
๋ด๊ฐ @dmajda ๋ผ๋ฉด ์์งํ ๋งํด์ ๊ฝค ํ๊ฐ ๋ฌ์ ๊ฒ์ ๋๋ค.
๋๋ ์ ๋ง๋ก ํ๋ฅผ ๋ด์ง๋ ์์ง๋ง ๋ ๊ฐ์ง๋ฅผ ํ์ง ์์ ๊ฒ์ ํํํฉ๋๋ค.
์๋ก์ด ๊ด๋ฆฌ์์๊ฒ PEG.js๋ฅผ ๋๊ธฐ๊ธฐ ์ ์ ๋ ์ด์ ๊ธฐ๋ค๋ฆฌ์ง ์์ต๋๋ค. ์๋ง๋ ์ฌ๋ฌ ํ๋ณด์๊ฐ ๋ํ๋์ ๊ทธ๋ค ์ค์์ ์ ํํ๊ฑฐ๋, ๋จผ์ ๊ธฐ๋ถ๋ฅผ ์๊ตฌํ๊ฑฐ๋, ์ด์ ์ ์ฌํ ๊ฒ์ ๊ธฐ๋ค๋ ธ์ด์ผ ํ์ ๊ฒ์ ๋๋ค.
ํ๋ก์ ํธ์ ๋ํ "ํค"๋ฅผ ์ ์งํ์ง ์์ต๋๋ค(PEG.js ์น์ฌ์ดํธ, GitHub ๋ฐ npm ํจํค์ง์ ๋ํ ์ก์ธ์ค).
์ด๋ค ์ค ํ๋๊ฐ ํ์ฌ ์ํฉ์ ๋ฐฉ์งํ์ ์ ์์ต๋๋ค. ๋ถํํ๋ ์ด๊ฒ์ ๋์ด์ผ ๋ณผ ๋๋ง ๋ถ๋ช ํฉ๋๋ค.
์ด์จ๋ , @futagoza๊ฐ ๋ ์ด์ PEG.js ์ ๊ด์ฌ์ด ์๋ค๋ ๊ฒ์ ๊ทธ์ ๋ฌด๋ฐ์์์ ์์ฃผ ๋ถ๋ช ํฉ๋๋ค. ๋๋ ์ง๋ ๋ช ๋ ๋์ JavaScript ํ์ ์์ฑ๊ธฐ ๊ณต๊ฐ์ ๋ณด์ง ์์๊ธฐ ๋๋ฌธ์ PEG.js์ ์ข์ ๋์ฒดํ์ด ์กด์ฌํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ํ์ง๋ง ๊ทธ๋ ์ง ์๋ค๋ฉด ์ถฉ๋ถํ ๊ด์ฌ์ด ์๊ณ ์์์ ์ธ ์ฌ๋์ด PEG.js ์ฝ๋๋ฅผ ์ง์ด๋ค๊ณ ์๋ก์ด ์ด๋ฆ์ผ๋ก ๊ณ์ ๊ฐ๋ฐํ๋ค๋ฉด ํ์ํ ๊ฒ์ ๋๋ค. ํ์์ ์์ ์ต๊ณ ์ ์ฝ์ค๊ฐ ์๋๊น ์๊ฐํฉ๋๋ค. ๊ฒฐ์ ํด์ผ ํ ์ ์ผํ ๋ฌธ์ ๋ ํ์ฌ ์ํ์์ ๊ณ์ํ ์ง ์๋๋ฉด @futagoza๊ฐ ๋ณ๊ฒฝํ๊ธฐ ์ ์ํ์์ ๊ณ์ํ ์ง ์ฌ๋ถ์ ๋๋ค.
์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ํผ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ์ด๋ ์๋ ์น ์ฌ์ดํธ์ repo๊ฐ โโ์ฌ์ ํ ์๋ํ๋ ๊ฒฝ์ฐ ์ข์ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ํ PEG.js๋ฅผ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ค๋ ์ฌ๋ฌ ์ฌ๋์ด ๋ํ๋ ์๋ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ "Joe's PEG.js ํฌํฌ", "John's PEG.js ํฌํฌ" ๋ฑ์ด ์๋ ๊ฒ์ ๋ถํํ ์ผ์ ๋๋ค.
์ด ์ํฉ์ ๋ํด ์ ๊ฐ์ค๋ฝ๊ฒ ์๊ฐํฉ๋๋ค. ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ ๋ค์ ํด์ ๋๊ตฐ๊ฐ์๊ฒ ๋๊ฒจ์ค๋ค๋ฉด ๋ถ๋ช ํ ๋ค๋ฅด๊ฒ ํ ๊ฒ์ ๋๋ค.
์ง์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค @dmajda .
๋ฉฐ์น ์ ์ด๋ฉ์ผ๋ก @futagoza ์ ์ฐ๋ฝ์ ํ์ผ๋ ์๋ต์ด ์์๊ณ , ๊ทธ ์ดํ๋ก github์์ ํ๋ฐํ๊ฒ ํ๋ํ๊ณ ์๋ ๊ฒ์ ๋ณด๋ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ ๋ฌด์ํ๊ณ ์๋ค๊ณ ๋งํ๋ ๊ฒ์ด ํ๋นํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํ๋ก์ ํธ๋ฅผ https://github.com/codemix/pegjs ๋ก ๋ถ๊ธฐํ๊ณ @futagoza ๊ฐ ์ธ๊ณ๋ฐ๊ธฐ ์ ์ ๋ง์ง๋ง ์ปค๋ฐ์ผ๋ก ๋๋๋ ค ์ต์ ๋ฒ์ ์ ๋ ธ๋์์ ์๋ํ๋๋ก ์ข ์์ฑ์ ์ ๋ฐ์ดํธํ์ง๋ง ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ์ต์๋ก ์ ์งํฉ๋๋ค. ์์ง ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ์ง ์์์ผ๋ฉฐ ์์ผ๋ก ๋์๊ฐ ์ ์๋๋ก ์ ์ ํ ์ปค๋ฐ์ ์ ํํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ๋ชจ๋ ์ฌ๋์ ๋์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. travis-ci๋ฅผ ์ค์ ํ์ง๋ง ์ด ์์ ์์ github ์์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ์ ๋๋ค.
codemix๊ฐ ์ด ํฌํฌ๋ฅผ ์์ํ ์ ์งํ ์ ์๋ค๊ณ ๋ณด์ฅํ ์๋ ์์ง๋ง ์ปค๋ฎค๋ํฐ๊ฐ ๋์์ ๊ฑฐ๊ธฐ์ ๊ธฐ์ฌํ๋ค๋ฉด ํ ์ฌ๋์ด ํฅํ ๊ฐ๋ฐ์ ๋ค์ ์ฐจ๋จํ๋ ๋์ผํ ์ํฉ์ ๋น ์ง์ง ์๋๋ก ๋ณด์ฅํ ๊ฒ์ ๋๋ค.
ํ๋ก์ ํธ์ ๋ํ "ํค"๋ฅผ ์ ์งํ์ง ์์ต๋๋ค(PEG.js ์น์ฌ์ดํธ, GitHub ๋ฐ npm ํจํค์ง์ ๋ํ ์ก์ธ์ค).
์ฌ๋ณด์ธ์.
์น ์ฌ์ดํธ ๋ฐ github ์ก์ธ์ค์ ๋ํด์๋ ๋ชจ๋ฅด์ง๋ง,
npm์๋ ํจํค์ง ์ด๋ฆ์ ๋ํ ์ถฉ๋์ ํด๊ฒฐํ๋ ํ๋ก์ธ์ค๊ฐ ์์ต๋๋ค.
๊ทธ๋์ ํ์ํ ์ ์๋ ์์ดํ ์ ๋๋ค.
https://pegjs.org DNS ์ด๋ฆ์ ๋ํ ๋น์ฉ์ ๋๊ฐ ์ง๋ถํฉ๋๊น?
๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ๋๋ฉ์ธ ์ด๋ฆ ์ ์ ์ ๊ธฐ๊ฐ์ ๋ฐ๋ผ ~1์ฃผ ํ์ ๋ง๋ฃ๋ฉ๋๋ค.
1-2๊ฐ์ ์์ pegjs.org๋ฅผ ๋ค์ ๊ตฌ๋งค ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ์๋ ์์ต๋๋ค.
@bd82 - ์ด์ ๊ฐ ์์ผ๋ฏ๋ก ์ด์๋ฅผ ์ ๊ธฐํ ์ ์์ต๋๋ค. dmajda๋ ํ ๋ฒ๋ ํด๋ณธ ์ ์ด ์๋ ์ฌ๋์๊ฒ ํ๋ก์ ํธ๋ฅผ ์ฃผ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ๊ทธ ์ฌ๋์ ๋์ฃผํ์ต๋๋ค.
@phpnode - ์งํ ์ค์ธ ํ๋ก์ ํธ์ ์๋นํ ํ๋ํ๊ฐ ์์ต๋๋ค.
@StoneCypher๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค! ์ด๊ฒ์ https://github.com/StoneCypher/pegjs ์ ํฌํฌ์ ์์ต๋๊น?
๋๋ 9๋ ๋์ ์ ๋ฐ์ดํธ๋์ง ์์ https://www.npmjs.com/package/peggy ํจํค์ง์ ์์ ์์๊ฒ ์ฐ๋ฝํ๊ณ ๊ทธ๋ค์ ์ฐ๋ฆฌ์๊ฒ ์ด๋ฆ์ ์ฃผ๊ธฐ๋ก ๋์ํ์ต๋๋ค. ์ github ์กฐ์ง์ ๋ง๋ค๊ณ ์ ์ฅ์๋ฅผ ์ฌ๊ธฐ๋ก ์ฎ๊ฒผ์ต๋๋ค. https://github.com/peggyjs/peggy ์ํ์๋ฉด ์กฐ์ง์ ์ถ๊ฐํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋๋ ๋น์ ์ ์กฐ์ง์ ๊ฐ์ ํ๋ ๊ฒ์ ์ฆ๊น๋๋ค.
์๋์, ์ ๊ฐ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๊ฒ์ ๋จ์ง ๋ฉ์ธ ํ๋ก์ ํธ์ ๋ํ bugfix ํฌํฌ์ ๋๋ค. ๋๋ ์ด๋ฏธ ๋๋ฉ์ธ๊ณผ ํจํค์ง ์ด๋ฆ์ ๊ฐ์ง๊ณ ์์ต๋๋ค :)
๋ด ๋ชฉํ๋ ์ถ๋ ฅ๊ณผ ํธ์ง๊ธฐ๋ฅผ ํ๋ํํ๊ณ , ์ค๋ ์ง์๋๋ ๋ง์ ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ณ , ํ ์คํธ ๊ฐ๋ฅ์ฑ์ ๊ทผ๋ณธ์ ์ผ๋ก ๊ฐ์ ํ๊ณ , ๋ถํ์ํ๊ฒ ์ป๋ ์์ฒญ๋ !#%%#& ๋ฐ์ด๋๋ฆฌ๋ฅผ ์์ ํ๋ ๊ฒ์ ๋๋ค.
npm์ผ๋ก ์ํ๋ ๊ฒ์ ๋ํด ์ด์๋ฅผ ์ ๊ธฐํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ํจํค์ง ์์ ๊ถ์ ๋ํด ์ง์ํ์ ์ฐ๋ฝํ๋ ๋ฐ "์์ธ"์ด ํ์ํ์ง ์์ผ๋ฉฐ ๋ฒ์ ์ ์ฐจ๊ฐ ์๋๋๋ค.
NPM ์ฌ๋๋ค์ ์ธ์ repo์ ์ด์๋ฅผ ์ ๊ธฐํ ์ ์๋์ง์ ๋ํ ๋ช ํํ ์ง์นจ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋ถํํ๋ ์ด๊ฒ์ ์ ํฉํ์ง ์์ต๋๋ค.
๋ค์ด๋ด, ์๊ฐํด๋ด ๋ ํฌ๊ฐ ์ด๋์์ง ๋๋ง๋ค ์์์ ๋๋๊ฐ ๊ทธ ์๋ฆฌ๋ฅผ ์ฐจ์งํ ์ ์๋ค๋ฉด ๋๊ตฐ๊ฐ๊ฐ ์ฌ๋๋ค์ ๊ณต๊ฒฉํ๋ ค๊ณ ํ ๋๋ง๋ค ์ฐจ๊ฐ์ด ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฌด์์๋ก ์ ํํ๊ณ "๋๋ ์๋ก์ด ๊ด๋ฆฌ์๊ฐ ๋๊ณ ์ถ์ด"์ฒ๋ผ
๊ทธ๋ค์ ์ ์ฐจ๋ ๋จ์ฉ, ์ํ๊ถ ๊ด๋ฆฌ ๋ฐ ์ด์ ์ ์ฌํ ๊ฒ๋ค์ ๋ํ ๊ฒ์ ๋๋ค.
์๋ํ๊ธฐ ์ ์ ์์ฉ์๋ค๊ณ ๋งํ๋ค๋ฉด ๊ทธ๊ฒ์ ์ข์ ์ฌ๋์ ๋๋ค. ๋ ์๊ด์์ด. ๋๋ ๊ทธ๋ค๊ณผ ์ถฉ๋์ ๋ํด ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ ํ์ด์ ๊ฐ์ก๊ณ ์ํ ๋ฌธ์ ๋ ๊ทธ๋ฐ ์ฑ๊ฒฉ์ ๋ฌธ์ ์์ด ๋งค์ฐ ๋์์ด ๋์์ต๋๋ค. @dmajda ๊ฐ ์๋ํ๊ณ ์ถ๋ค๋ฉด ์ด๋ฉ์ผ์ ๋ณด๋ด๋ ๊ฒ๋ฟ์ ๋๋ค. ์ต์ ์ ๊ฒฝ์ฐ๋ ๊ทธ๋ค์ด ๊ฑฐ์ ํ๊ณ 5๋ถ์ ์๊ฐ์ ์๋ ๊ฒ์ ๋๋ค.
npm name disputes
์ ์ฑ
์ ํ๋ก์ธ์ค๊ฐ ๋ค์ ์์
์ ์ฌ์ฉ๋ ์ ์์์ ๋ช
์์ ์ผ๋ก ๋ํ๋
๋๋ค.
"ํฌ๊ธฐ๋" ํจํค์ง ์ฑํ
์ด ํ๋ก์ธ์ค๋ฅผ ์๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํจํค์ง๊ฐ ํฌ๊ธฐ๋์๋ค๋ ์ถฉ๋ถํ ์ฆ๊ฑฐ๊ฐ ์์ต๋๋ค...
์๋ง๋
๋๋ฉ์ธ์ด ๊ณง ๋ง๋ฃ๋๋ค๋ bd82์ ๋ฉ๋ชจ๋ฅผ ๋ณด๋ ์ ๋ง ๊ฑฑ์ ๋ฉ๋๋ค. ๊ทธ๊ฒ์ ์ฌ์์ด ๋ ์ ์๋ค
@futagoza , ์ฐ๋ฆฌ ์ค ํ ์ฌ๋์ด ์ด๊ฒ์ ๊ณ ์น ์ ์๊ฒ ํด์ฃผ์ธ์. ๋ช ๋ ์ด ํ๋ ๋ค
์๋ ํ์ธ์, ์ด ๋ํ๋ฅผ ์ ์ ๋์ ๋ณด๊ณ ์์ต๋๋ค. ๋๋ pegjs๊ฐ ๋ฌด์์ธ์ง ์๊ดํ์ง ์์ต๋๋ค. ์ ๊ทน์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋๋ ๊ฒ์ ๋ณด๋ ๊ฒ์ ๊ต์ฅํ ๊ฒ์ ๋๋ค. ์ฌ์ฉํ๊ธฐ ์ฌ์ด ํ์๋ ์์ต๋๋ค.
๋๋ฉ์ธ์ ๊ดํด์๋ ๋ฆฌ๋ด์ผ์ด ๋์์ง๋ง ์์ฑ์ผ์๋ฅผ ๋ณด๋ฉด ์๋์ผ๋ก ๋ ๊ฒ ๊ฐ๋ค. ๋ง๋ฃ๊ฐ ์ผ๋ง๋ ์น๋ช ์ ์ด์์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๊ฐฑ์ ํ๋ ๊ฒ์ด ๋ ๋์ ๋ฌธ์ ๋ผ๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค.
SEO๋ฅผ ์๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. 12 ๋ ์ง๊ธ. ์ ๋ชฝ์ด์ผ.
pegjs.com
์(๋ฅผ) ํ๋ํ์ต๋๋ค. ์ด๋ฅผ ์ํด ํฌํฌ๋ฅผ ์ค์ ํ ์ ์๋ค๋ฉด ์ฌ์ดํธ๋งต์ ์์ฑํ๊ณ Google์์ ๋์ฒด๋ฅผ ์ค๋นํ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๋ค๊ณผ ์ถฉ๋์ ๋ํด ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ ํ์ด์ ๊ฐ์ก๊ณ ์ํ ๋ฌธ์ ๋ ๊ทธ๋ฐ ์ฑ๊ฒฉ์ ๋ฌธ์ ์์ด ๋งค์ฐ ๋์์ด ๋์์ต๋๋ค. @dmajda ๊ฐ ์๋ํ๊ณ ์ถ๋ค๋ฉด ์ด๋ฉ์ผ์ ๋ณด๋ด๋ ๊ฒ๋ฟ์ ๋๋ค. ์ต์ ์ ๊ฒฝ์ฐ๋ ๊ทธ๋ค์ด ๊ฑฐ์ ํ๊ณ 5๋ถ์ ์๊ฐ์ ์๋ ๊ฒ์ ๋๋ค.
์ฃ์กํ์ง๋ง ํจํค์ง ๋ถ์๊ณผ ๊ด๋ จํ์ฌ npm ์ง์ํ์ ์ฐ๋ฝํ์ง ์๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ๋์๊ฒ ๋ฌ๋ ค ์๋ ๊ฒ์ด ์๋๋ผ PEG.js๋ฅผ ๋ ๊ฐ๋ฐํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ์ปค๋ฎค๋ํฐ์ ๋ชซ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌํ ์ปค๋ฎค๋ํฐ๊ฐ ํ์ฑ๋๋ค๋ฉด(๊ทธ๋ฆฌ๊ณ ์์ ๋๊ธ๋ก ํ๋จํ ๋ ์ด๋ฏธ ํ์ฑ๋๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค), ๊ถ๋ฆฌ๋ฅผ ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ๋ด๊ฐ ์๋๋ผ ๊ทธ ๊ตฌ์ฑ์์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ํ์ฑ๋์ง ์์ผ๋ฉด ๊ถ๋ฆฌ๋ฅผ ์ป๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋ ์ค์ํ ๊ฒ์ ํจํค์ง ๊ถํ์ ์ป์ผ๋ฉด์๋ ์ฌ์ ํ GitHub ์กฐ์ง๊ณผ ์น์ฌ์ดํธ๋ฅผ ์์ ํ์ง ์๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ํผ๋์ ์ค ๋ฟ์ ๋๋ค. ์ปค๋ฎค๋ํฐ๊ฐ ์ด์ ์ ์ฌ์ฉํ์ง ์์ ์ ์ด๋ฆ์ผ๋ก ์์ํ๋๋ก ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค.
SEO๋ฅผ ์๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. 12 _years_ ์ง๊ธ. ์ ๋ชฝ์ด์ผ.
์ด๊ฒ์ด ๋ด๊ฐ ํ์ฌ ์น์ฌ์ดํธ์ GitHub ์กฐ์ง์ด ๊ฐ๋๋๋ ๋์ PEG.js๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ฐ๋ฐ์ ๊ณ์ํ๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํ๋ _์ ํํ_ ์ด์ ์ ๋๋ค.
์๋ก์ด ์ด๋ฆ์ผ๋ก ๋ถ๊ธฐ๋ ์ ์๋ ค์ง ํ๋ก์ ํธ์ ์๊ฐ ๋ง์ด ์์ต๋๋ค. ์ด๊ฒ์ ์๋ฒฝํ๊ฒ ์คํ ๊ฐ๋ฅํ ๊ฒฝ๋ก์ ๋๋ค. ์ฌ์ฉ์๋ ๊ฒฐ๊ตญ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค.
pegjs.com
์(๋ฅผ) ํ๋ํ์ต๋๋ค. ์ด๋ฅผ ์ํด ํฌํฌ๋ฅผ ์ค์ ํ ์ ์๋ค๋ฉด ์ฌ์ดํธ๋งต์ ์์ฑํ๊ณ Google์์ ๋์ฒด๋ฅผ ์ค๋นํ ์ ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ ๊ฐ ๋งํ๋ ํผ๋์ ์์ ๋๋ค. ์ฌ์ฉ์๋ก์ ๋๋ .org์ .com์ ๊ด๊ณ๊ฐ ๋ฌด์์ธ์ง ๊ถ๊ธํ ๊ฒ์ ๋๋ค. ์๋ง๋ ํ์๊ฐ PEG.js์ ์์ฉ ๋ฒ์ ์ธ์ง ์๊ฐํ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ์ ๋ํด ์๊ฐํด ๋ณด์ญ์์ค. ๊ฐ์ฌ ํด์.
๋ ์ค์ํ ๊ฒ์ ํจํค์ง ๊ถํ์ ์ป์ผ๋ฉด์๋ ์ฌ์ ํ GitHub ์กฐ์ง๊ณผ ์น์ฌ์ดํธ๋ฅผ ์์ ํ์ง ์๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ ์ด์ ๋น์ ์๊ฒ ๋ฌ๋ ค ์์ง ์์ต๋๋ค, ๋ฐ์ด๋น. ๋น์ ์ ์ ํ๋ค.
๋๊ตฐ๊ฐ NPM์ ์ฐ๋ฝํ๊ธฐ๋ก ์ ํํ๋ฉด Github์๋ ์ฐ๋ฝํ ๊ฒ์ ๋๋ค. ๋ ๋ค Microsoft์ด๊ณ ๋์ผํ ์ ์ฑ ์ ๋ฐ๋ผ ํ๋ํฉ๋๋ค.
๊ทธ ์์ ์์ ์น์ฌ์ดํธ๋ ๋ ์ด์ pegjs.org
๊ฐ ์๋๋๋ค. ์๋ํ๋ฉด ๋น์ ์ ๊ทธ ์น์ฌ์ดํธ๋ฅผ ๋๋ฉ์ธ ๊ฐฑ์ ์กฐ์ฐจ ํ์ง ์์ ์ฌ๋์๊ฒ ์ฃผ์๊ณ , ๋น์ ์ด ์๊ณ ์์์๋ ๋ถ๊ตฌํ๊ณ ๊ทธ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ ์ ๋์ ์ผ๋ก ๊ฑฐ๋ถํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ทธ๊ฐ ๋ค์ด์ค ์ ์ผํ ์ฌ๋์ด๋ค.
David, ๋น์ ์ ๊ทธ๊ฐ ๋ง ๊ทธ๋๋ก ์๋ฌด ๊ฒ๋ ํ์ง ์๊ณ ๋ช ๋ ์ ๋ณด๋๊ณ , ๋๋ฌด ์ฐ์ธํ๊ฑฐ๋ ์ ํ ๋ฐ์ํ์ง ์๋ ๊ฒ์ผ๋ฆ ๋๋ฌธ์ ๊ทธ๊ฒ์ scuttleํ๋ ค๋ ๋๊ตฐ๊ฐ์๊ฒ ์ด์ ์์ญ์ ์ฃผ์์ต๋๋ค.
.
ํ์ฌ ์น์ฌ์ดํธ์ GitHub ์กฐ์ง์ด ๊ฐ๋ ์ค์ธ ์ํ์์ PEG.js๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ฐ๋ฐ์ ๊ณ์ํ๋ ๊ฒ์ด ๋ง์ด ์ ๋๋ค๊ณ ์๊ฐํ๋ ์ด์ ๊ฐ ๋ฐ๋ก ์ฌ๊ธฐ์ ์์ต๋๋ค.
David, ๊ทธ๋ค์ Github ์กฐ์ง์ ์์ ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๊ณ ์ ๋ ์น์ฌ์ดํธ๋ฅผ ๊ต์ฒดํ ๋ค์ ์ ์ด๋ฆ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๊ธฐํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค.
๋น์ ์ด ํ๋ ์์๋ ์ณ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ๋ต์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ 1๋ ๋์ ๋น์ ์ด ์์ํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ๋์์ ์์ฒญํ์ง๋ง ๋น์ ์ ๋จํธํ๊ฒ ์ฐธ์ฌ๋ฅผ ๊ฑฐ๋ถํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋์ ์ปค๋ฎค๋ํฐ๊ฐ ์ค์ ๋ก ๋งํ๊ณ ์๋ ๊ฒ์ "์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๊ณ ์๋ ํ ์ฌ๋์ ๋ชฉ์ ์กฐ๋ฅด๋ ๋น์ ์ ๋์์ด ํ์ํฉ๋๋ค."
๋น์ ์ด ๊ทธ๋ ๊ฒ ํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ๋ง ๊ทธ๋๋ก ๋น์ ์ด ์ ์งํด์ผ ํ๋ ๋ชจ๋ ๊ฒ์ ๊ต์ฒดํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ ์ ๋์ ์ธ ํฌํฌ์ ๋๋ค, David. ๊ทธ๋ด ํ์๋ ์์ง๋ง ํํ๊ณ ์๋ ์ ๋ น์ธ ์ฒํ๊ณ ์๊ณ , ๊ทธ์๊ฒ์ ์๋ต์ ๋ฐ์ ์ ์๋ ์ ์ผํ ์ฌ๋์ ๋น์ ์ด ์์์ ์ผ๋ก ์ณ์ ์ผ์ ํ๋ผ๊ณ ์๊ตฌํ์ง ์์ ๊ฒ์ ๋๋ค.
๋น์ ์ด ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฆ์? ๋น์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ์ง๊ธ ์ฌ๋ผ์ ธ์ผํฉ๋๋ค
๋น์ ์ด ๋ง๋ ์กฐ์ง? ๋น์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ์ง๊ธ ์ฌ๋ผ์ ธ์ผํฉ๋๋ค
๋น์ ์ด ๋ง๋ ์น์ฌ์ดํธ? ๋น์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ์ง๊ธ ์ฌ๋ผ์ ธ์ผํฉ๋๋ค
์ปค๋ฎค๋ํฐ๊ฐ ์์ต๋๋ค _ ์กด์ฌ ํ์ง ์์ต๋๋ค _, ์๋ํ๋ฉด ๋น์ ์ด ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ชป๋ ์ฌ๋์๊ฒ ์คฌ๊ณ , ๋น์ ์ด ์ด๊ฒ์ ๊ณ ์น ํ์๊ฐ ์๋ ์ฒํ๋ ์ปค๋ฎค๋ํฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํ๊ธฐ๋ฅผ ๊ฑฐ๋ถํ๋ ๊ฒ์ ๊ด์ฌํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
.
๋๋ pegjs.com์ ์ธ์ํ์ต๋๋ค. ์ด๋ฅผ ์ํด ํฌํฌ๋ฅผ ์ค์ ํ ์ ์๋ค๋ฉด ์ฌ์ดํธ๋งต์ ์์ฑํ๊ณ Google์์ ๋์ฒด๋ฅผ ์ค๋นํ ์ ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ ๊ฐ ๋งํ๋ ํผ๋์ ์์ ๋๋ค. ์ฌ์ฉ์๋ก์ ๋๋ .org์ .com์ ๊ด๊ณ๊ฐ ๋ฌด์์ธ์ง ๊ถ๊ธํ ๊ฒ์ ๋๋ค. ์๋ง๋ ํ์๊ฐ PEG.js์ ์์ฉ ๋ฒ์ ์ธ์ง ์๊ฐํ ๊ฒ์ ๋๋ค.
์๋ฌด๋ .com
๊ฐ ์์
์ ์ธ ๊ฒ์ ์๋ฏธํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
"์ด์ ๋๋ฉ์ธ์ ์์ ๋ณด์ ์๋ ์ฃฝ๊ฒ ๋ด๋ฒ๋ ค ๋์ญ์์ค. ์ด๊ฒ์ pegjs.org์์ ๋ฌด๋ฃ๋ก ์ ๊ณต๋๋ ์ค๋๋ pegjs์ด๋ฉฐ, ์ฐ๋ฆฌ๋ ๊ทํ๊ฐ ์ฌ์ฉํ ์ ์๋ ํ๋์ ์ธ ๊ฒ์ ๋ฃ์ ๊ฒ์ ๋๋ค. ๋์ ์ฌ๊ธฐ์ ํ๋์ ์ธ ๋๊ตฌ๊ฐ ์์ต๋๋ค."
๋๋ฉ์ธ์ ์ ์งํ๋ ๋ฐ ๊ธฐ๊บผ์ด ๋์์ด ๋์ง ์๋๋ค๋ฉด ์ด๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ ๋จ์ ์ ํ์ ๋๋ค.
์ปค๋ฎค๋ํฐ์์ ์ฒ๋ฆฌํด์ผ ํ๋ค๊ณ ๋งํ๊ณ "์ปค๋ฎค๋ํฐ๊ฐ ์ ๋๋ก ์ฒ๋ฆฌํ์ง ์๊ณ ์๋ค"๊ณ ๋งํ๊ธฐ๋ ํ๊ณ ์ํ์ ๊ฑฐ๋ถํ๊ธฐ๋ ํฉ๋๋ค.
๋ฌด์์ด๋ ์ค์ค๋ก
๋๋ ์ด๋ฌํ ๋ฌธ์ ์ ๋ํด ๊ด๋ฒ์ํ๊ฒ ์๊ฐํ๊ณ , ๋น์ ์ด ์ฐธ์ฌํ๊ธฐ๋ฅผ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ด ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ ๋์ ์์ด๋์ด๊ฐ ์์ผ๋ฉด ์์ํ๊ฑฐ๋ ์ต์ํ ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ์๋ ค์ฃผ์ญ์์ค.
pegjs
์ ๋ท์ปด์ด ์๋ ๊ฒ์ด ์น์ฌ์ดํธ๊ฐ ์ ํ ์๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค. JS ๋๊ตฌ์ ๋ค๋ฅธ ๋ชจ๋ ๋ถ๋ถ์๋ ๋ท์ปด์ด ์์ต๋๋ค. ์ด๊ฒ์ ์๋ฌด๋ ํผ๋ํ์ง ์์ ๊ฒ์
๋๋ค.
.
์ด๋ฌํ ๋ฌธ์ ์ ๋ํด ์๊ฐํด ๋ณด์ญ์์ค. ๊ฐ์ฌ ํด์.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ด 1๋ ์ ์ ์ผ์ด๋ ๊ฒ์ด๋ผ๊ณ ์ผ์ต๋๋ค.
์ด๊ฒ์ ์ ์๊ฐํ์ต๋๋ค. ์ด๊ฒ์ ์์ฑ์๊ฐ ์๋ชป๋ ์ฌ๋์๊ฒ ๋๊ฒจ์ค ๋ค์ ํต์ ํ ์ ์๋ ์ฌ๋๋ค์ด ์์ ํ๋๋ก ํ์ฌ ์ฌ๋ผ์ง ์ฒซ ๋ฒ์งธ ์ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋๋ค.
.
์ฃ์กํ์ง๋ง ํจํค์ง ๋ถ์๊ณผ ๊ด๋ จํ์ฌ npm ์ง์ํ์ ์ฐ๋ฝํ์ง ์๊ฒ ์ต๋๋ค.
๋น์ ์ ์์ฒญ๋ฐ์ง ์์ต๋๋ค. ๋น์ ์ ๋ ์ด์ ๊ด์ฌํ์ง ์์ต๋๋ค.
๊ทธ ๋๊ฐ๋ฅผ ์น๋ฅด๊ฒ ๋ค๊ณ ์ ์ํ๊ธฐ๋ ํ๋ค. ํ๋์ ๋๋ฉ์ธ๋ง ๋ฑ๋กํ๊ธฐ ์ํด Futagoza์ $200๋ฅผ ์ง๋ถํ๊ฒ ๋ค๊ณ ์ ์ํ์ต๋๋ค.
๋ํ ๋ฑ๋ก ๊ธฐ๊ด์ ์ฐ๋ฝํ์ฌ ๋ค๋ฅธ ์ฌ๋์ ๋๋ฉ์ธ์ ์ธ์ํ์ง ์๊ณ ๋น์ฉ์ ์ง๋ถํ ์ ์๋์ง ํ์ธํ์ง๋ง "์๋์ค"๋ผ๊ณ ์์ํฉ๋๋ค.
David๊ฐ ๋ถ์ฃผ์ํ ์ฌ๋์๊ฒ ์ด์ ๋ฅผ ์คฌ๊ณ , ์ด์ ๋ฅผ ๋๋ ค๋ฌ๋ผ๊ณ ํ์ง ์๊ณ , ์ด์ ๊ฐ ์๋ ์ฌ๋๋ค์ด ์ง์ ๋ค์ด๊ฐ๊ธฐ ์ํด ์ฐฝ๋ฌธ์ ๊นจ๋ ๊ฒ์ ๋ฉ์ถ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ 100%์ ๋๋ค.
์ด์ ๋๋ฉ์ธ ์ด๋ฆ์ด ์ธ์๋๊ธฐ๋ฅผ ์ํ์ ๋ค๋ฉด ์ ํฌ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค! Futagoza๊ฐ ๊ทธ์ ์๋ฉ์ด์์ ๋ฒ์ด๋๋๋ก ์ค๋ํ๋ ๋ฐ 36 ์๊ฐ์ด ์์ต๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ์ฝ 2๊ฐ์ ๋์ .com
๋ฅผ ์ ์งํ๊ณ ๋ ์ฌ๋ฑ๋ก ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋๋ฉด .com
๋ฐ .org
๊ฐ ๋ฉ๋๋ค.
๋ง์ ์ฌ๋๋ค์ด ๋๋ฉ์ธ์ ๋ํด ์๊ณ ์๋ ํ ๊ฐ์ง ์ฌ์ค์ ๋๋ฉ์ธ์ด ๋ง๋ฃ๋ ํ์๋ ์ค๋ ์ทํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ ์ง์คํธ๋ผ๋ 2์ฃผ ๋์ ์ ์ ๊ฐ๊ฒฉ์ผ๋ก ๋ณด๊ดํ ๋ค์ 6์ฃผ ๋์ ๋ถํ๋ ค์ง ๊ฐ๊ฒฉ์ผ๋ก ๋ณด๊ดํฉ๋๋ค.
ํด๋น ๋๋ฉ์ธ์ SEO๋ 4์ผ์ด ์ง๋๋ฉด ์์ ํ ์๋ฉธ๋ฉ๋๋ค .
๊ทธ ์์ ์์ .org๋ ๋๋ถ๋ถ ์ญ์ฌ์ ์ธ ํธ๊ธฐ์ฌ์ด ๋ ๊ฒ์ ๋๋ค.
David, ๊ธฐ๋ถ์ด ์ข์์ง๋ค๋ฉด .com์ด ์์์๋ ๋ถ๊ตฌํ๊ณ React๊ฐ ์์ ์ ์ด๋ผ๊ณ ์๊ฐํ๋ ์ฌ๋์ ์๋ฌด๋ ์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๋๊ตฌ์ ์ ๋ฐ์ .com์ด ์๊ณ ๊ฑฐ์ ๋ชจ๋ ๋ฌด๋ฃ์ ๋๋ค. ExtJS๊ฐ ์ ๋ฃ๋ผ๋ ์ฌ์ค์ ์์์ ๋ ์ฌ์ค ์ ๋ง ํ๊ฐ ๋ฌ์ต๋๋ค. .com์ด ์์ต๋๋ค.
๊ทํ์ ์ง๋ฌธ์ด "์คํ๋ผ์ธ์ผ๋ก ์ ํ๋์ง ์๋๋ก ํ๋ ๋ฐฉ๋ฒ" ๋๋ "์์์ด์ ์ ์งํ๋ ๋ฐฉ๋ฒ"์ด ์๋๋ผ "TLD๊ฐ ์ฌ๋๋ค์ ํผ๋์ค๋ฝ๊ฒ ํ ๊ฒ"์ธ ๊ฒฝ์ฐ ์ ์๊ฐ์๋ ๊ทํ๊ฐ ์ ๋ง ํฐ ๋ฌธ์ ๊ฐ ์ฌ ๋ ๋ฌธ์
Futagoza์ ์ฐ๋ฝํ์ฌ ๋๋ฉ์ธ ๊ฐฑ์ ์ ๊ถ์ฅํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค. ๋๋จธ์ง ์ฐ๋ฆฌ๊ฐ ๊ณ ํต์ ๊ฒช์ง ์๋๋ก ๋๋ ๊ทธ์๊ฒ ์ด ์ฌ์ํ ์ผ์ ์์ํ๋๋ก ๊ธฐ๊บผ์ด ๋์ ์ง๋ถํ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ๋น์ ์ด ์๋ ๋์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋๋ ๊ฒ์ ์์์ ์ง์ผ๋ณด๊ณ ์๋ค๋ ์ฌ์ค์ ๋งค์ฐ ์ค๋งํ์ต๋๋ค. ๋น์ ์ ์ด๊ฒ์ ๊ณ ์น ์ ์๊ณ ์ฐ๋ฆฌ๋ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ์ ์ผํ ์ผ์ ๋๋ค. ๋น์ ์ ๋น์ ์ด ์ฐ๋ฆฌ๊ฐ ์ทจํ๋๋ก ํ๋ ค๋ ์ ๋ต์ ์ฑ์ทจํ ์ ์๋ ์ ์ผํ ์ฌ๋์ ๋๋ค.
Futagoza์ ํธ์ง๋ฅผ ์ฐ๋ ๋ฐ ํ์ํ ๊ฒ๋ณด๋ค ๋ ๋ง์ด ์ ํฌ์๊ฒ ํธ์ง๋ฅผ ๋ณด๋ด์ จ์ต๋๋ค. ํ ์ด๋ฉ์ผ์ ๋น์ ์ด ๊ทธ์๊ฒ ๋ณด๋ด๋ ๋ ๋ฌธ์ฅ์ด๋ฉด ๋์ ๋๋ค.
์ด ์์ ์์ ๋น์ ์ ๋น์ ์ด ์ณ์ ์ผ์ ํ์ด๋ ์ ์๊ฐ์ ๊ทธ๊ฒ์ ๋ณด์ง ๋ชปํ ์๋ ์์ต๋๋ค.
๊ทธ ๋ฌธ์ ์ ๋ํด ์๋ฌด๋ PegJS๊ฐ ๋น์๋ฆฌ ๋จ์ฒด๋ผ๊ณ ์๊ฐํ๋ ๋ฐ ํผ๋์ค๋ฌ์ํ์ง ์์์ต๋๋ค.
์ด์ ๊ฐ์ ๊ฒ์ ๋ํ ์ค์ ์ฌ๋ฐ๋ฅธ TLD๋ .net
์
๋๋ค.
์๋ก์ด ์ด๋ฆ์ผ๋ก ๋ถ๊ธฐ๋ ์ ์๋ ค์ง ํ๋ก์ ํธ์ ์๊ฐ ๋ง์ด ์์ต๋๋ค. ์ด๊ฒ์ ์๋ฒฝํ๊ฒ ์คํ ๊ฐ๋ฅํ ๊ฒฝ๋ก์ ๋๋ค. ์ฌ์ฉ์๋ ๊ฒฐ๊ตญ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค.
๋ค, ๋ฐ์ด๋น, ์ด๋ฏธ ์ ๊ฐ ํ๊ณ ์๋ค๊ณ ๋งํ ๊ฒ์ ๋๋ค. ๋๋ ์ด๋ฏธ ์๋ก์ด ์กฐ์ง๊ณผ ๋์๊ด์ ๋๋ฉ์ธ์ ๋ํ 10๋ ๋ฑ๋ก ๋น์ฉ์ ์ง๋ถํ์ต๋๋ค. ์ด ์ค๋ ๋์์ ์ด๋ฏธ ๋ฐํํ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ํ ๊ทธ๋ค์ ์ต์ ์ด ์๋ค๋ ๊ฒ์ ๋ฐฐ์ธ ์ฅ์๊ฐ ํ์ํ๋ฉฐ ์ฒ์๋ถํฐ ๋ค์ ์์ํ์ง ์๋๋ค๋ ๊ฒ์ ์์์ผ ํฉ๋๋ค.
ํฌํฌ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํฌํฌ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์๊ณ ์์ต๋๋ค. ์ด๋ฉ์ผ์ ๋ณด๋ผ ํ์๊ฐ ์๋๋ก ๊ฐ์ ๋ก ํฌํฌํ๊ณ ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ 6๋ฌ๋ฌ๋ฅผ ์ฐ์ง ์๊ณ ๋ ๋ฌธ์ฅ์ ์ฐ์ง๋ ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์กฐ์ง, ์น์ฌ์ดํธ, ๋์๊ด ์ด๋ฆ์ ์ง์ฐ๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ํ ๋ค๊ฐ์ค๋ ํผํด๋ฅผ ์ดํดํ๊ณ ์์ผ๋ฉฐ ๊ทธ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ํฌํฌ๋ ์ฌ๊ฐํ ์์์ ์ผ์ผํต๋๋ค.
"์ด๋ด, ๊ฐ๋ ํฌํฌ๊ฐ ๋ชจ๋ ๊ฒ์ ํ๊ดดํ์ง๋ ์๋๋ค"๊ณ ํญ์ํ์ ์ด์ ๋ ๊ฑฐ์ ํญ์ ํฌํฌ๊ฐ ํ๊ดดํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ปค๋ฎค๋ํฐ๋ 5๊ฐ์ ๊ฒฝ๋ณด๊ธฐ ํ์ฌ๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ถ์ด ๋ฌด์์ธ์ง ๋งํ ํ์๊ฐ ์์ต๋๋ค. ๊ฐ์ฌ ํด์.
์๋์ด๋ฅผ ์ก์ต๋๋ค.
๋๋ 2์์ ์ด๊ฒ์ด ๊ฒฐ๊ณผ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์ ๋งํ๋ค๊ณ ๋งํ์ต๋๋ค.
"์ ๋ง"์ด๋ผ๋ ๋จ์ด๋ ์๊ฒฉํ๊ฒ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉ๋์์ต๋๋ค. ์ฐ๋ฆฌ ๋ชจ๋๋ ์ด๊ฒ์ด ์ค๋ ๊ฒ์ ๋ณด์๊ณ ๊ทธ๊ฒ์ด ์ผ๊ธฐํ ์์ฒญ๋ ํผํด๋ฅผ ์๊ณ ์์ผ๋ฉฐ ์๋ฐฉํ๊ธฐ๊ฐ ์ฝ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ์ฌ๋์ ๋จ ๋ ์ฌ๋๋ฟ์ ๋๋ค. ํ๋๋ ์๋ตํ์ง ์๊ณ ๋ค๋ฅธ ํ๋๋ "๋๋ ๋์์ ์์ฒญํ์ง ์์ ๊ฒ์ ๋๋ค, ๊ทธ์๊ฒ 1 ๋ ๋์ ๊ทธ๋ฅผ ์์ฒญํ ๋ฌด๋ ฅํ ์ปค๋ฎค๋ํฐ๊ฐํด์ผํฉ๋๋ค"๋ผ๊ณ ์๋ตํฉ๋๋ค.
๋ง๊ฐ์ผ๊น์ง ์ดํ ๋จ์์ด, ๋ฐ์ด๋น. ์ฐ๋ฆฌ๊ฐ ๋ญ๊ฐ๋ฅผ ํด์ผ ํ๋ ์ฒ ํ์ง ๋ง์ธ์. ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ Futagoza์๊ฒ ์ณ์ ์ผ์ ํ๋๋ก ์์ฒญํ์ง ์์ผ๋ ค๋ ๋น์ ์ ๋ง์์ ํด๊ฒฐํ๊ธฐ ์ํด ์ฒ ๋ฌ๋ฌ๋ฅผ ์ผ์ต๋๋ค.
ํ๋ํ๋ ๋ฐ ๋ ์ฌ๋์ ๋น์ฉ์ $0์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ง ๊ทธ๋๋ก ๊ทธ์๊ฒ์ ์ด๊ฒ์ ๋นผ์์ ์ ์์ผ๋ฉฐ, ๋น์ ๋ ์๊ณ ์์ต๋๋ค.
์ฌ๊ธฐ์ ํฉ๋ฆฌ์ ์ธ ๋ณํ๊ฐ ์ผ์ด๋ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋น์ ์ด ๊ทธ์๊ฒ ์ด๋ฉ์ผ์ ๋ณด๋ด๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ณต์ ์ผ๋ก ์๋๋์ง ์์ ์๋ํ ์ ์๋ ์ ์ผํ ๊ฒ์ ๋๋ค.
์์งํ ์คํจ๋จธ๊ฐ ๋ฐ์ด๋ฌ์ค๋ฅผ ํผ๋จ๋ฆฌ๊ธฐ ์ ์ ๋๋ฉ์ธ์ ์บก์ฒํ ์ ์๋ค๋ฉด ์ด์ด ์ข์ ๊ฒ์ ๋๋ค.
๋น์ ์ ์น์ฌ์ดํธ๊ฐ ์ฃฝ๊ฒ ๋๋ ๊ฒ์ด ์๋๋๋ค, David. ๊ธฐ์กด ์ฌ์ฉ์๋ฅผ ์ํ์ ๋น ๋จ๋ฆฌ๊ณ ์์ต๋๋ค.
์ด๊ฑด ์ฌ์ค ์ง์ง ์ฌ๊ฐํ๋ค
@StoneCypher ํ ๊ฐ์ง ๋ถ๋ช ํ ํด๋๊ฒ ์ต๋๋ค. PEG.js์ ๋ํ ์ฐธ์ฌ๋ 2017๋ ์ ์ข ๋ฃ๋์์ต๋๋ค. ๋ค์๋ ์ฐธ์ฌํ๊ณ ์ถ์ง ์์ต๋๋ค. ๋ด๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๋ง๋ ์ด์ ๋ ๋๋ฐฉ์ด ์ด์ ์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฌ๋ฌ ๋ฌธ์ ์์ ์ ๋ฅผ ์ฌ๋ฌ ๋ฒ ํ๊ทธํ ๋ค์ ๋์์ ์์ฒญํ๋ ์ด๋ฉ์ผ์ ์ ์๊ฒ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ๋ง์ ๋ฌด๊ฒ๊ฐ ์ค๋ฆฌ๊ณ ์์ผ๋ก ๋์๊ฐ ์ ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ตญ ๋์ํ์ต๋๋ค. ์ ๋ฅผ ํํํ์ง ์๊ฒ ํด์ฃผ์ธ์.
์ด ๋ฌธ์ ๋ฅผ ๋ง๋ ํ @futagoza ์ ์ง์ ์ฐ๋ฝํ๊ฑฐ๋ ์ด๋ค ์์ผ๋ก๋ ๋์์ ์์ฒญํ ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ด๊ฐ ๋ง๋ ํ์๋ "๋ค์๋ ๋์๊ฒ ๊ธฐ๋์ง" ์์ ๊ฒ์ด๋ผ๊ณ ํธ์ง๋ฅผ ๋ณด๋ธ ๊ธฐ์ต์ด ์์ต๋๋ค. ๊ทธ๋ฐ ์ ์์, ๋๋ ๋น์ ์ด ๋์๊ฒ ๋์ง ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๋ค์ ๊ฐ์ํ ๋ ๋น์ ์ ์ฌ๋ฌ ๊ฐ์ง ๋น๋์ด ๊ฑฐ์ง์ด๊ณ ๋น์ ์ ์ด์กฐ๊ฐ ๋ชจ์์ ์ด๋ฉฐ ๋์์ ์์ฒญํ๋ ๊ฒ์ ๋งค์ฐ ๋ถ์ ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@futagoza ์ ๊ธ์ ์ฐ๋ ๊ฒ์ ๋ง์ด ๋์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ ์คํ ์์ค ํ๋ก์ ํธ์ด๋ฏ๋ก ๋น๊ณต๊ฐ ์ด๋ฉ์ผ์ด ์๋ ๊ณต๊ฐ ์ํ์์ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์ฌ๋์ด ์ด๋ฏธ ๊ทธ์๊ฒ ํธ์ง๋ฅผ ์ผ๊ธฐ ๋๋ฌธ์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์๊ณ ์์ ๊ฒ์ ๋๋ค.
npm ํจํค์ง์ ๊ดํด์๋ @jquense ๊ฐ npm ์ง์์ ๊ธ์ ์ฐ๋ผ๊ณ ์ ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํ ๋์ ๊ฒฌํด๋ฅผ ๋ช ํํ ํ๊ณ ์ถ์๋ค.
pegjs.org ๋๋ฉ์ธ์ ๊ฒฝ์ฐ @AlansCodeLog ์ ๋๊ธ ์ ๋๋ฉ์ธ์ด ์ด๋ฏธ ๊ฐฑ์ ๋์๋ค๋ ์๋ฏธ๋ก ์คํดํ์ต๋๋ค. ๋ถ๋ช ํ ๊ทธ๋ ์ง ์์์ต๋๋ค. ์ด๊ฒ์ .org ๋ .com์ ๋ํ ์ ์์ง๋ฅผ ๋ค์ ๋ฌดํจํํฉ๋๋ค.
์ฌํํผ, ์ ๋ ์ด ํ ๋ก ์ ์ ๊ฐ ์๊ฐํ๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ด ๊ด์ฌํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ์ ๋ ์ด ๋ฌธ์ ์์ ๊ตฌ๋ ์ ์ทจ์ํฉ๋๋ค. ์ฌ๋ฌ๋ถ, ์ ์๊ฒฌ์ ๋จ์ํ ์๊ฒฌ์ผ๋ก ๋ฐ์๋ค์ด์ง ๋ง์๊ณ ๋ง์๋๋ก ํ์ธ์.
ํ์ด์ ๋น๋๋ค!
์ฐ๊ฒฐ๋ ๊ณ์ ์ ์ ์ดํ์ง ์๋ ๊ฒฝ์ฐ ์ด๋ฆ์ ๋ค์ ๋จ๊ฒจ์ผ ํฉ๋๋ค. "์ด ํ๋ก์ ํธ๋ PEG.js์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ํฌํฌ์ ๋๋ค." ์ด๋ฏธ PEG.js๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ์ฝ๊ฒ ์ดํดํ ์ ์์ผ๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋์๊ฒ๋ ์ค์ํ์ง ์์ต๋๋ค.
"peggy"๋ผ๋ ์ด๋ฆ์ ๊ณ์ ์ฌ์ฉํ๊ณ https://github.com/peggyjs/peggy ์์ ํฌํฌ๋ฅผ ๊ณ์ํ๊ฒ ์ต๋๋ค.
@futagoza ๊ฐ ์ณ์ ์ผ์ ํ๋๋ก ์ค๋ํ๋ ๋ฐ ๋ ์ด์ ํ์ ์์ง ๋ง์๋ค. ๊ทธ๋ค์ด ๊ฒฐ๊ตญ์๋ ์ ์ ์ ์ฐจ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋ค์ PEG.js๊ฐ ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋๊น์ง ์ด๊ธฐ ๋ฆด๋ฆฌ์ค๋ฅผ ํฅํด ์ฝ๊ฐ์ ์ง์ ์ ์ด๋ฃจ๋๋ก ํฉ์๋ค!
์ด ๋ฌธ์ ๋ฅผ ๋ง๋ ํ @futagoza ์ ์ง์ ์ฐ๋ฝํ๊ฑฐ๋ ์ด๋ค ์์ผ๋ก๋ ๋์์ ์์ฒญํ ์ ์ด ์์ต๋๋ค.
์ง๊ธ 5๋ฒ์ด๋ ๋ฌผ์ด๋ดค์ด, @dmajda
"peggy"๋ผ๋ ์ด๋ฆ์ ๊ณ์ ์ฌ์ฉํ๊ณ https://github.com/peggyjs/peggy ์์ ํฌํฌ๋ฅผ ๊ณ์ํ๊ฒ ์ต๋๋ค.
์ํ์ ๋ค๋ฉด ์ด๋ฏธ ๋ง์ ์์ ์ ์๋ฃํ์ผ๋ฉฐ @phpnode๋์ ์ฐธ์ฌ๋ฅผ ์ฆ๊น๋๋ค. ๋๋ ๋ํ ๋๋ถ๋ถ์ ๊ด๋ จ SEO๋ฅผ ์ฒ๋ฆฌํ ๊ด๋ จ ๋๋ฉ์ธ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ Monarch ๊ตฌํ์ด ๋๋ถ๋ถ ์๋ฃ๋์์ผ๋ฉฐ ๋๋ถ๋ถ์ ๋๊ตฌ๋ฅผ IDE์ ์ง์ ํฌํจํ์ต๋๋ค.
@StoneCypher ๋๋ ๋น์ ์ด ๋ฌด์์ ์๊ฐํด ๋๋์ง ๋ณด๊ณ ์ถ์ต๋๋ค. ์ด ์์ ์ ์์ง ๊ณต๊ฐ๋์ง ์์์ผ๋ฉฐ ์ต์ ๋ฆด๋ฆฌ์ค ๋๋ ์ต์ ์ปค๋ฐ์์ ๋ถ๊ธฐํ์ต๋๊น?
ํฌํฌ์ ๋ํ ์ ์ฒ ํ์ ๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ์ข์ ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฃผ ์์ ์ด๊ธฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ๊ณ ๋ฒ๊ทธ ์์ PR ์ค ๋ช ๊ฐ๋ง ๊ฐ์ ธ์ค๊ณ ๋น๋ ์์คํ ์ด๋ ํ ์คํธ ์ฌ์์ฑ ๋ฑ์ ๊ฑด๋๋ฆฌ์ง ์๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ๋ณตํ ๋ ์ด๋ฅผ ํตํด ์ฐ๋ฆฌ๋ ๊ฒ์ํ๊ณ ๋ ํฐ ๋ชฉํ๋ฅผ ์ํ ๊ณํ์ ์ธ์ธ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋ค๋ฅธ ๊ณณ์์ ๋ง์ํ์ ๊ฒ์ฒ๋ผ ๋ฆด๋ฆฌ์ค๋ฅผ ์๊ณ ์ ์ง์ ์ด๋ฉฐ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ์ ์งํด์ผ ํฉ๋๋ค.
ํจ์ฌ ๋ ํ๋์ ์ธ ๋๊ตฌ๋ณด๋ค ์์ ์ด์ ๊ฐ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ ๋ฒ์ ๋ง์ ๊ฒ์ ๋ณ๊ฒฝํ๊ณ ์ถ์ _๋งค์ฐ_ ์ ํน์ ์ ๋๋ค. ํนํ codegen ๋ฌผ๊ฑด. ๋๋ ์ด ๊ณผ๋ํ ์ผ๋ง์ด @futagoza ๋ฅผ ์ค๋ซ๋์ ์งํํ ์์ ๊ฐํ ์ด์ ๋ผ๊ณ ๋ฏฟ๊ธฐ ๋๋ฌธ์ ์ด ์ ํน์ ๋ฌผ๋ฆฌ์น๊ธฐ ์ํด ๋งค์ฐ ์ด์ฌํ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๋ด๊ฐ ๊ทธ๋ค์ ์์ ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ๋ง์ง๋ง ๋ฆด๋ฆฌ์ค ์ดํ๋ก ๋๋ฌด ๋ง์ด ๋ณ๊ฒฝ๋์ด ๋ชจ๋ ๊ฒ์ด ์์๋๋ก ์๋ํ๊ณ ์ฐ๋ฆฌ๊ฐ ๋ฐฉ๊ธ ์ํํ ์ฝ๋๋ฒ ์ด์ค์ ์ด๋๊ฐ์ ์จ์ด ์๋ ๊ฑฐ๋ํ๊ณ ๋ฌด์์ด ๋ฒ๊ทธ๊ฐ ์๋ค๋ ํ์ ์ ๊ฐ๊ธฐ๊ฐ ์ด๋ ต๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ํด ์์ง ๋ชปํฉ๋๋ค.
๊ณ ์ฉ์ฃผ์ ์ธ๋ถ ํ๋ก์ ํธ ์น์ธ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๊ธฐ ๋๋ฌธ์ ์์ง ๊ณต๊ฐ๋์ง ์์์ต๋๋ค. 3์ผ ์ ์ ๋๋ฉ์ธ ์ด๋ฆ ๋ฌธ์ ๋ฅผ ์๊ฒ ๋์์ ๋ ์์ฒญํ์ต๋๋ค. ๊ฒฝํ์ 2์ฃผ์ด์ง๋ง ํด์ผ์ ๋๋ค.
๋ฌธ์ ์ถ์ ๊ธฐ๋ฅผ ๋ณผ ์ ์๊ณ ๋ฐ๋ผ์ ์ฐ๋ฆฌ๊ฐ ๊ณํํ๋ ๊ฒ์ ๋ณผ ์ ์๋ ์กฐ์ง์ ๊ทํ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์์ ์ ๊ฒ์ ๋ง๋ค๊ณ ์ถ๋ ์ฐ๋ฆฌ ๊ทธ๋ฃน์ ํฉ๋ฅํ๊ณ ์ถ๋ ์ฐ๋ฆฌ ๊ทธ๋ฃน์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค(David์ ๋ค๋ฅธ ์ฌ๋๋ค๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค).
๊ทธ๊ฒ์ด ์ค์ ๋ก ๋ด๊ฐ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ pegjs.com์์ ํฌํฌ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์์ฒญํ ์ด์ ์ ๋๋ค. ๊ทธ ์น์ธ์ ๋ฐ์ ๋๊น์ง๋ ์ค์ ๋ก ์ค์ค๋ก ํ ์ ์๊ณ ๋๋ฉ์ธ ๋ง๊ฐ์ผ์ ์ค์ ๋ก ๊ทธ ์น์ธ์ ๋ฐ๊ธฐ ์ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
@StoneCypher ์, ์กฐ์ง์ ์ถ๊ฐ๋๋ฉด ๊ธฐ์ฉ๋๋ค. ์ปค๋ฎค๋ํฐ๋ฅผ ๋ถ์ด์ํค๋ ๊ฒ์ ์ ๋ง ๋ถํํ ์ผ์ด๋ฏ๋ก ํจ๊ป ์ผํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
C'est ํํ์คํฑ. ๋๋ ๋ถ์ด์ด ๋งค์ฐ ๋ฐ๋์งํ์ง ์๋ค๋ ๋ฐ ๋์ํ๋ฉฐ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ ๋ง๋ก ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค. David์ ์์ ์ ๋ํ ๋์ ์ดํด๋ ... ๊ฒธ์ํ๊ณ ๊ธฐ๊ปํด์ผ ๐
์ฐ๊ธฐ ๊ถํ์ด ์๋ 6๊ฐ์ ์ ์ฅ์์ ์ด๋ํ์ต๋๋ค. ์ด๋ฉ์ผ์ ํ์ธํ์ธ์.
์ฝ๋๊ฐ ์์ง ์๋ํ์ง ์์ ์น์ธ์ด ๋ณด๋ฅ ์ค์
๋๋ค. issues
์ ์ฅ์์ ๋ฌธ์ ์ถ์ ๊ธฐ๋ฅผ ์ดํด๋ณด์ญ์์ค.
pegjs.org ๋๋ฉ์ธ์ ๊ฒฝ์ฐ @AlansCodeLog ์ ๋๊ธ์ ๋๋ฉ์ธ์ด ์ด๋ฏธ ๊ฐฑ์ ๋์๋ค๋ ์๋ฏธ๋ก ์คํดํ์ต๋๋ค. ๋ถ๋ช ํ ๊ทธ๋ ์ง ์์์ต๋๋ค. ์ด๊ฒ์ .org ๋ .com์ ๋ํ ์ ์์ง๋ฅผ ๋ค์ ๋ฌดํจํํฉ๋๋ค.
๋ฆฌ๋ด์ผ ๋์์ต๋๋ค (์ฐ๋๋ฅผ ๋ณด์ธ์):
๋ ์ง์คํธ๋ฆฌ ๋ง๋ฃ: 2021 -11-28 14:31:06 UTC
์ ๋ฐ์ดํธ: 2020-11-26 01:41:16 UTC
์์ฑ์ผ: 2014-11-28 14:31:06 UTC
๋ํ ์ฌ์ฉ์ ์ ์ฅ์์ ๋ง์๋๋ฆฌ๊ณ ์ถ์ ๊ฒ์ ์ด๋ฆ, ํ์ ๋ฑ์ ํฌ๊ฒ ์ค์ํ์ง ์์ต๋๋ค. peg.js๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๊ด์ฌ์ด ์๋ ์ฌ๋๋ค์ ๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋์์ ์ฐพ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋์์ด ์ข์ ๊ฒฝ์ฐ ์ด๋ฆ์ ์๋ฆด ๊ฒ์ ๋๋ค.
๋ํ ํฌํฌ๋ฅผ ๋ง๋๋ ์ฌ๋๋ค์ ์ํด github ํฌํฌ ์ฌ์ฉ์ ์ ์คํ๊ฒ ๊ณ ๋ คํ ๊ฒ์ ๋๋ค. ํฌํฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก github ๊ฒ์์ ํ์๋์ง ์์ต๋๋ค. "peg.js"๋ฅผ ๊ฒ์ํ๋ฉด ํฌํฌ๊ฐ ๋ํ๋์ง ์์ต๋๋ค. ๋ฐ๋ฉด์ ์ผ๋ฐ repo๋ฅผ ์ฌ์ฉํ๊ณ ์ค๋ช ์ "peg.js"๋ฅผ ๋ฃ์ผ๋ฉด ๋ํ๋์ผ ํฉ๋๋ค. ๋ํ ํฌํฌ์ ์ฝ๋๋ ๊ฒ์ ์ฐฝ์์ ๊ฒ์ํ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ์ ํ ์ฌํญ์ด ์์ ์ ์์ต๋๋ค. ๋๋ ๊ฐ์ธ์ ์ผ๋ก ์ด๊ฒ๋ค์ด ํฌํฌ ๋ชฉ๋ก์ ๋ํ๋๋ ๊ฒ๋ณด๋ค ๋ ๊ฐ์น ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ํฌํฌ(์: name/peg-js-fork)์ repo(org/peg-js)๋ฅผ ๋๊ธฐํ ์ํ๋ก ์ ์งํ๊ณ ํฌํฌ๋ฅผ ์๋ฆผ๊ณผ ํจ๊ป ๋๋ฏธ ๋ถ๊ธฐ๋ก ์ค์ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ ๊ทค๋ฌ ๋ ํฌ๋๊น ๋ฐ๋ก ๊ทธ ์ด์ โค๏ธ
SEO๊ฐ ํ๊ดด๋์ง ์์ ๋คํ์ ๋๋ค
@StoneCypher - ๊ณ ์ฉ์ฃผ๋ก๋ถํฐ ํ๋ก์ ํธ๋ฅผ ๊ณต๊ฐํ๋ ์์ง์์ด ์์์ต๋๊น?
๋ค. ๊ณง ์น์ธ์ด ๋ ๊ฒ ๊ฐ์์.
@StoneCypher ์ํ์ ๋ํ ์๋ณ ํ? :)
๋๋ ํ์ฌ ์ธ๋ถ ์ฌํญ์ ์ฝํ ์์ต๋๋ค. ๊ฑฐ์ ๋ค ์จ ๊ฒ ๊ฐ์์. ์ฌ๊ณผํ๋ค
๊ฐ๋จํ ๋งํด์ PEG.js๋ ์ฃฝ์๊ณ ๋ค์๊ณผ ๊ฐ์ด ๋ค์ ํ์ด๋ฌ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ ์ฌํ ๋์์ด ์๋ moo lexer๋ ์์ต๋๋ค.
https://github.com/messageformat/messageformat/pull/288
๋ด ๋ง์ด ๋ง์?
Peggy๋ ๋ํ ์ด์์๋ ๊ฒ๋ณด๋ค ์ฃฝ์ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
@StoneCypher ์ ์ค์ ์ ์ง ๊ด๋ฆฌ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ๊ณ์ ์ฃผ์ํ๊ณ ์์ต๋๋ค.
@futagoza ๋ ์ด์์์ง๋ง ๋ชจ๋ ๊ฒ์ ๋ฌด์ํฉ๋๋ค.
๋ด ํฌ๋ง์ ๊ทธ๊ฐ ํ๋ก์ ํธ๋ฅผ ๋๊ฒจ์ฃผ๋ ๊ฒ์
๋๋ค.
๋ฌด ๋ ์๋ ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ "์ค์ " ๋ฌธ๋ฒ์ผ๋ก ์์
ํ๋ ค๋ ๊ฒฝ์ฐ ์ค์ ๋์์ด ์๋๋๋ค. moo๋ ๋ ์์ผ ๋ฟ์
๋๋ค. Pegjs๋ Lexer ๊ทธ ์ด์์
๋๋ค.
๋ด๊ฐ ์ฐพ์ ์ ์ผํ ๋์์
https://github.com/kach/nearley
์ผ๋ถ ๋ค๋ฅธ ์ฌ๋:
https://github.com/zaach/jison
https://github.com/harc/ohm
๊ทธ๋ฌ๋ ์ ๋ฐ์ ์ผ๋ก: Pegjs๋ ๋จ์ํ ์ ์๊ฒ ๊ฐ์ฅ ์์ ์ ์ด๊ณ ๋น ๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
@phpnode ๋๋ @StoneCypher ์ค ์ด๋ ์ชฝ์ด๋ ๋จผ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค๋จํ๋ ๊ฒ์ ๊ธฐ๊บผ์ด ๋์ธ ๊ฒ์
๋๋ค. ๋์ ๋ํ ์ต์ข
์ด๋ฆ์ ๊ฐ์ง ํ์๋ ์์ผ๋ฉฐ github๊ฐ ์๋ ์ฒดํฌ์์์ผ๋ก npm install
์ ์๋ตํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๊ฒฝ์ฃผ๋ค!!!
๊ณ ์ฉ์ฃผ๊ฐ ์๋ช ํ๋ ๋๋ก ์๋ฐฉํ๊ฒ ์ต๋๋ค. ๐คทโโ๏ธ
๋ ํ ๋ฌ์ด ์ง๋ฌ๋๋ฐ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? @์คํค์ฌ์ดํผ
๊ธฐ๋ณธ์ ์ผ๋ก ์๊ฐ/์ฉ๋์ด ๋ถ์กฑํ๊ณ ์ฌํ๊ฒ๋ ์ง๊ธ์ ํ์๊ฐ ํ์ํ ์์ ์ ํ๊ณ ์์ง ์์ต๋๋ค. ~๊ทธ๋์ peggy๋ ํ์ด๋์๋ง์ ์ฃฝ์์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
ํธ์ง: Peggy๋ ์ด์ ์์ต๋๋ค!
๊ธฐ๋ณธ์ ์ผ๋ก ์๊ฐ/์ฉ๋์ด ๋ถ์กฑํ๊ณ ์ฌํ๊ฒ๋ ํ์ฌ๋ก์๋ ํ์๊ฐ ํ์ํ ์์ ์ ํ๊ณ ์์ง ์์ต๋๋ค. ๊ทธ๋์ Peggy๋ ํ์ด๋์๋ง์ ์ฃฝ์์ต๋๋ค. ์ฃ์กํฉ๋๋ค :(
@phpnode ํ๊ธฐ ์กฐ์ง์ ์ธ์ํ๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์ด๋ ค ์์ต๋๊น? ๊ธฐ์กด peggy
ํจํค์ง ์์ ์์์ ๊ด๊ณ๋ฅผ ๋๊ฒจ์ฃผ๋ ๋ฐ ๋์์ด ๋๋ค๋ฉด ์ต์ํ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ๊ณ PR์ ์์ํ ์ ์์ต๋๋ค.
@hildjj ์ ๋, ๋ค ๋ถํํฉ๋๋ค! ํ๊ธฐ ์ ์ฅ์์ ๋ํ PR์ ์ด๋ฉด npm ํจํค์ง์ github org์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค. ๋ด github ์๋ฆผ์ ๊ณตํฌ ์ผ์ด๋ฏ๋ก ์๋ตํ๋ ๋ฐ 24์๊ฐ ์ด์ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ [email protected] ์ผ๋ก ์ด๋ฉ์ผ์ ๋ณด๋ด์ฃผ์ญ์์ค.
์ฌ์ํ์ง๋ง ๋ ์ ์ ์ธ ํ๋ณด: https://github.com/peggyjs/peggy/pull/3
์ฐ๋ฆฌ๋ peggy์ ์ํํ ๋ฒ์ ์ธ 1.0.0-rc.0์ ์ํํ์ต๋๋ค. ๊ธฐ์กด ํ๋ก์ ํธ์์ ์ด๊ฒ์ ์๋ํด ๋ณผ ์ ์์ต๋๊น? ๋ช ๊ฐ์ง ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ํ๋ณด๋๋ ๋๋ก ์ ์ฒด ๋ฆด๋ฆฌ์ค๋ฅผ ํ ๊ฒ์ ๋๋ค.
Peggy v1.0.0์ด ์ถ์๋์์ต๋๋ค. ์ถ์ ํ๊ธฐ๋ฅผ ์ํ๋ ๋ฌธ์ ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
IMO ์ด ํ๋ก์ ํธ์ ๊ด๋ฆฌ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ด ๋ฒ๊ทธ๋ฅผ ๋ซ์์ผ ํฉ๋๋ค.
์ปค๋ฎค๋ํฐ ๋ถํ ์ ๊ฐ์น๊ฐ ์์ผ๋ฉฐ ์ฌ์ ํ ๊ณ ์ฉ์ฃผ๋ก๋ถํฐ ์น์ธ์ ๋ฐ์ง ๋ชปํ์ต๋๋ค. Joe๋ Web Sequence Diagrams ์ง์์ด๋ฏ๋ก ํฌํฌ๋ฅผ ๋ซ๊ฒ ์ต๋๋ค.
ํนํ typescript, ์๋ํ ๋ฐ ์ถ๋ ฅ ํฌ๊ธฐ ์ถ์์ ๊ด๋ จํ์ฌ ๊ธฐ์ฌ๋ฅผ ํ์ํ๋ ๊ฒฝ์ฐ LMK
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด์ ๋ฌธ์ ์ถ์ ๊ธฐ์์ ๋ถํ์ ๊ทธ๋ง๋ ๋๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ํ ํ๋ก์ ํธ๊ฐ ์งํ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ง๋ง ์ ์ง ๊ด๋ฆฌ์๋ ์ฐ๋ฆฌ์๊ฒ ๋น์ง ๊ฒ์ด ์์ต๋๋ค. ๋ ๋์ ์ ๊ทผ ๋ฐฉ์์ ๋๊ตฐ๊ฐ๊ฐ ์์ ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ๋๋ผ๋ ๋ฐฉ์์ผ๋ก ํฌํฌํ๊ณ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ํ๋๊ฑฐ๋ ๋์๊ฐ์ผ ํ์ง๋ง, ๋จ์ ์์ ๋ ธ๋์ ๋ํด ํฌ๋๊ฑฐ๋ฆฌ๋ ๊ฒ์ ๋ณ๋ก ๊ฐ์น๊ฐ ์๋ค. ๋ถ๋ช ํ ๊ทธ๋ค์ ํ๋ก์ ํธ๋ฅผ ๊ณ์ ์งํํ ์๊ฐ, ์๋์ง ๋๋ ์ด๋ง์ด ์์ผ๋ฉฐ ๊ด์ฐฎ์ต๋๋ค!