WebAssembly ๋ชจ๋ ์๋๋ฐ์ฑ์ ๋ํ ์ฌ์ธต ๋ถ์์ผ๋ก, ๋ณด์์ ์ค์์ฑ, ๊ตฌํ ๊ธฐ์ , ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์ ์ ๋ค๋ฃน๋๋ค.
WebAssembly ๋ชจ๋ ์๋๋ฐ์ฑ: ๊ฒฉ๋ฆฌ ๋ณด์ ๊ตฌํ
WebAssembly(Wasm)๋ ๊ณ ์ฑ๋ฅ, ์ด์์ฑ, ๋ณด์์ฑ์ ๊ฐ์ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๊ธฐ์ ๋ก ๋ถ์ํ์ต๋๋ค. ์๋๋ฐ์ค ํ๊ฒฝ ๋ด์์ ๋ค์ดํฐ๋ธ์ ๊ฐ๊น์ด ์๋๋ก ์คํ๋๋ ๋ฅ๋ ฅ ๋๋ถ์ ์น ๋ธ๋ผ์ฐ์ ๋ถํฐ ์๋ฒ ์ฌ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์ ์ด๋ฅด๊ธฐ๊น์ง ๊ด๋ฒ์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ด์์ ์ ๋๋ค. ์ด ๊ธ์์๋ WebAssembly ๋ชจ๋ ์๋๋ฐ์ฑ์ด๋ผ๋ ์ค์ํ ๊ฐ๋ ์ ์ฌ๋ ์๊ฒ ๋ค๋ฃจ๋ฉฐ, ์์ ํ๊ณ ๊ฒฌ๊ณ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๋ฐ ์์ด ๊ทธ ์ค์์ฑ, ๊ตฌํ ๊ธฐ์ , ์ด์ ์ ๋ํด ์์๋ด ๋๋ค.
WebAssembly ์๋๋ฐ์ฑ์ด๋ ๋ฌด์์ธ๊ฐ?
WebAssembly ์๋๋ฐ์ฑ์ Wasm ๋ชจ๋์ ํธ์คํธ ํ๊ฒฝ ๋ฐ ๋ค๋ฅธ ๋ชจ๋๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ๋งํฉ๋๋ค. ์ด ๊ฒฉ๋ฆฌ๋ Wasm ๋ชจ๋ ๋ด์ ์ ์์ ์ด๊ฑฐ๋ ๋ฒ๊ทธ๊ฐ ์๋ ์ฝ๋๊ฐ ์์คํ ์ ๋ฌด๊ฒฐ์ฑ์ ํผ์ํ๊ฑฐ๋ ๋ช ์์ ์ธ ํ๊ฐ ์์ด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. Wasm ์ฝ๋๊ฐ ์ธ๋ถ ์ธ๊ณ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์คํ๋ ์ ์๋ ๊ฐ์์ '๋ชจ๋ ์์'๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
WebAssembly ์๋๋ฐ์ฑ์ ํต์ฌ ์์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฉ๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ: Wasm ๋ชจ๋์ ์์ฒด ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ๋ด์์ ์๋ํ์ฌ ํธ์คํธ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ค๋ฅธ ๋ชจ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ์ ์ด ํ๋ฆ ์ ํ: Wasm ๋ฐํ์์ ์๊ฒฉํ ์ ์ด ํ๋ฆ์ ๊ฐ์ ํ์ฌ ์น์ธ๋์ง ์์ ์ ํ๋ ์์์ ์ฝ๋ ์ฃผ์๋ก์ ํธ์ถ์ ๋ฐฉ์งํฉ๋๋ค.
- ์์คํ ํธ์ถ ๊ฐ๋ก์ฑ๊ธฐ: Wasm ๋ชจ๋๊ณผ ํธ์คํธ ํ๊ฒฝ ๊ฐ์ ๋ชจ๋ ์ํธ์์ฉ์ ์ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ด๋ฃจ์ด์ ธ์ผ ํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ฐํ์์ ์์คํ ๋ฆฌ์์ค์ ๋ํ ์ ๊ทผ์ ์ค์ฌํ๊ณ ๋ณด์ ์ ์ฑ ์ ์ํํ ์ ์์ต๋๋ค.
- ์ญ๋ ๊ธฐ๋ฐ ๋ณด์: Wasm ๋ชจ๋์ ์ญ๋(capability)์ ํตํด ๋ช ์์ ์ผ๋ก ๋ถ์ฌ๋ ๋ฆฌ์์ค์๋ง ์ ๊ทผํ ์ ์์ด ๊ถํ ์์น์ ๊ฐ๋ฅ์ฑ์ ์ต์ํํฉ๋๋ค.
WebAssembly ์๋๋ฐ์ฑ์ด ์ค์ํ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
์๋๋ฐ์ฑ์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก WebAssembly์ ๊ฐ์ฅ ์ค์ํฉ๋๋ค:
- ๋ณด์: ์ ์์ ์ด๊ฑฐ๋ ๋ฒ๊ทธ๊ฐ ์๋ Wasm ์ฝ๋๋ก๋ถํฐ ํธ์คํธ ์์คํ ๊ณผ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํธํฉ๋๋ค. Wasm ๋ชจ๋์ ์ทจ์ฝ์ ์ด ์๊ฑฐ๋ ์๋์ ์ผ๋ก ์ ์์ ์ผ๋ก ์ค๊ณ๋ ๊ฒฝ์ฐ, ์๋๋ฐ์ค๋ ํด๋น ๋ชจ๋์ด ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ๋์ด ํด๋ฅผ ๋ผ์น๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ์ด๋ ์ ๋ขฐํ ์ ์๋ ์ฝ๋(์: ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ์ฌ์ฉ์๊ฐ ์ ์ถํ ์ฝํ ์ธ )๋ฅผ ์์ ํ๊ฒ ์คํํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์ด์์ฑ: ์๋๋ฐ์ค๋ Wasm ๋ชจ๋์ด ๋ค๋ฅธ ํ๋ซํผ๊ณผ ์ํคํ ์ฒ์์ ์ผ๊ด๋๊ฒ ๋์ํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ชจ๋์ด ๊ฒฉ๋ฆฌ๋์ด ์๊ธฐ ๋๋ฌธ์ ํน์ ์์คํ ์์กด์ฑ์ด๋ ๋์์ ์์กดํ์ง ์์ ์ด์์ฑ์ด ๋งค์ฐ ๋์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ฝ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ๊ฐ๋ฐ๋ Wasm ๋ชจ๋์ ์๋๋ฐ์ฑ ๋๋ถ์ ์์์์ ์๋ฒ๋ ๋จ๋ฏธ์ ์๋ฒ ๋๋ ์ฅ์น์์๋ ์์ธก ๊ฐ๋ฅํ๊ฒ ์๋ํฉ๋๋ค.
- ์ ๋ขฐ์ฑ: Wasm ๋ชจ๋์ ๊ฒฉ๋ฆฌํจ์ผ๋ก์จ ์๋๋ฐ์ฑ์ ์์คํ ์ ์ ๋ฐ์ ์ธ ์ ๋ขฐ์ฑ์ ํฅ์์ํต๋๋ค. Wasm ๋ชจ๋ ๋ด์ ์ถฉ๋์ด๋ ์ค๋ฅ๊ฐ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์ด์ ์ฒด์ ๋ฅผ ๋ค์ด์ํฌ ๊ฐ๋ฅ์ฑ์ด ์ ์ต๋๋ค.
- ์ฑ๋ฅ: ๋ณด์์ด ์ฃผ๋ ์ด์ ์ด์ง๋ง ์๋๋ฐ์ฑ์ ์ฑ๋ฅ์๋ ๊ธฐ์ฌํ ์ ์์ต๋๋ค. ๋ชจ๋ ๋ช ๋ น์ด์์ ๊ด๋ฒ์ํ ๋ณด์ ๊ฒ์ฌ๋ฅผ ํ ํ์์ฑ์ ์ ๊ฑฐํจ์ผ๋ก์จ ๋ฐํ์์ ์คํ์ ์ต์ ํํ๊ณ ๋ค์ดํฐ๋ธ์ ๊ฐ๊น์ด ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
WebAssembly ์๋๋ฐ์ฑ ๊ตฌํ ๊ธฐ์
WebAssembly ์๋๋ฐ์ฑ์ ํ๋์จ์ด์ ์ํํธ์จ์ด ๊ธฐ์ ์ ์กฐํฉ์ ํตํด ๊ตฌํ๋ฉ๋๋ค. ์ด๋ฌํ ๊ธฐ์ ๋ค์ ํจ๊ป ์๋ํ์ฌ ์์ ํ๊ณ ํจ์จ์ ์ธ ๊ฒฉ๋ฆฌ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค.
1. ๊ฐ์ ๋จธ์ (VM) ์ํคํ ์ฒ
WebAssembly ๋ชจ๋์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ๋จธ์ (VM) ํ๊ฒฝ ๋ด์์ ์คํ๋ฉ๋๋ค. VM์ Wasm ์ฝ๋์ ๊ธฐ๋ณธ ํ๋์จ์ด ์ฌ์ด์ ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํ์ฌ ๋ฐํ์์ด ๋ชจ๋์ ์คํ์ ์ ์ดํ๊ณ ๋ชจ๋ํฐ๋งํ ์ ์๋๋ก ํฉ๋๋ค. VM์ ๋ฉ๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ, ์ ์ด ํ๋ฆ ์ ํ, ์์คํ ํธ์ถ ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ์ํํฉ๋๋ค. Wasm VM์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ธ๋ผ์ฐ์ (์: Chrome, Firefox, Safari): ๋ธ๋ผ์ฐ์ ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ณด์ ์ปจํ ์คํธ ๋ด์์ Wasm ๋ชจ๋์ ์คํํ๋ ๋ด์ฅ Wasm VM์ด ์์ต๋๋ค.
- ๋ ๋ฆฝํ ๋ฐํ์ (์: Wasmer, Wasmtime): ๋ ๋ฆฝํ ๋ฐํ์์ ๋ธ๋ผ์ฐ์ ์ธ๋ถ์์ Wasm ๋ชจ๋์ ์คํํ๊ธฐ ์ํ ๋ช ๋ น์ค ์ธํฐํ์ด์ค์ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
2. ๋ฉ๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ
๋ฉ๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ๋ ๊ฐ Wasm ๋ชจ๋์ ์์ฒด ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ๊ณตํจ์ผ๋ก์จ ๋ฌ์ฑ๋ฉ๋๋ค. ์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ชจ๋์ด ์ฝ๊ณ ์ธ ์ ์๋ ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ๋๋ค. ๋ชจ๋์ ์์ฒด ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์ธ๋ถ์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ฐํ์์ ์ด์ ์ฒด์ ์์ ์ ๊ณตํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ์ด ๊ฒฉ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ฃผ์ ๊ณต๊ฐ ๊ฒฉ๋ฆฌ: ๊ฐ Wasm ๋ชจ๋์๋ ๊ณ ์ ํ ์ฃผ์ ๊ณต๊ฐ์ด ํ ๋น๋์ด ๋ค๋ฅธ ๋ชจ๋์ด๋ ํธ์คํธ ์์คํ ์ ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ํ๋๊ทธ: ๋ฐํ์์ ์ ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ค๋ฅธ ์์ญ์ ๋ํ ์ ๊ทผ์ ์ ์ดํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ํ๋๊ทธ๋ฅผ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํน์ ์์ญ์ ์ฝ๊ธฐ ์ ์ฉ ๋๋ ์คํ ์ ์ฉ์ผ๋ก ํ์๋ ์ ์์ต๋๋ค.
์์: ๋ ๊ฐ์ Wasm ๋ชจ๋, ๋ชจ๋ A์ ๋ชจ๋ B๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ๋ชจ๋ A์ ์ ํ ๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ์ 0x1000์ ์์นํ๊ณ , ๋ชจ๋ B์ ์ ํ ๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ์ 0x2000์ ์์นํ ์ ์์ต๋๋ค. ๋ง์ฝ ๋ชจ๋ A๊ฐ ์ฃผ์ 0x2000์ ์ฐ๋ ค๊ณ ์๋ํ๋ฉด ๋ฐํ์์ ์ด ์๋ฐ์ ๊ฐ์งํ๊ณ ์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค.
3. ์ ์ด ํ๋ฆ ๋ฌด๊ฒฐ์ฑ(CFI)
์ ์ด ํ๋ฆ ๋ฌด๊ฒฐ์ฑ(CFI)์ ํ๋ก๊ทธ๋จ์ ์คํ์ด ์๋๋ ์ ์ด ํ๋ฆ์ ๋ฐ๋ฅด๋๋ก ๋ณด์ฅํ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ๋๋ค. CFI๋ ๊ณต๊ฒฉ์๊ฐ ์ ์ด ํ๋ฆ์ ํ์ทจํ์ฌ ์์์ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. WebAssembly ๋ฐํ์์ ์ผ๋ฐ์ ์ผ๋ก ํจ์ ํธ์ถ๊ณผ ์ ํ์ ์ ํจ์ฑ์ ๊ฒ์ฆํ์ฌ CFI๋ฅผ ๊ตฌํํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํจ์ ์๋ช ๊ฒ์ฌ: ๋ฐํ์์ ํธ์ถ๋๋ ํจ์๊ฐ ์ฌ๋ฐ๋ฅธ ์๋ช (์ฆ, ์ฌ๋ฐ๋ฅธ ์์ ์ ํ์ ์ธ์ ๋ฐ ๋ฐํ ๊ฐ)์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
- ๊ฐ์ ํธ์ถ ๊ฒ์ฆ: ๊ฐ์ ํธ์ถ(ํจ์ ํฌ์ธํฐ๋ฅผ ํตํ ํธ์ถ)์ ๊ฒฝ์ฐ, ๋ฐํ์์ ๋์ ํจ์๊ฐ ํด๋น ํธ์ถ์ ์ ํจํ ๋์์ธ์ง ํ์ธํฉ๋๋ค. ์ด๋ ๊ณต๊ฒฉ์๊ฐ ์ ์์ ์ธ ํจ์ ํฌ์ธํฐ๋ฅผ ์ฃผ์ ํ์ฌ ์ ์ด ํ๋ฆ์ ํ์ทจํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ํธ์ถ ์คํ ๊ด๋ฆฌ: ๋ฐํ์์ ํธ์ถ ์คํ์ ๊ด๋ฆฌํ์ฌ ์คํ ์ค๋ฒํ๋ก ๋ฐ ๊ธฐํ ์คํ ๊ธฐ๋ฐ ๊ณต๊ฒฉ์ ๋ฐฉ์งํฉ๋๋ค.
4. ์์คํ ํธ์ถ ๊ฐ๋ก์ฑ๊ธฐ
WebAssembly ๋ชจ๋์ ์ด์ ์ฒด์ ์ ์ง์ ์์คํ ํธ์ถ์ ํ ์ ์์ต๋๋ค. ๋์ , ๋ฐํ์์์ ์ ๊ณตํ๋ ์ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค. ์ด ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ฐํ์์ ์์คํ ๋ฆฌ์์ค์ ๋ํ ์ ๊ทผ์ ์ค์ฌํ๊ณ ๋ณด์ ์ ์ฑ ์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก WebAssembly ์์คํ ์ธํฐํ์ด์ค(WASI)๋ฅผ ํตํด ๊ตฌํ๋ฉ๋๋ค.
WebAssembly ์์คํ ์ธํฐํ์ด์ค(WASI)
WASI๋ WebAssembly๋ฅผ ์ํ ๋ชจ๋ํ ์์คํ ์ธํฐํ์ด์ค์ ๋๋ค. Wasm ๋ชจ๋์ด ์ด์ ์ฒด์ ์ ์ํธ ์์ฉํ๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. WASI๋ Wasm ๋ชจ๋์ด ํ์ผ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ, ๋คํธ์ํฌ ์ ๊ทผ, ์ฝ์ ์ํธ ์์ฉ๊ณผ ๊ฐ์ ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์์คํ ํธ์ถ ์งํฉ์ ์ ์ํฉ๋๋ค. WASI๋ Wasm ๋ชจ๋์ด ์์คํ ๋ฆฌ์์ค์ ์์ ํ๊ณ ์ด์์ฑ ์๊ฒ ์ ๊ทผํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. WASI์ ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ญ๋ ๊ธฐ๋ฐ ๋ณด์: WASI๋ ์ญ๋ ๊ธฐ๋ฐ ๋ณด์์ ์ฌ์ฉํ๋ฉฐ, ์ด๋ Wasm ๋ชจ๋์ด ๋ช ์์ ์ผ๋ก ๋ถ์ฌ๋ ๋ฆฌ์์ค์๋ง ์ ๊ทผํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ชจ๋์ ํน์ ํ์ผ์ ์ฝ์ ์ ์๋ ์ญ๋์ ๋ถ์ฌ๋ฐ์์ง๋ง ์ธ ์๋ ์์ ์ ์์ต๋๋ค.
- ๋ชจ๋ํ ์ค๊ณ: WASI๋ ๋ชจ๋์์ผ๋ก ์ค๊ณ๋์ด ์๋ก์ด ์์คํ ํธ์ถ๊ณผ ๊ธฐ๋ฅ์ผ๋ก ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด WASI๋ ๋ค์ํ ํ๊ฒฝ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ตฌ์ ์ ์ํ ์ ์์ต๋๋ค.
- ์ด์์ฑ: WASI๋ ๋ค๋ฅธ ์ด์ ์ฒด์ ์ ์ํคํ ์ฒ์์ ์ด์ ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ WASI๋ฅผ ์ฌ์ฉํ๋ Wasm ๋ชจ๋์ด ๋ค๋ฅธ ํ๋ซํผ์์ ์ผ๊ด๋๊ฒ ๋์ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์์: Wasm ๋ชจ๋์ `wasi_fd_read` ์์คํ ํธ์ถ์ ์ฌ์ฉํ์ฌ ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. ๋ชจ๋์ด ํ์ผ์ ์ฝ๋๋ก ํ์ฉํ๊ธฐ ์ ์ ๋ฐํ์์ ๋ชจ๋์ด ํด๋น ํ์ผ์ ์ ๊ทผํ๋ ๋ฐ ํ์ํ ์ญ๋์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ๋ชจ๋์ด ์ญ๋์ ๊ฐ์ง๊ณ ์์ง ์์ผ๋ฉด ๋ฐํ์์ ์์ฒญ์ ๊ฑฐ๋ถํฉ๋๋ค.
5. JIT(Just-In-Time) ์ปดํ์ผ ๋ณด์
๋ง์ WebAssembly ๋ฐํ์์ JIT(Just-In-Time) ์ปดํ์ผ์ ์ฌ์ฉํ์ฌ Wasm ๋ฐ์ดํธ์ฝ๋๋ฅผ ๋ค์ดํฐ๋ธ ๊ธฐ๊ณ ์ฝ๋๋ก ๋ณํํฉ๋๋ค. JIT ์ปดํ์ผ์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ง๋ง ์ ์ฌ์ ์ธ ๋ณด์ ์ํ๋ ๋ดํฌํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์ํ์ ์ํํ๊ธฐ ์ํด JIT ์ปดํ์ผ๋ฌ๋ ์ฌ๋ฌ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค:
- ์ฝ๋ ์์ฑ ๋ณด์: JIT ์ปดํ์ผ๋ฌ๋ ์์ ํ๊ณ ์ทจ์ฝ์ ์ ์ ๋ฐํ์ง ์๋ ๊ธฐ๊ณ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ฒํผ ์ค๋ฒํ๋ก, ์ ์ ์ค๋ฒํ๋ก ๋ฐ ๊ธฐํ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ๋ฅผ ํผํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ: JIT ์ปดํ์ผ๋ฌ๋ ์์ฑ๋ ๊ธฐ๊ณ ์ฝ๋๊ฐ ์ ์์ ์ธ ์ฝ๋์ ์ํด ์์ ๋์ง ์๋๋ก ๋ณดํธํด์ผ ํฉ๋๋ค. ์ด๋ ์ด์ ์ฒด์ ์์ ์ ๊ณตํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๋ฉ์ปค๋์ฆ(์: ์์ฑ๋ ์ฝ๋๋ฅผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ํ์)์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
- JIT ์ปดํ์ผ๋ฌ ์๋๋ฐ์ฑ: JIT ์ปดํ์ผ๋ฌ ์์ฒด๋ ๊ณต๊ฒฉ์์ ์ํด ์ ์ฉ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋๋ฐ์ค ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค. ์ด๋ JIT ์ปดํ์ผ๋ฌ๋ฅผ ๋ณ๋์ ํ๋ก์ธ์ค์์ ์คํํ๊ฑฐ๋ ์์ ํ ์ฝ๋ฉ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
WebAssembly ์๋๋ฐ์ฑ์ ์ค์ ์ฌ๋ก
๋ค์์ WebAssembly ์๋๋ฐ์ฑ์ด ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ํ ๋ช ๊ฐ์ง ์ค์ ์ฌ๋ก์ ๋๋ค:
- ์น ๋ธ๋ผ์ฐ์ : ์น ๋ธ๋ผ์ฐ์ ๋ ์น์ฌ์ดํธ์์ ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์์ ํ๊ฒ ์คํํ๊ธฐ ์ํด WebAssembly ์๋๋ฐ์ฑ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ์น์ฌ์ดํธ๋ ์ฌ์ฉ์์ ์ปดํจํฐ ๋ณด์์ ์์์ํค์ง ์์ผ๋ฉด์ ํ๋ถํ๊ณ ์ํธ ์์ฉ์ ์ธ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์จ๋ผ์ธ ๊ฒ์, ํ์ ๋ฌธ์ ํธ์ง๊ธฐ, ๊ณ ๊ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ์ข ์์ ํ ํ๊ฒฝ์์ ๊ณ์ฐ ์ง์ฝ์ ์ธ ์์ ์ ์ํํ๊ธฐ ์ํด Wasm์ ์ฌ์ฉํฉ๋๋ค.
- ์๋ฒ๋ฆฌ์ค ์ปดํจํ : ์๋ฒ๋ฆฌ์ค ์ปดํจํ ํ๋ซํผ์ ์๋ฒ๋ฆฌ์ค ํจ์๋ฅผ ์๋ก ๋ฐ ๊ธฐ๋ณธ ์ธํ๋ผ๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ๊ธฐ ์ํด WebAssembly ์๋๋ฐ์ฑ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์๋ฒ๋ฆฌ์ค ํจ์๊ฐ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. Fastly ๋ฐ Cloudflare์ ๊ฐ์ ํ์ฌ๋ ๋คํธ์ํฌ ์ฃ์ง์์ ์ฌ์ฉ์ ์ ์ ๋ก์ง์ ์คํํ๊ธฐ ์ํด Wasm์ ์ฌ์ฉํ์ฌ ๋ฎ์ ์ง์ฐ ์๊ฐ๊ณผ ์์ ํ ์คํ์ ์ ๊ณตํฉ๋๋ค.
- ์๋ฒ ๋๋ ์์คํ : WebAssembly ์๋๋ฐ์ฑ์ ์๋ฒ ๋๋ ์์คํ ์ ๋ค๋ฅธ ๊ตฌ์ฑ ์์๋ฅผ ์๋ก ๊ฒฉ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ด๋ ์์คํ ์ ์ ๋ขฐ์ฑ๊ณผ ๋ณด์์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋์ฐจ ์์คํ ์์ Wasm์ ์ธํฌํ ์ธ๋จผํธ ์์คํ ์ ์ค์ํ ์ ์ด ์์คํ ์ผ๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ์ฌ ์์๋ ์ธํฌํ ์ธ๋จผํธ ์์คํ ์ด ์ฐจ๋์ ์์ ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ๋ธ๋ก์ฒด์ธ: ์ผ๋ถ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ์ ์ค๋งํธ ๊ณ์ฝ์ ํฅ์๋ ๋ณด์๊ณผ ๊ฒฐ์ ์ฑ์ ์ํด WebAssembly ์๋๋ฐ์ค์์ ์คํ๋ฉ๋๋ค. ์ด๋ ์ค๋งํธ ๊ณ์ฝ์ด ์์ธก ๊ฐ๋ฅํ๊ณ ์ทจ์ฝ์ ์์ด ์คํ๋์ด ๋ธ๋ก์ฒด์ธ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
WebAssembly ์๋๋ฐ์ฑ์ ์ด์
WebAssembly ์๋๋ฐ์ฑ์ ์ด์ ์ ์๋ง๊ณ ๊ด๋ฒ์ํฉ๋๋ค:
- ํฅ์๋ ๋ณด์: ์๋๋ฐ์ฑ์ ์ ์์ ์ด๊ฑฐ๋ ๋ฒ๊ทธ๊ฐ ์๋ ์ฝ๋๋ก๋ถํฐ ๋ณดํธํ์ฌ ์์คํ ์ ๋ฌด๊ฒฐ์ฑ์ ์์์ํค๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ๊ฐ์ ๋ ์ด์์ฑ: ์๋๋ฐ์ฑ์ Wasm ๋ชจ๋์ด ๋ค๋ฅธ ํ๋ซํผ์์ ์ผ๊ด๋๊ฒ ๋์ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
- ์ฆ๊ฐ๋ ์ ๋ขฐ์ฑ: ์๋๋ฐ์ฑ์ Wasm ๋ชจ๋์ ๊ฒฉ๋ฆฌํ์ฌ ์ถฉ๋ ๋ฐ ์ค๋ฅ์ ์ํ์ ์ค์ ๋๋ค.
- ๋ค์ดํฐ๋ธ์ ๊ฐ๊น์ด ์ฑ๋ฅ: WebAssembly์ ์ค๊ณ๋ ์๋๋ฐ์ค ๋ด์์ ํจ์จ์ ์ธ ์คํ์ ๊ฐ๋ฅํ๊ฒ ํ์ฌ ๋ค์ดํฐ๋ธ์ ๊ฐ๊น์ด ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค.
- ๋จ์ํ๋ ๊ฐ๋ฐ: ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ๋ณด์ ๋ฌธ์ ์ ๋ํด ๊ฑฑ์ ํ์ง ์๊ณ ์ฝ๋ ์์ฑ์ ์ง์คํ ์ ์์ต๋๋ค. ์๋๋ฐ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ ํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- ์๋ก์ด ์ฌ์ฉ ์ฌ๋ก ๊ฐ๋ฅ: ์๋๋ฐ์ฑ์ ๋ค์ํ ํ๊ฒฝ์์ ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์์ ํ๊ฒ ์คํํ ์ ์๊ฒ ํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ , ์๋ฒ๋ฆฌ์ค ์ปดํจํ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์ ๋ํ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค.
๊ณผ์ ๋ฐ ๊ณ ๋ ค์ฌํญ
WebAssembly ์๋๋ฐ์ฑ์ด ๊ฐ๋ ฅํ ๋ณด์ ๋ชจ๋ธ์ ์ ๊ณตํ์ง๋ง, ์ฌ์ ํ ์ผ๋์ ๋์ด์ผ ํ ๊ณผ์ ์ ๊ณ ๋ ค์ฌํญ์ด ์์ต๋๋ค:
- ์ฌ์ด๋ ์ฑ๋ ๊ณต๊ฒฉ: ์ฌ์ด๋ ์ฑ๋ ๊ณต๊ฒฉ์ ์๋๋ฐ์ค์ ํ๋์จ์ด ๋๋ ์ํํธ์จ์ด ๊ตฌํ์ ์ทจ์ฝ์ ์ ์ ์ฉํ์ฌ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์ถ์ถํฉ๋๋ค. ์ด๋ฌํ ๊ณต๊ฒฉ์ ํ์งํ๊ณ ๋ฐฉ์งํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์๋ก๋ ํ์ด๋ฐ ๊ณต๊ฒฉ, ์ ๋ ฅ ๋ถ์ ๊ณต๊ฒฉ, ์บ์ ๊ณต๊ฒฉ์ด ์์ต๋๋ค. ์ํ ์ ๋ต์๋ ์์ ์๊ฐ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ, ์คํ์ ๋ ธ์ด์ฆ ์ถ๊ฐ, JIT ์ปดํ์ผ๋ฌ์ ๋ณด์ ์ํฅ์ ์ ์คํ๊ฒ ๋ถ์ํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
- API ๋ณด์: ๋ฐํ์์์ ์ ๊ณตํ๋ API์ ๋ณด์์ ์๋๋ฐ์ค์ ์ ๋ฐ์ ์ธ ๋ณด์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ฌํ API์ ์ทจ์ฝ์ ์ ๊ณต๊ฒฉ์๊ฐ ์๋๋ฐ์ค๋ฅผ ์ฐํํ๊ณ ์์คํ ์ ์์์ํค๋ ๊ฒ์ ํ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ API๋ฅผ ์ ์คํ๊ฒ ์ค๊ณํ๊ณ ๊ตฌํํ๋ฉฐ, ์ ๊ธฐ์ ์ผ๋ก ๋ณด์ ์ทจ์ฝ์ ์ ๊ฐ์ฌํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
- ๋ฆฌ์์ค ์ ํ: Wasm ๋ชจ๋์ด ๊ณผ๋ํ ๋ฆฌ์์ค๋ฅผ ์๋นํ๊ณ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ์ ์ ๋ฐํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ์ ํ ๋ฆฌ์์ค ์ ํ์ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ฆฌ์์ค ์ ํ์๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ, CPU ์๊ฐ ์ ํ, I/O ์ ํ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๋ฐํ์์ ์ด๋ฌํ ์ ํ์ ์ํํ๊ณ ์ด๋ฅผ ์ด๊ณผํ๋ ๋ชจ๋์ ์ข ๋ฃํด์ผ ํฉ๋๋ค.
- ํธํ์ฑ: WebAssembly ์ํ๊ณ๋ ์ง์์ ์ผ๋ก ์งํํ๊ณ ์์ผ๋ฉฐ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ํ์ฅ์ด ์ถ๊ฐ๋๊ณ ์์ต๋๋ค. ๋ค๋ฅธ WebAssembly ๋ฐํ์์ด ์๋ก ํธํ๋๊ณ ์ต์ ๊ธฐ๋ฅ์ ์ง์ํ๋์ง ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ํ์ ๊ฒ์ฆ: ํ์ ๊ฒ์ฆ ๊ธฐ์ ์ WebAssembly ๋ฐํ์ ๋ฐ ๋ชจ๋์ ์ ํ์ฑ๊ณผ ๋ณด์์ ๊ณต์์ ์ผ๋ก ์ฆ๋ช ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ด๋ ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฐ๊ณผ๋ ์ ์๋ ์ทจ์ฝ์ ์ ์๋ณํ๊ณ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ ๊ฒ์ฆ์ ๋ณต์กํ๊ณ ์๊ฐ์ด ๋ง์ด ์์๋๋ ํ๋ก์ธ์ค์ผ ์ ์์ต๋๋ค.
WebAssembly ์๋๋ฐ์ฑ์ ๋ฏธ๋
WebAssembly ์๋๋ฐ์ฑ์ ๋ฏธ๋๋ ์ ๋งํด ๋ณด์ ๋๋ค. ์งํ ์ค์ธ ์ฐ๊ตฌ ๋ฐ ๊ฐ๋ฐ ๋ ธ๋ ฅ์ WebAssembly ๋ฐํ์์ ๋ณด์, ์ฑ๋ฅ ๋ฐ ๊ธฐ๋ฅ์ ํฅ์์ํค๋ ๋ฐ ์ด์ ์ ๋ง์ถ๊ณ ์์ต๋๋ค. ๊ฐ๋ฐ์ ๋ช ๊ฐ์ง ์ฃผ์ ์์ญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํฅ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ: Wasm ๋ชจ๋์ ๋์ฑ ๊ฒฉ๋ฆฌํ๊ณ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๋ฉ์ปค๋์ฆ์ด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค.
- ๊ฐ์ ๋ ์ ์ด ํ๋ฆ ๋ฌด๊ฒฐ์ฑ: ์ ์ด ํ๋ฆ ํ์ทจ์ ๋ํ ๋ ๊ฐ๋ ฅํ ๋ณดํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ ์ ๊ตํ CFI ๊ธฐ์ ์ด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค.
- ์ธ๋ถํ๋ ์ญ๋: Wasm ๋ชจ๋์ด ์ ๊ทผํ ์ ์๋ ๋ฆฌ์์ค์ ๋ํ ๋ ์ ๋ฐํ ์ ์ด๋ฅผ ํ์ฉํ๊ธฐ ์ํด ๋ ์ธ๋ถํ๋ ์ญ๋์ด ๋์ ๋๊ณ ์์ต๋๋ค.
- ํ์ ๊ฒ์ฆ: WebAssembly ๋ฐํ์ ๋ฐ ๋ชจ๋์ ์ ํ์ฑ๊ณผ ๋ณด์์ ๊ฒ์ฆํ๊ธฐ ์ํด ํ์ ๊ฒ์ฆ ๊ธฐ์ ์ด ์ ์ ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
- WASI์ ์งํ: WASI ํ์ค์ ๊ณ์ํด์ ์งํํ๋ฉฐ ๋ ๋์ ๋ฒ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ๊ธฐ ์ํด ์๋ก์ด ์์คํ ํธ์ถ๊ณผ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. ์ญ๋ ๊ธฐ๋ฐ ๋ณด์ ๋ชจ๋ธ์ ๋์ฑ ๊ฐ์ ํ๊ณ WASI ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ฑ์ ํฅ์์ํค๊ธฐ ์ํ ๋ ธ๋ ฅ์ด ์งํ ์ค์ ๋๋ค.
- ํ๋์จ์ด ๊ธฐ๋ฐ ๋ณด์: Intel SGX ๋ฐ AMD SEV์ ๊ฐ์ ํ๋์จ์ด ๋ณด์ ๊ธฐ๋ฅ๊ณผ์ ํตํฉ์ด WebAssembly ๋ชจ๋์ ๋ํ ํจ์ฌ ๊ฐ๋ ฅํ ๊ฒฉ๋ฆฌ ๋ฐ ๋ณดํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ํ์๋๊ณ ์์ต๋๋ค.
๊ฒฐ๋ก
WebAssembly ์๋๋ฐ์ฑ์ ์์ ํ๊ณ ์ด์ ๊ฐ๋ฅํ๋ฉฐ ์ ๋ขฐํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ํต์ฌ ๊ธฐ์ ์ ๋๋ค. Wasm ๋ชจ๋์ ํธ์คํธ ํ๊ฒฝ ๋ฐ ๋ค๋ฅธ ๋ชจ๋๋ก๋ถํฐ ๊ฒฉ๋ฆฌํจ์ผ๋ก์จ ์๋๋ฐ์ฑ์ ์ ์์ ์ด๊ฑฐ๋ ๋ฒ๊ทธ๊ฐ ์๋ ์ฝ๋๊ฐ ์์คํ ์ ๋ฌด๊ฒฐ์ฑ์ ์์์ํค๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. WebAssembly๊ฐ ๊ณ์ํด์ ์ธ๊ธฐ๋ฅผ ์ป์ผ๋ฉด์ ์๋๋ฐ์ฑ์ ์ค์์ฑ์ ๋์ฑ ์ปค์ง ๊ฒ์ ๋๋ค. WebAssembly ์๋๋ฐ์ฑ์ ์๋ฆฌ์ ๊ตฌํ ๊ธฐ์ ์ ์ดํดํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์์ ํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ํ๊ณ๊ฐ ์ฑ์ํจ์ ๋ฐ๋ผ ๋ณด์ ์กฐ์น์ ์ถ๊ฐ์ ์ธ ๋ฐ์ ์ ๊ธฐ๋ํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ ์ธ๊ณ์ ์ผ๋ก ๋ ๋์ ๋ฒ์์ ํ๋ซํผ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์์ Wasm์ ์ฑํ์ ์ด์งํ ๊ฒ์ ๋๋ค.