Pegjs: ํ”„๋กœ์ ํŠธ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ์ƒํƒœ

์— ๋งŒ๋“  2020๋…„ 02์›” 09์ผ  ยท  71์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pegjs/pegjs

์•ˆ๋…•ํ•˜์„ธ์š” @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 ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๋‹ต์„ ๋ฐ›์„ ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋“ฃ๊ธฐ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

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

๋ชจ๋“  71 ๋Œ“๊ธ€

์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ ˆ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ธฐ์กด ์†Œ๋น„์ž ์ค‘ ๋ˆ„๊ตฌ๋„ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์—†์œผ๋ฉฐ ์ธํ„ฐ๋„ท์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฃฝ์—ˆ์Šต๋‹ˆ๋‹ค.

์ฐข๋‹ค

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 ๋ผ๋ฉด ์†”์งํžˆ ๋งํ•ด์„œ ๊ฝค ํ™”๊ฐ€ ๋‚ฌ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ •๋ง๋กœ ํ™”๋ฅผ ๋‚ด์ง€๋Š” ์•Š์ง€๋งŒ ๋‘ ๊ฐ€์ง€๋ฅผ ํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ํ›„ํšŒํ•ฉ๋‹ˆ๋‹ค.

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

  2. ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ "ํ‚ค"๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(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 rc2๋Š” unpkg ๋ฐ jsDelivr ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์ „์ฒด 1.0 ๋ฆด๋ฆฌ์Šค๊ฐ€ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

Peggy v1.0.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ถ”์ ํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค.

IMO ์ด ํ”„๋กœ์ ํŠธ์— ๊ด€๋ฆฌ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ๋ฒ„๊ทธ๋ฅผ ๋‹ซ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ ๋ถ„ํ• ์˜ ๊ฐ€์น˜๊ฐ€ ์—†์œผ๋ฉฐ ์—ฌ์ „ํžˆ ๊ณ ์šฉ์ฃผ๋กœ๋ถ€ํ„ฐ ์Šน์ธ์„ ๋ฐ›์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. Joe๋Š” Web Sequence Diagrams ์ง์›์ด๋ฏ€๋กœ ํฌํฌ๋ฅผ ๋‹ซ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ typescript, ์ž๋™ํ™” ๋ฐ ์ถœ๋ ฅ ํฌ๊ธฐ ์ถ•์†Œ์™€ ๊ด€๋ จํ•˜์—ฌ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•˜๋Š” ๊ฒฝ์šฐ LMK

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰