Deno JavaScript ํ”Œ๋žซํผ ๋ฆด๋ฆฌ์Šค 1.16

Deno 1.16 JavaScript ํ”Œ๋žซํผ์€ JavaScript ๋ฐ TypeScript๋กœ ์ž‘์„ฑ๋œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์‹คํ–‰(๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ ์—†์ด)์šฉ์œผ๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” Node.js ์ž‘์„ฑ์ž Ryan Dahl์ด ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋žซํผ ์ฝ”๋“œ๋Š” Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. Linux, Windows ๋ฐ macOS์šฉ์œผ๋กœ ์ค€๋น„๋œ ๋นŒ๋“œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” Node.js ํ”Œ๋žซํผ๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ V8 JavaScript ์—”์ง„์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ Node.js ์ž‘์„ฑ์ž์— ๋”ฐ๋ฅด๋ฉด ์ด์ „ ํ”„๋กœ์ ํŠธ์˜ ์—ฌ๋Ÿฌ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐํ•จ์„ ์ˆ˜์ •ํ–ˆ์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‰˜์•™์Šค์—์„œ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. :

  • ๊ฐœ๋ฐœ์ž์— ๋”ฐ๋ฅด๋ฉด Rust๋ฅผ ๊ธฐ๋ณธ ์–ธ์–ด๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ, ํ•ด์ œ ํ›„ ์‚ฌ์šฉ ๋“ฑ)์™€ ๊ด€๋ จ๋œ ์ทจ์•ฝ์ ์˜ ์œ„ํ—˜์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
  • Deno๋Š” npm ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์™€ package.json์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์„ค์น˜ํ•  ๋ชจ๋“ˆ์˜ URL์ด๋‚˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ”„๋กœ์ ํŠธ๋Š” ํƒ€์‚ฌ ๋ชจ๋“ˆ๊ณผ์˜ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ๋ณ„๋„๋กœ ์‹คํ–‰๋˜๋ฉฐ ๋ช…์‹œ์ ์œผ๋กœ ๋ถ€์—ฌ๋œ ๊ถŒํ•œ ์—†์ด๋Š” ๋„คํŠธ์›Œํฌ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ด ์•„ํ‚คํ…์ฒ˜๋Š” Deno ์‹œ์Šคํ…œ๊ณผ ์ผ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ € ๋ชจ๋‘์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์šฉ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • "ES ๋ชจ๋“ˆ"์„ ์‚ฌ์šฉํ•˜๊ณ  require() ์ง€์›์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์˜ค๋ฅ˜๋Š” ๊ฐ•์ œ ์ข…๋ฃŒ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.
  • JavaScript ์™ธ์— TypeScript ์ง€์›;
  • ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”Œ๋žซํผ์˜ ์ „์ฒด ํฌ๊ธฐ๋Š” ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ ํ˜•ํƒœ๋กœ 84MB(zip ์•„์นด์ด๋ธŒ - 31MB)์ž…๋‹ˆ๋‹ค.
  • ์ด ํ‚คํŠธ๋Š” ์ข…์†์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ฝ”๋“œ ํ˜•์‹์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์„ฑ๋Šฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.

Dino๋Š” ์ด๋ฒคํŠธ ์ค‘์‹ฌ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ ์„ฑ๋Šฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋„๋ก ์„ค๊ณ„๋œ Tokio ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์ฐจ๋‹จ ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Deno์— ๋‚ด์žฅ๋œ HTTP ์„œ๋ฒ„๊ฐ€ ๊ธฐ๋ณธ TCP ์†Œ์ผ“ ์œ„์— TypeScript๋กœ ๊ตฌํ˜„๋˜์–ด ๋„คํŠธ์›Œํฌ ์ž‘์—… ์„ฑ๋Šฅ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๋Š” ์ ๋„ ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ์„ฑ๋Šฅ ์ตœ์ ํ™”(4๊ฐœ ํŒจ์น˜);
  • 15๊ฐœ ์ด์ƒ์˜ ์˜ค๋ฅ˜๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ TLS ํด๋ผ์ด์–ธํŠธ๋Š” ์ด์ œ HTTP/2๋ฅผ ์ง€์›ํ•˜๊ณ  ์ธ์ฝ”๋”ฉ ํ•˜์œ„ ์‹œ์Šคํ…œ์€ ์ถ”๊ฐ€ ์ธ์ฝ”๋”ฉ ํ‘œ์‹œ ๋“ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • 8๊ฐœ ์ด์ƒ์˜ ํ˜์‹ ์ด ์ด๋ฃจ์–ด์กŒ์œผ๋ฉฐ ๊ทธ ์ค‘ ์ด์ „ ํ…Œ์ŠคํŠธ ํ•˜์œ„ ์‹œ์Šคํ…œ์ธ Deno.startTls ๋ฐ Deno.TestDefinition.permissions์˜ ์•ˆ์ •ํ™”, V9.7 JS ์—”์ง„์„ ๋ฒ„์ „ 17๋กœ ์—…๋ฐ์ดํŠธ, React XNUMX JSX ๋ณ€ํ™˜ ์ง€์› ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€