๐Ÿน STUDY/Tech Stack

์›น์–ด์…ˆ๋ธ”๋ฆฌ(WebAssembly)

์ง€ ์› 2023. 3. 7. 15:05

https://developer.mozilla.org/en-US/docs/WebAssembly

 

WebAssembly | MDN

WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C# and Rust with a compilation t

developer.mozilla.org

< ์›น์–ด์…ˆ๋ธ”๋ฆฌ(WebAssembly) Mdns >

 

WebAssembly๋Š” ์ตœ์‹  ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ์ฝ”๋“œ

C, C ++, RUST ๋“ฑ์˜ ์ €๊ธ‰ ์†Œ์Šค ์–ธ์–ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ปดํŒŒ์ผํ•˜๋„๋ก ๊ณ ์•ˆ๋˜์—ˆ์Œ

์ด๋Š” ์ด์ „์— ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ ์›น์—์„œ ์‹คํ–‰๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์—์„œ ์—ฌ๋Ÿฌ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋„ค์ดํ‹ฐ๋ธŒ์— ๊ฐ€๊นŒ์šด ์†๋„๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ธธ์„ ์ œ๊ณตํ•จ

 

 

์›น์–ด์…ˆ๋ธ”๋ฆฌ์˜ ์žฅ์ 

  1. ๋†’์€ ์„ฑ๋Šฅ: WebAssembly๋Š” ์ฝ”๋“œ๋ฅผ ๊ฑฐ์˜ ๋„ค์ดํ‹ฐ๋ธŒ ์†๋„๋กœ ์‹คํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ๊ฒŒ์ž„, ๋น„๋””์˜ค ํŽธ์ง‘ ๋ฐ ๊ณผํ•™ ๊ณ„์‚ฐ๊ณผ ๊ฐ™์€ ๊ณ„์‚ฐ ์ง‘์•ฝ์ ์ธ ์ž‘์—…์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.
  2. ์–ธ์–ด ์œ ์—ฐ์„ฑ: WebAssembly๋Š” C, C ++, Rust ๋“ฑ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”์— ๋”ฐ๋ผ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ณด์•ˆ: WebAssembly ์ฝ”๋“œ๋Š” ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์‹œ์Šคํ…œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๊ฒฉ๋ฆฌ๋˜์–ด ๋ช…์‹œ์ ์ธ ๊ถŒํ•œ ์—†์ด ๋ฏผ๊ฐํ•œ ๋ฆฌ์†Œ์Šค ๋˜๋Š” ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  4. ์ด์‹์„ฑ: WebAssembly ์ฝ”๋“œ๋Š” ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ (๋ธŒ๋ผ์šฐ์ €, ์„œ๋ฒ„ ๋ฐ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ)์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด์ง„ ํ˜•์‹์œผ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค.
  5. ํ˜ธํ™˜์„ฑ: WebAssembly๋Š” Chrome, Firefox, Safari ๋ฐ Edge๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ฃผ์š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›๋˜๋ฏ€๋กœ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ฑ„ํƒ๋˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
  6. ์ƒํ˜ธ ์šด์šฉ์„ฑ: WebAssembly๋Š” JavaScript ๋ฐ HTML๊ณผ ๊ฐ™์€ ๊ธฐ์กด ์›น ๊ธฐ์ˆ ๊ณผ ์‰ฝ๊ฒŒ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ์กด์˜ ๊ธฐ์ˆ ๊ณผ ์ธํ”„๋ผ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์›น์–ด์…ˆ๋ธ”๋ฆฌ์˜ ๋‹จ์ 

  1. ํ•™์Šต๊ณก์„ : WebAssembly๋Š” ๊ธฐ์กด์˜ ์›น ๊ฐœ๋ฐœ ๊ธฐ์ˆ ๊ณผ๋Š” ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ƒˆ๋กœ์šด ๋ฌธ๋ฒ• ๋ฐ ๊ฐœ๋…์„ ํ•™์Šตํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” ํ•™์Šต ๊ณก์„ ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๋””๋ฒ„๊น…: WebAssembly ์ฝ”๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์ง„ ํ˜•์‹์ด๋ฏ€๋กœ ๋””๋ฒ„๊น…์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฐœ๋ฐœ์ž๋“ค์€ ๋””๋ฒ„๊น… ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: WebAssembly ์ฝ”๋“œ๋Š” ์ž์ฒด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ: WebAssembly๋Š” ๋ชจ๋“  ์ฃผ์š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›๋˜์ง€๋งŒ, ์ผ๋ถ€ ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์—์„œ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ํŒŒ์ผ ํฌ๊ธฐ: WebAssembly ์ฝ”๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ JavaScript ์ฝ”๋“œ๋ณด๋‹ค ํฌ๊ธฐ๊ฐ€ ํฝ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, WebAssembly๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์šด๋กœ๋“œ ๋ฐ ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

WebAssembly๋Š” ๊ณ ์„ฑ๋Šฅ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์žˆ์–ด ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๋‹จ์ ๋“ค๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

์›น์–ด์…ˆ๋ธ”๋ฆฌ ์‹œ์ž‘ํ•˜๊ธฐ

  • ์— ์Šคํฌ๋ฆฝํŠผ์œผ๋กœ c/c++ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํฌํŒ…ํ•˜๊ธฐ.
  • ์–ด์…ˆ๋ธ”๋ฆฌ ์ˆ˜์ค€์—์„œ ๋ฐ”๋กœ WebAssembly๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ƒ์„ฑํ•˜๊ธฐ.
  • Rust ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ  WebAssembly๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • TypeScript์™€ ๋น„์Šทํ•œ AssemblyScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ WebAssembly๋ฐ”์ด๋„ˆ๋ฆฌ ์ปดํŒŒ์ผ.

'๐Ÿน STUDY > Tech Stack' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Wireless Channel Characteristics - Fading Channel  (0) 2021.12.06
๊ฐ•ํ™”ํ•™์Šต #1  (0) 2021.04.06