WebAssembly์ ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ ๋ํ ์ฌ์ธต ๋ถ์์ผ๋ก, ์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์์ ์ด์ ์ ๋ง์ถฐ ์ค๋ฅ ์ปจํ ์คํธ๋ฅผ ์ ์ญ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ, ์ค์ฉ์ ์ธ ์์ ๋ฐ ๊ฐ๋ฐ์๋ฅผ ์ํ ์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ์ ํฌํจํฉ๋๋ค.
WebAssembly ์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์: ์ค๋ฅ ์ปจํ ์คํธ ๊ด๋ฆฌ
WebAssembly(Wasm)๋ ํ๋ ์น ๊ฐ๋ฐ์ ์ด์์ด ๋์์ผ๋ฉฐ ๋ธ๋ผ์ฐ์ ์ธ๋ถ์์๋ ์ ์ ๋ ๋ง์ ์์ฉ ๋ถ์ผ๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค. ๋ค์ํ ํ๋ซํผ์์์ ์ฑ๋ฅ ํน์ฑ, ๋ณด์ ๋ชจ๋ธ ๋ฐ ์ด์์ฑ์ผ๋ก ์ธํด ๋ค์ํ ์ํํธ์จ์ด ํ๋ก์ ํธ์์ ๋งค๋ ฅ์ ์ธ ๋์์ด ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ํจ๊ณผ์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ๋ ๋ชจ๋ ์ํํธ์จ์ด์ ๊ฒฌ๊ณ ์ฑ๊ณผ ์์ ์ฑ์ ๋งค์ฐ ์ค์ํ๋ฉฐ WebAssembly๋ ์์ธ๋ ์๋๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ WebAssembly์ ์์ธ ์ฒ๋ฆฌ์ ์ค์ํ ์ธก๋ฉด, ํนํ ์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์์ ์ค๋ฅ ์ปจํ ์คํธ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์์๋ด ๋๋ค.
WebAssembly ๋ฐ ์์ธ ์ฒ๋ฆฌ ์๊ฐ
WebAssembly๋ ์คํ ๊ธฐ๋ฐ ๊ฐ์ ๋จธ์ ์ ์ํ ์ด์ง ๋ช ๋ น์ด ํ์์ ๋๋ค. ์ด์ ๊ฐ๋ฅํ ์ปดํ์ผ ๋์์ผ๋ก ์ค๊ณ๋์ด C, C ++ ๋ฐ Rust์ ๊ฐ์ ์ธ์ด๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ฑฐ์ ๋ค์ดํฐ๋ธ ์๋๋ก ์คํํ ์ ์์ต๋๋ค. Wasm ์ฌ์์ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ, ๋ชจ๋ ๊ตฌ์กฐ ๋ฐ ๋ช ๋ น์ด ์ธํธ๋ฅผ ์ ๊ณตํ์ง๋ง ์ฒ์์๋ ๊ฐ๋ ฅํ ๊ธฐ๋ณธ ์ ๊ณต ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ด ๋ถ์กฑํ์ต๋๋ค. ๋์ ์ค๋ฅ ๊ด๋ฆฌ์ ๋ํ ์ด๊ธฐ ์ ๊ทผ ๋ฐฉ์์ ์ข ์ข ์ธ์ด๋ณ์ด๊ฑฐ๋ ๋ฐํ์ ๊ฒ์ฌ ๋ฐ ์ค๋ฅ ์ฝ๋์ ์์กดํ์ต๋๋ค. ์ด๋ก ์ธํด ํนํ Wasm ๋ชจ๋์ JavaScript ๋๋ ๊ธฐํ ํธ์คํธ ํ๊ฒฝ๊ณผ ํตํฉํ ๋ ์ค๋ฅ ์ ํ ๋ฐ ๋๋ฒ๊น ์ด ๋ณต์กํด์ก์ต๋๋ค.
WebAssembly์ ๋ณด๋ค ์ ๊ตํ ์์ธ ์ฒ๋ฆฌ์ ์ถํ, ํนํ ์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์๋ฅผ ํตํด ์ด๋ฌํ ๋จ์ ์ด ํด๊ฒฐ๋์์ต๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ ์ค๋ฅ ๊ด๋ฆฌ์ ๋ํ ๊ตฌ์กฐํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ Wasm ์ฝ๋ ๋ด์์ ์์ธ๋ฅผ ์ ์ํ๊ณ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ๊ณผ ์ ์ง ๊ด๋ฆฌ์ฑ์ ํฌ๊ฒ ํฅ์์ํต๋๋ค.
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์์ ์ญํ
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์(EHSM)๋ WebAssembly์ ์์ธ ์ฒ๋ฆฌ ์์คํ ์ ์ค์ํ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ฃผ์ ์ญํ ์ ์ค๋ฅ ์กฐ๊ฑด ์ค ์คํ ์ปจํ ์คํธ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ์คํ ๋๊ฐ๊ธฐ: ์์ธ๊ฐ ๋ฐ์ํ๋ฉด EHSM์ ํธ์ถ ์คํ์ ๋๊ฐ๋ ์ญํ ์ ํฉ๋๋ค. ์ฆ, ์ ์ ํ ์์ธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฐพ์ ๋๊น์ง ์คํ ํ๋ ์(ํจ์ ํธ์ถ์ ๋ํ๋)์ ์ฒด๊ณ์ ์ผ๋ก ์ ๊ฑฐํฉ๋๋ค.
- ์ค๋ฅ ์ปจํ ์คํธ ๊ด๋ฆฌ: EHSM์ ์์ธ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ๋ก์ปฌ ๋ณ์, ๋ ์ง์คํฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ํ๋ฅผ ํฌํจํ์ฌ ํ์ฌ ์คํ ์ปจํ ์คํธ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค. ์ด ์ค๋ฅ ์ปจํ ์คํธ๋ ๋๋ฒ๊น ๋ฐ ๋ณต๊ตฌ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์์ธ ์ ํ: EHSM์ Wasm ๋ชจ๋ ๋ด์์ ํธ์คํธ ํ๊ฒฝ(์: JavaScript)์ผ๋ก ์์ธ๋ฅผ ์ ํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ ์ํํ๊ฒ ํตํฉํ ์ ์์ต๋๋ค.
- ๋ฆฌ์์ค ์ ๋ฆฌ: ์คํ ๋๊ฐ๊ธฐ ๋์ EHSM์ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐ ๋ฆฌ์์ค ๊ณ ๊ฐ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ฆฌ์์ค(์: ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ, ์ด๋ฆฐ ํ์ผ)๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ ๋๋๋ก ํฉ๋๋ค.
๋ณธ์ง์ ์ผ๋ก EHSM์ ์์ ๋ง ์ญํ ์ ํ์ฌ ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์์ ์ผ๋ก ์๋ํ๋๋ก ํฉ๋๋ค. ์ด๋ ์์ ์ ์ด๊ณ ๋ณต์๋ ฅ ์๋ Wasm ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์์ ์๋ ๋ฐฉ์
EHSM์ ์ ํํ ๊ตฌํ์ ์ข ์ข WebAssembly ๋ฐํ์ ํ๊ฒฝ(์: ์น ๋ธ๋ผ์ฐ์ , ๋ ๋ฆฝ ์คํํ Wasm ์ธํฐํ๋ฆฌํฐ)์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ๋ณธ ์์น์ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค.
1. ์์ธ ๋ฑ๋ก: Wasm ๋ชจ๋์ด ์ปดํ์ผ๋๋ฉด ์์ธ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๋ฑ๋ก๋ฉ๋๋ค. ์ด๋ฌํ ์ฒ๋ฆฌ๊ธฐ๋ ๋ด๋นํ๋ ์ฝ๋ ๋ธ๋ก๊ณผ ์ฒ๋ฆฌํ ์ ์๋ ์์ธ ์ ํ์ ์ง์ ํฉ๋๋ค.
2. ์์ธ ๋ฐ์: Wasm ๋ชจ๋ ๋ด์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์์ธ ๊ฐ์ฒด(์ค๋ฅ ์ฝ๋, ๋ฉ์์ง ๋๋ ๊ธฐํ ๊ด๋ จ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์)๋ฅผ ์์ฑํ๊ณ EHSM์ผ๋ก ์ ์ด๋ฅผ ์ ์กํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
3. ์คํ ๋๊ฐ๊ธฐ ๋ฐ ์ฒ๋ฆฌ๊ธฐ ๊ฒ์: EHSM์ ํธ์ถ ์คํ์ ํ๋ ์ ๋จ์๋ก ๋๊ฐ๊ธฐ ์์ํฉ๋๋ค. ๊ฐ ํ๋ ์์ ๋ํด ๋ฐ์ํ ์์ธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๋ฑ๋ก๋ ์์ธ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์๋์ง ํ์ธํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์์ธ ์ ํ ๋๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌ๊ธฐ์ ๊ธฐ๋ฅ๊ณผ ๋น๊ตํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
4. ์ฒ๋ฆฌ๊ธฐ ์คํ: ์ ํฉํ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด EHSM์ ํด๋น ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ผ๋ฐ์ ์ผ๋ก ์์ธ ๊ฐ์ฒด์์ ์ค๋ฅ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ณ ํ์ํ ์ ๋ฆฌ ์์ ์ ์ํํ๋ฉฐ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ ์ ์์ต๋๋ค. ์ฒ๋ฆฌ๊ธฐ๋ ์์ ์ฌ์๋ ๋๋ ๊ธฐ๋ณธ๊ฐ ์ ๊ณต๊ณผ ๊ฐ์ด ์ค๋ฅ๋ก๋ถํฐ ๋ณต๊ตฌ๋ฅผ ์๋ํ ์๋ ์์ต๋๋ค. EHSM์ ์ ์ฅ๋ ์ค๋ฅ ์ปจํ ์คํธ๋ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
5. ์์ธ ์ ํ(ํ์ํ ๊ฒฝ์ฐ): ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฐพ์ ์ ์๊ฑฐ๋ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์์ธ๋ฅผ ๋ค์ ๋ฐ์์ํค๊ธฐ๋ก ์ ํํ ๊ฒฝ์ฐ(์: ์ค๋ฅ๋ฅผ ์์ ํ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์) EHSM์ ์์ธ๋ฅผ ํธ์คํธ ํ๊ฒฝ์ผ๋ก ์ ํํฉ๋๋ค. ์ด๋ฅผ ํตํด ํธ์คํธ๋ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ฌ์ฉ์์๊ฒ ๋ณด๊ณ ํ ์ ์์ต๋๋ค.
6. ์ ๋ฆฌ ๋ฐ ๋ฆฌ์์ค ํด์ : ์คํ ๋๊ฐ๊ธฐ ๋์ EHSM์ ์์ธ ๋ฒ์ ๋ด์์ ํ ๋น๋ ๋ชจ๋ ๋ฆฌ์์ค๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ ๋๋๋ก ํฉ๋๋ค. ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐ ๊ธฐํ ๋ฆฌ์์ค ๊ด๋ จ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
EHSM์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ๋ค๋ฅผ ์ ์์ง๋ง ์ด๋ฌํ ๋จ๊ณ๋ WebAssembly์์ ๊ฐ๋ ฅํ ์์ธ ์ฒ๋ฆฌ์ ํ์ํ ํต์ฌ ๊ธฐ๋ฅ์ ๋ํ๋ ๋๋ค.
์ค๋ฅ ์ปจํ ์คํธ ๊ด๋ฆฌ: ์ฌ์ธต ๋ถ์
์ค๋ฅ ์ปจํ ์คํธ ๊ด๋ฆฌ๋ EHSM์ ์ค์ํ ์ธก๋ฉด์ผ๋ก, ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ๊ฐ๋ฐ์์๊ฒ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ค๋ฅ ๋ฐ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ดํดํ ์ ์์ผ๋ฏ๋ก ๋๋ฒ๊น ๋ฐ ๋ณต๊ตฌ๊ฐ ํจ์ฌ ์ฌ์์ง๋๋ค. ์ค๋ฅ ์ปจํ ์คํธ์ ์บก์ฒ๋ ์ ๋ณด์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ์คํ ํ๋ ์ ์ ๋ณด: EHSM์ ํจ์ ์ด๋ฆ, ์์ค ์ฝ๋ ์์น(์ค ๋ฒํธ, ํ์ผ ์ด๋ฆ) ๋ฐ ๊ฐ ํจ์์ ์ ๋ฌ๋ ์ธ์๋ฅผ ํฌํจํ์ฌ ํธ์ถ ์คํ์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ํํ ์์น๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๋ก์ปฌ ๋ณ์ ๊ฐ: EHSM์ ์ข ์ข ์ค๋ฅ ๋ฐ์ ์ ๋ก์ปฌ ๋ณ์ ๊ฐ์ ์ ์ฅํฉ๋๋ค. ์ด ์ ๋ณด๋ ํ๋ก๊ทธ๋จ์ ์ํ๋ฅผ ์ดํดํ๊ณ ์ค๋ฅ์ ๊ทผ๋ณธ ์์ธ์ ์๋ณํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ๋ ์ง์คํฐ ๊ฐ: CPU ๋ ์ง์คํฐ ๊ฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์บก์ฒ๋์ด ํ๋ก๊ทธ๋จ ์ํ์ ๋ํ ๋ ๋ฎ์ ์์ค์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ: ์ผ๋ถ ๊ตฌํ์์๋ EHSM์ด ์คํ ๋ฐ ํ๊ณผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ด์ฉ์ ๊ธฐ๋กํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ค๋ฅ ๋ฐ์ ์ ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฒ์ฌํ ์ ์์ต๋๋ค.
- ์์ธ ์ธ๋ถ ์ ๋ณด: EHSM์๋ `OutOfMemoryError`, `DivideByZeroError`์ ๊ฐ์ ์ ํ, ์ค๋ฅ ๋ฉ์์ง ๋ฐ ์ฌ์ฉ์ ์ ์ ์ค๋ฅ ๋ฐ์ดํฐ์ ๊ฐ์ ์์ธ ์์ฒด์ ๋ํ ์ ๋ณด๋ ํฌํจ๋ฉ๋๋ค.
์ด ํฌ๊ด์ ์ธ ์ค๋ฅ ์ปจํ ์คํธ๋ ๊ฐ๋ฐ์์๊ฒ ๊ฐ๋ ฅํ ๋๋ฒ๊น ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๊ธ์ต ๊ฑฐ๋ ์ฒ๋ฆฌ ์์คํ ์ ์ผ๋ถ์ธ Wasm ๋ชจ๋์ ์์ํด ๋ณด์ญ์์ค. ๊ฑฐ๋ ์ค์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์ค๋ฅ ์ปจํ ์คํธ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ํน์ ๊ฑฐ๋ ์ธ๋ถ ์ ๋ณด, ๊ณ์ ์์ก ๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฑฐ๋ ํ๋ก์ธ์ค์ ์ ํํ ๋จ๊ณ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฌธ์ ๋ฅผ ์ง๋จํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ํฌ๊ฒ ์ค์ด๋ญ๋๋ค.
Rust์ ์(wasm-bindgen ์ฌ์ฉ)
๋ค์์ `wasm-bindgen`์ ์ฌ์ฉํ์ฌ WebAssembly๋ก ์ปดํ์ผํ ๋ Rust์์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์ ๋๋ค.
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn divide(a: i32, b: i32) -> Result {
if b == 0 {
return Err(JsValue::from_str("Division by zero!"));
}
Ok(a / b)
}
์ด Rust ์์ ์์ `divide` ํจ์๋ ๋ถ๋ชจ๊ฐ 0์ธ์ง ํ์ธํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฌธ์์ด ์ค๋ฅ ๋ฉ์์ง์ ํจ๊ป `Result::Err`์ ๋ฐํํฉ๋๋ค. ์ด `Err`์ ๊ฒฝ๊ณ๋ฅผ ๋์ด JavaScript ์์ธ๋ก ๋ณํ๋๋ฉฐ ์ผ์ข ์ ์ค๋ฅ ์ฒ๋ฆฌ์ ๋๋ค. ์ค๋ฅ ๋ฉ์์ง ๋ฐ ๊ธฐํ ๋ฉํ๋ฐ์ดํฐ๋ ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ ํ๋ ์ ์์ต๋๋ค.
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์ ์ฌ์ฉ์ ์ด์
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์์ ์ฑํ์ ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- ํฅ์๋ ์ค๋ฅ ๊ฒฉ๋ฆฌ: Wasm ๋ชจ๋ ๋ด์์ ์ค๋ฅ๋ฅผ ๊ฒฉ๋ฆฌํ๋ฉด ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ถฉ๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ์ด๋ ๋ ์์ ์ ์ด๊ณ ๊ฐ๋ ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ด์ด์ง๋๋ค.
- ํฅ์๋ ๋๋ฒ๊น ๊ธฐ๋ฅ: EHSM์ ํ๋ถํ ์ค๋ฅ ์ปจํ ์คํธ ์ ๋ณด์ ๊ฒฐํฉ๋์ด Wasm ๋ชจ๋ ๋๋ฒ๊น ์ ํฌ๊ฒ ๋จ์ํํ์ฌ ์ค๋ฅ๋ฅผ ์๋ณํ๊ณ ์์ ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
- ๋จ์ํ๋ ํตํฉ: ํธ์คํธ ํ๊ฒฝ์ผ๋ก ์์ธ๋ฅผ ์ํํ๊ฒ ์ ํํ๋ ๊ธฐ๋ฅ์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ์ ํตํฉ์ด ๊ฐ์ํ๋ฉ๋๋ค.
- ์ฝ๋ ์ ์ง ๊ด๋ฆฌ์ฑ: ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ํ ๊ตฌ์กฐํ๋ ์ ๊ทผ ๋ฐฉ์์ Wasm ๋ชจ๋ ์ ์ฒด์์ ์ค๋ฅ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ผ๊ด๋ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ๊ณ ๊ฐ๋ฐ์๊ฐ ํน์ ์ค๋ฅ ์ฒ๋ฆฌ ๋ ผ๋ฆฌ๋ฅผ ํน์ ํจ์ ๋ด์ ์บก์ํํ ์ ์๋๋ก ํ์ฌ ์ฝ๋ ์ ์ง ๊ด๋ฆฌ์ฑ์ ํฅ์์ํต๋๋ค.
- ๋ณด์ ๊ฐํ: Wasm ๋ชจ๋ ๋ด์์ ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์ฒ๋ฆฌํจ์ผ๋ก์จ EHSM์ ์ ์ฑ ์ฝ๋๊ฐ ์ทจ์ฝ์ ์ ์ ์ฉํ๊ณ ํธ์คํธ ํ๊ฒฝ ๋ด์์ ์ค์ํ ์ ๋ณด์ ์ก์ธ์คํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
WebAssembly ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
WebAssembly์์ ํจ๊ณผ์ ์ธ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
- ๋ช ํํ ์ค๋ฅ ์ ํ ์ ์: ์์ธ๋ฅผ ๋ถ๋ฅํ๊ณ ๋ถ๋ฅํ๊ธฐ ์ํด ์ผ๊ด๋ ์ค๋ฅ ์ ํ ์ธํธ(์: ์ค๋ฅ ์ฝ๋ ๋๋ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ธฐ๋ฐ)๋ฅผ ์ค์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ค์ํ ์ค๋ฅ ์๋๋ฆฌ์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ค๋ช ์ ์ธ ์ค๋ฅ ๋ฉ์์ง ์ฌ์ฉ: ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์ง๋จํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ตํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ช ํํ๊ณ ๋ชจํธํ์ง ์๋๋ก ํฉ๋๋ค.
- ์ ์ ํ ๋ฆฌ์์ค ๊ด๋ฆฌ: ๋์๋ฅผ ๋ฐฉ์งํ๊ณ ๊ฑด์ ํ ์์คํ ์ ๋ณด์ฅํ๊ธฐ ์ํด ์์ธ ์ฒ๋ฆฌ ์ค์ ๋ฆฌ์์ค(๋ฉ๋ชจ๋ฆฌ, ํ์ผ, ์ฐ๊ฒฐ ๋ฑ)๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ฆฌ๋์๋์ง ํ์ธํฉ๋๋ค.
- ๋ก์ปฌ์์ ์์ธ ์ฒ๋ฆฌ: ๊ฐ๋ฅํ ํ Wasm ๋ชจ๋ ์์ฒด ๋ด์์ ์์ธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํธ์คํธ ํ๊ฒฝ์์ ์๊ธฐ์น ์์ ๋์์ ํผํ ์ ์์ผ๋ฉฐ Wasm ์ฝ๋๋ฅผ ๋ ์์ฒด์ ์ผ๋ก ํฌํจํ ์ ์์ต๋๋ค.
- ์ค๋ฅ ๊ธฐ๋ก: ์ค๋ฅ ์ ํ, ๋ฉ์์ง ๋ฐ ์ปจํ ์คํธ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ์์ธ ๋ฐ ์ค๋ฅ ์กฐ๊ฑด์ ๊ธฐ๋กํฉ๋๋ค. ๋ก๊น ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊น ํ๊ณ ๋ชจ๋ํฐ๋งํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์ฒ ์ ํ ํ ์คํธ: ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๊ณ Wasm ๋ชจ๋์ด ์์๋๋ก ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ํฌ๊ด์ ์ธ ํ ์คํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ ์ฉ ๋ฒ์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ๋ค์ํ ์์ธ ์๋๋ฆฌ์ค๋ฅผ ํ ์คํธํฉ๋๋ค.
- ํธ์คํธ ํ๊ฒฝ ํตํฉ ๊ณ ๋ ค: ํธ์คํธ ํ๊ฒฝ๊ณผ ํตํฉํ ๋ ์์ธ๊ฐ ์ ํ๋๊ณ ์ฒ๋ฆฌ๋๋ ๋ฐฉ์์ ์ ์คํ๊ฒ ์ค๊ณํฉ๋๋ค. ํธ์คํธ์ ์ค๋ฅ ์ฒ๋ฆฌ ์ ๋ต์ ์๋ฏธ๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
- ์ต์ ์ํ ์ ์ง: ์ต์ ๊ธฐ๋ฅ๊ณผ ์์ธ ์ฒ๋ฆฌ ๊ฐ์ ์ฌํญ์ ๋ฌผ๋ก ๋ณด์ ํจ์น์ ์ก์ธ์คํ ์ ์๋๋ก Wasm ๋๊ตฌ ์ฒด์ธ ๋ฐ ๋ฐํ์ ํ๊ฒฝ์ ์ต์ ์ํ๋ก ์ ์งํ์ญ์์ค.
์ค์ ์์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์๋ WebAssembly๋ฅผ ์ฌ์ฉํ๋ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค. ๋ช ๊ฐ์ง ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฌ๋ฌด ๋ชจ๋ธ๋ง: ๊ธ์ต ๋ถ๋ฌธ์์ ์ฌ์ฉ๋๋ ์ ํ๋ฆฌ์ผ์ด์ (์: ์ํ ๋ถ์ ๋ชจ๋ธ, ์๊ณ ๋ฆฌ์ฆ ๊ฑฐ๋ ํ๋ซํผ)์ ์์ธ ์ฒ๋ฆฌ์ ์์ ์ฑ์ผ๋ก๋ถํฐ ์ด์ ์ ์ป์ต๋๋ค. ๊ณ์ฐ์ด ์์์น ๋ชปํ ๊ฒฐ๊ณผ(์: 0์ผ๋ก ๋๋๊ธฐ, ๋ฐฐ์ด ์ก์ธ์ค ๋ฒ์ ์ด๊ณผ)๋ก ์ด์ด์ง๋ ๊ฒฝ์ฐ EHSM์ ํตํด ์ ์์ ์ธ ์ค๋ฅ ๋ณด๊ณ ๋ฐ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ๊ฒ์ ๊ฐ๋ฐ: C ++๋ก ์์ฑ๋์ด Wasm์ผ๋ก ์ปดํ์ผ๋ ๊ฒ์ ์์ง์ ์๋นํ ์ด์ ์ ์ป์ต๋๋ค. ๊ฒ์ ์์ง์ ๋ฌผ๋ฆฌ ๊ณ์ฐ, ๋ ๋๋ง ๋๋ AI ๋ฃจํด์ด ์์ธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๊ฒฝ์ฐ EHSM์ ๊ฒ์์ด ์ถฉ๋ํ์ง ์๋๋ก ๋ณด์ฅํ๊ณ ๊ฐ๋ฐ์๊ฐ ๋ฌธ์ ๋ฅผ ์ง๋จํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ ๋ณด ๋๋ ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์: ๋ฐ์ดํฐ ์กฐ์์ ์ํ Wasm ๊ธฐ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์: ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ, ๋ณํ)๋ ์๋ชป๋์๊ฑฐ๋ ์๊ธฐ์น ์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ์์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์ค๋ฅ ์ฒ๋ฆฌ์ ์์กดํฉ๋๋ค. ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์คํจํ๋ฉด EHSM์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ถฉ๋ํ์ง ์๋๋ก ๋ณด์ฅํ์ง๋ง ๋ฐ์ดํฐ ์ค๋ฅ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ๊ณ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ค๋์ค ๋ฐ ๋น๋์ค ์ฒ๋ฆฌ: ์ค๋์ค ๋๋ ๋น๋์ค ์ธ์ฝ๋ฉ, ๋์ฝ๋ฉ ๋ฐ ์กฐ์(์: ์ฝ๋ฑ, ์ค๋์ค ๋ฏน์)์ ์ํด ๊ตฌ์ถ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์๋๊ฑฐ๋ ์๋ชป๋ ํ์์ ๋ฏธ๋์ด ํ์ผ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ ์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ์ ์์กดํฉ๋๋ค. EHSM์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฏธ๋์ด ํ์ผ์ ๋ฐ์ดํฐ์ ๋ฌธ์ ๊ฐ ์๋๋ผ๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๊ณผํ ์ปดํจํ : WebAssembly๋ ์๋ฎฌ๋ ์ด์ ๋ฐ ๋ฐ์ดํฐ ๋ถ์๊ณผ ๊ฐ์ ํจ์จ์ ์ธ ๊ณผํ ๊ณ์ฐ์ ํ์ฉํฉ๋๋ค. ์์ธ ์ฒ๋ฆฌ๋ ๋ฏธ๋ถ ๋ฐฉ์ ์ ํ๊ธฐ์ ๊ฐ์ ๋ณต์กํ ์ํ ์ฐ์ฐ ์คํ ์ค ์ค๋ฅ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ์ด์ ์ฒด์ ์๋ฎฌ๋ ์ด์ : ๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ํ๋ก์ ํธ๋ ๋ณต์กํ๊ณ ์ค๋ฅ ์ฒ๋ฆฌ์ ์์กดํฉ๋๋ค. ์๋ฎฌ๋ ์ด์ ๋ ์ฝ๋๊ฐ ์์ธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๊ฒฝ์ฐ ์๋ฎฌ๋ ์ดํฐ์ EHSM์ ์คํ ํ๋ฆ์ ๊ด๋ฆฌํ์ฌ ํธ์คํธ ๋ธ๋ผ์ฐ์ ๊ฐ ์ถฉ๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ WebAssembly ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ์ง์ญํ ๋ฐ ๊ตญ์ ํ(I18n): WebAssembly ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ์ธ์ด ๋ฐ ๋ฌธํ์ ๊ท์น์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํฉ๋๋ค. ์ค๋ฅ ๋ฉ์์ง๋ ์ธ๊ณ ์ฌ๋ฌ ์ง์ญ์์ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํด ์ง์ญํํ ์ ์์ด์ผ ํฉ๋๋ค.
- ์๊ฐ๋ ๋ฐ ๋ ์ง/์๊ฐ ํ์ ์ง์ : ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ์ง์ญ์ ์ ํฉํ ์๊ฐ๋ ๋ฐ ๋ ์ง/์๊ฐ ํ์์ ์ ํํ๊ฒ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์ด๋ ์๊ฐ ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ ์ค๋ฅ ์ปจํ ์คํธ๊ฐ ์ฒ๋ฆฌ๋๋ ๋ฐฉ์์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
- ํตํ ๋ฐ ์ซ์ ํ์ ์ง์ : ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ธ์ ์ ๊ฐ์น ๋๋ ์ซ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ ๋ค์ํ ํตํ ๋ฐ ๋ก์ผ์ผ์ ๋ํ ์ฌ๋ฐ๋ฅธ ํ์์ ์ง์ ํด์ผ ํฉ๋๋ค.
- ๋ฌธํ์ ๊ฐ์์ฑ: ์ค๋ฅ ๋ฉ์์ง ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ๋ฌธํ์ ์ผ๋ก ๋ฏผ๊ฐํด์ผ ํ๋ฉฐ ๋ค์ํ ๋ฌธํ๊ถ์์ ๋ถ์พ๊ฐ์ ์ฃผ๊ฑฐ๋ ์คํด๋ ์ ์๋ ์ธ์ด ๋๋ ์ด๋ฏธ์ง๋ฅผ ํผํด์ผ ํฉ๋๋ค.
- ๋ค์ํ ์ฅ์น์์์ ์ฑ๋ฅ: ๋คํธ์ํฌ ์กฐ๊ฑด ๋ฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ๊ณ ๋ คํ์ฌ ๊ด๋ฒ์ํ ์ฅ์น์์ ์ฑ๋ฅ์ ์ํด Wasm ์ฝ๋๋ฅผ ์ต์ ํํฉ๋๋ค.
- ๋ฒ๋ฅ ๋ฐ ๊ท์ ์ค์: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ๋ ์ง์ญ์ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ๋ฐ ๊ธฐํ ๋ฒ์ ์๊ตฌ ์ฌํญ์ ์ค์ํ๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ค๋ฅ ์ฒ๋ฆฌ ์ ๋ต์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- ์ ๊ทผ์ฑ: ์ ๊ทผ ๊ฐ๋ฅํ ์ค๋ฅ ๋ฉ์์ง ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผํ ์ ์๋๋ก ํฉ๋๋ค.
๋๊ตฌ ๋ฐ ๊ธฐ์
์ฌ๋ฌ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ด WebAssembly ์์ธ ์ฒ๋ฆฌ ๋ฐ ์ค๋ฅ ์ปจํ ์คํธ ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ: Clang/LLVM(C/C++) ๋ฐ Rust์ `rustc`์ ๊ฐ์ ์ปดํ์ผ๋ฌ๋ ์์ธ ์ฒ๋ฆฌ๊ฐ ํ์ฑํ๋ WebAssembly๋ก ์ฝ๋ ์ปดํ์ผ์ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ์ปดํ์ผ๋ฌ๋ EHSM์ ์ง์ํ๋ ๋ฐ ํ์ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
- Wasm ๋ฐํ์: ์น ๋ธ๋ผ์ฐ์ (Chrome, Firefox, Safari, Edge) ๋ฐ ๋ ๋ฆฝ ์คํํ ๋ฐํ์(Wasmer, Wasmtime)์ WebAssembly ๋ฐํ์์ EHSM์ ๊ตฌํ์ ์ ๊ณตํฉ๋๋ค.
- ๋๋ฒ๊น ๋๊ตฌ: ๋๋ฒ๊ฑฐ(์: ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ, LLDB, GDB)๋ฅผ ์ฌ์ฉํ์ฌ ์์ธ๊ฐ ๋ฐ์ํ์ ๋ Wasm ์ฝ๋๋ฅผ ๋จ๊ณ๋ณ๋ก ์คํํ๊ณ ์ค๋ฅ ์ปจํ ์คํธ ์ ๋ณด๋ฅผ ๊ฒ์ฌํ ์ ์์ต๋๋ค.
- WebAssembly ์ธํฐํ์ด์ค(WASI): WASI๋ WebAssembly ๋ชจ๋์ด ์ฌ์ฉํ ์ ์๋ ์์คํ ํธ์ถ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. WASI์๋ ์์ง ๊ธฐ๋ณธ ์ ๊ณต ์์ธ ์ฒ๋ฆฌ๊ฐ ์์ง๋ง ์ด ์์ญ์์ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ํฅ์์ํค๊ธฐ ์ํ ํ์ฅ์ด ๊ณํ๋์ด ์์ต๋๋ค.
- SDK ๋ฐ ํ๋ ์์ํฌ: ๋ง์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ(SDK) ๋ฐ ํ๋ ์์ํฌ๊ฐ WebAssembly๋ฅผ ์ง์ํ๋ฏ๋ก ๊ฐ๋ฐ์๋ Wasm ๋ชจ๋์ ๋ณด๋ค ๊ฐ์ํ๋ ๋ฐฉ์์ผ๋ก ์์ฑํ๊ณ ๋ฐฐํฌํ ์ ์์ผ๋ฉฐ ์ข ์ข ๊ฐ ๋ฐํ์์ ์ธ๋ถ ์ฌํญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ํผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฒฐ๋ก
์์ธ ์ฒ๋ฆฌ ์คํ ๊ด๋ฆฌ์๋ ๊ฐ๋ ฅํ๊ณ ์์ ์ ์ธ WebAssembly ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์์ ์ธ ์์์ ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ค๋ฅ๋ฅผ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , ๊ฐ์น ์๋ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ฉฐ, ํธ์คํธ ํ๊ฒฝ๊ณผ์ ํตํฉ์ ๋จ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. EHSM์ ์๋ ๋ฐฉ์์ ์ดํดํ๊ณ , ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๊ณ , ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๊ด๋ฒ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๊ณ ํ์ง์ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ๊ณ ์์ ํ Wasm ๋ชจ๋์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
WebAssembly๊ฐ ๊ณ์ ๋ฐ์ ํ๊ณ ๋์ฑ ์ค์ํด์ง์ ๋ฐ๋ผ EHSM์ ํฌํจํ ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ ๋ํ ํ๊ณ ํ ์ดํด๋ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ๊ฐ๋ ฅํ๊ณ ์ ๋ฌธ๊ฐ ์์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ณ ์ ํ๋ ๊ฐ๋ฐ์์๊ฒ ํ์ ๋ถ๊ฐ๊ฒฐํฉ๋๋ค.