Design: ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์˜ ๋ผ์ด์„ผ์Šค ํ•„๋“œ?

์— ๋งŒ๋“  2017๋…„ 03์›” 08์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: WebAssembly/design

์ด ๋ฌธ์ œ๋Š” ์ด๋ฏธ 2๋…„ ์ „์— ์ œ๊ธฐ๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ ๋‹น์‹œ์—๋Š” ๋ถ„๋ช…ํžˆ ์ข‹์€ ์ƒ๊ฐ์ด์—ˆ์ง€๋งŒ MVP[1]์—๋Š” ํ•ด๋‹น๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์˜ ์•Œ ์ˆ˜ ์—†๋Š” ์„น์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๊นŒ?

ํŠน์ • License-SourceURL ์„น์…˜์„ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์›น ํŽ˜์ด์ง€๋Š” ์ฃผ๋ฌธํ˜•์œผ๋กœ ๋‹ค์šด๋กœ๋“œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ์ง€๊ธˆ์ฒ˜๋Ÿผ ๋ผ์ด์„ ์Šค๋ฅผ ์‰ฝ๊ฒŒ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•„๋“œ๋Š” ํ•„ํ„ฐ๋ง ๋ธŒ๋ผ์šฐ์ € ํ™•์žฅ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

[1]. https://github.com/WebAssembly/design/issues/208
[2]. https://www.w3.org/standards/

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

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

W3C ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทธ๋ฃน์— ๊ฐ€์ž…ํ•˜๊ณ  ๋ณ€ํ˜ธ์‚ฌ๋ฅผ ์ฐธ์—ฌ์‹œ์ผœ ๊ทธ๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์ง€์ •ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

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

๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์ด ํŠน์ •(๋ช…๋ช…๋œ) ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜์„ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ํŠน๋ณ„ํ•œ ์ด์œ ๋Š” ์—†์Šต๋‹ˆ๋‹ค. (๊ธฐ์ˆ ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ์„ ํƒ์  ์ด๋ฆ„ ์„น์…˜์„ ์ง€์ •ํ•˜์ง€๋งŒ ์•„์ง ์ˆ˜๋ฌธ์„ ์—ด์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

๋ผ์ด์„ ์Šค/์†Œ์Šค๋Š” ๊ฐ€์ƒ์˜ ๊ธด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜ ๋ชฉ๋ก์˜ ์ผ๋ถ€๋กœ ์—ฐ๊ธฐํ•  ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๋Š” ์ถฉ๋ถ„ํžˆ ๋…ํŠนํ•˜๊ณ  ๊ทผ๋ณธ์ ์œผ๋กœ ์ค‘์š”ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜์— ๋Œ€ํ•œ ์ด์œ ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์„ค๋“๋ ฅ์ด ์žˆ์„ ๋•Œ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ

๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ: ์˜ˆ, ํŠน์ • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ๋งค์šฐ ๋†’์€ ์ •๋‹น์„ฑ์„ ์š”๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. license-source๋Š” ๋‚ด๊ฐ€ ๋ณด๊ธฐ์— ๊ทธ ๋†’์€ ๊ธฐ์ค€์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

@titzer ์ผ๋ฐ˜์ ์œผ๋กœ ๋‚˜๋Š” ๋‹น์‹ ์˜ ๋ง์— ๋™์˜ํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ„๋‹จํ•œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ๋ผ์ด์„ ์Šค๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์›น์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. wasm์ด ์„ฑ๊ณตํ•˜๋ฉด ์›น์—์„œ CAD, PS ๋ฐ ๊ฒŒ์ž„๊ณผ ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•ด ์ ์  ๋” ๋ณต์žกํ•œ ๋ผ์ด์„ ์Šค๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ธ์–ด๋Š” ๊ทธ๊ฒƒ์ด ๊ฐ€์ ธ์˜ฌ ๋ฌธ์ œ์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์€ ํ™์ˆ˜ ์ˆ˜๋ฌธ์„ ์—ฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฏธ๋ž˜์— ํ›จ์”ฌ ๋” ๋งŽ์€ ๊ณจ์นซ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋งค์šฐ ๊ตฌ์ฒด์ ์ด๊ณ  ์„ฌ์„ธํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

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

W3C ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทธ๋ฃน์— ๊ฐ€์ž…ํ•˜๊ณ  ๋ณ€ํ˜ธ์‚ฌ๋ฅผ ์ฐธ์—ฌ์‹œ์ผœ ๊ทธ๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์ง€์ •ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

@jfbastien URL์— ์–ด๋–ป๊ฒŒ ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๊นŒ? 404๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@badumt55 https://www.w3.org/community/webassembly/ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

@jfbastien ๋ณ€ํ˜ธ์‚ฌ์—๊ฒŒ ์—ฐ๋ฝํ•˜์ง€ ๋ง๋ผ๊ณ  ์ œ์•ˆํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์ด ์ œ์•ˆ์ด ๋ฒ•์ ์œผ๋กœ ์•„๋ฌด ๊ฒƒ๋„ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ ๋ผ์ด์„ ์Šค ๋ฐ ์†Œ์Šค ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋ณ€ํ˜ธ์‚ฌ๋“ค์ด ํ™•์ธํ•ด ์ค„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”.

ํ•œ๋™์•ˆ ํ™œ๋™์ด ์—†์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ”ํ”ผ์–ธ์ด ๋˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋Œ“๊ธ€์„ ๋‹ฌ์•„์ฃผ์„ธ์š”(ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ์–ธ๊ธ‰ ํ•œ

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