๋ฐ๋…ธ 1.0

TypeScript ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ๊ฐœ๋ฐฉ์ ์ด๊ณ  ์•ˆ์ „ํ•œ ์‹คํ–‰ ํ™˜๊ฒฝ์ธ Deno์˜ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™˜๊ฒฝ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž์˜ ์ ์ ˆํ•œ ๊ถŒํ•œ ์„ค์ •์„ ํ†ตํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ, ๋„คํŠธ์›Œํฌ ๋ฐ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์˜ˆ์™ธ์ ์œผ๋กœ ๋ช…์‹œ์ ์ธ ์•ก์„ธ์Šค
  • Node.JS ๋ฐ tsc ์—†์ด TypeScript ์‹คํ–‰
  • Javascript์™€์˜ ์—ญํ˜ธํ™˜์„ฑ: Deno ์ „์—ญ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ  ์œ ํšจํ•œ Javascript ์ฝ”๋“œ์ธ Deno ํ”„๋กœ๊ทธ๋žจ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ๋„๊ตฌ๋„ ํฌํ•จํ•˜๋Š” ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
    • deno run --inspect-brk: Visual Studio Code ๋ฐ Google Chrome์˜ ์›๊ฒฉ ๋””๋ฒ„๊น… ๋„๊ตฌ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋””๋ฒ„๊ทธ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
    • deno install: ์›๊ฒฉ ๋ฆฌ์†Œ์Šค์—์„œ Deno ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์ข…์†์„ฑ๊ณผ ํ•จ๊ป˜ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  $HOME/.deno/bin์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
    • deno fmt: ์ฝ”๋“œ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • deno ๋ฒˆ๋“ค: Deno ํ”„๋กœ๊ทธ๋žจ ๋ฒˆ๋“ค๋Ÿฌ์ž…๋‹ˆ๋‹ค. Deno ๋ฐ ํ•ด๋‹น ์ข…์†์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ํฌํ•จ๋œ js ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • WIP: ๋ฌธ์„œ ์ƒ์„ฑ๊ธฐ ๋ฐ ์ข…์†์„ฑ ๊ฐ์‚ฌ ๋„๊ตฌ;
  • npm ๋ฐ package.json์— ์˜์กดํ•˜์ง€ ์•Š์Œ: ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง์ ‘ URL์„ ์ง€์ •ํ•œ ํ›„ ์™ธ๋ถ€ ๋ชจ๋“ˆ์ด ๋กœ๋“œ๋˜๊ณ  ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. (๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋‹ค์šด๋กœ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ์‹คํ–‰ ์ค‘์—๋งŒ ๋ฐœ์ƒํ•œ ๋‹ค์Œ โ€”reload ํ”Œ๋ž˜๊ทธ๋กœ ํ˜ธ์ถœ๋  ๋•Œ๊นŒ์ง€ ๋ชจ๋“ˆ์ด ์บ์‹œ๋ฉ๋‹ˆ๋‹ค.)
    *๋ฅผ "https://deno.land/std/log/mod.ts"์—์„œ ๋กœ๊ทธ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

  • Node.JS์™€ ๋‹ฌ๋ฆฌ ๋ชจ๋“  ๋น„๋™๊ธฐ ์ž‘์—…์€ Promise๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ•ญ์ƒ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

Deno๋Š” ๋‚ด์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋ฉฐ ํฌ๋ ˆ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด Rust ํ”„๋กœ๊ทธ๋žจ์„ ํ™•์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. deno_core.

Deno ํŒ€์€ ๋˜ํ•œ Go ์–ธ์–ด์˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ธฐ๋Šฅ๋ฉด์—์„œ ์œ ์‚ฌํ•œ ์™ธ๋ถ€ ์ข…์†์„ฑ์ด ์—†๋Š” ํ‘œ์ค€ ๋ชจ๋“ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Deno๋Š” ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. Shebang์„ ํ†ตํ•œ ํ˜ธ์ถœ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
REPL์ด ์žˆ์Šต๋‹ˆ๋‹ค.
Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

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