JavaScript๋ฅผ ์ํ ์๋ก์ด ๋ฐํ์์ ๋ง๋๋ ์ฃผ์ ๋ชฉํ ์ค ํ๋๋ ๋ณด๋ค ์์ ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค. ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด V8 ์์ง์ Rust๋ก ์์ฑ๋์ด After Free ์ก์ธ์ค, ๋ ํฌ์ธํฐ ์ญ์ฐธ์กฐ ๋ฐ ๋ฒํผ ์ค๋ฒ๋ฐ๊ณผ ๊ฐ์ ๋ฎ์ ์์ค์ ๋ฉ๋ชจ๋ฆฌ ์กฐ์์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ง์ ์ทจ์ฝ์ ์ ๋ฐฉ์งํฉ๋๋ค. ํ๋ซํผ์ ๋น์ฐจ๋จ ๋ชจ๋๋ก ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ฃผ์
- ๋ณด์ ์งํฅ ๊ธฐ๋ณธ ๊ตฌ์ฑ. ํ์ผ ์ก์ธ์ค, ๋คํธ์ํน ๋ฐ ํ๊ฒฝ ๋ณ์์ ๋ํ ์ก์ธ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ผ๋ฉฐ ๋ช ์์ ์ผ๋ก ํ์ฑํํด์ผ ํฉ๋๋ค.
- JavaScript ์ธ์๋ TypeScript ์ธ์ด์ ๋ํ ์ง์์ด ๋ด์ฅ๋์ด ์์ต๋๋ค.
- ๋ฐํ์์ ๋จ์ผ ๋
๋ฆฝ ์คํ ํ์ผ(โdenoโ) ํํ๋ก ์ ๊ณต๋ฉ๋๋ค. Deno๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ๋ ค๋ฉด ์ถฉ๋ถํฉ๋๋ค.
์ ๋ก๋ ํ๋ซํผ 10 ์คํ ํ์ผ์ ๊ฒฝ์ฐ ํฌ๊ธฐ๊ฐ ์ฝ XNUMXMB์ด๋ฉฐ ์ธ๋ถ ์ข ์์ฑ์ด ์์ผ๋ฉฐ ์์คํ ์ ํน๋ณํ ์ค์น๊ฐ ํ์ํ์ง ์์ต๋๋ค. - ํ๋ก๊ทธ๋จ์ ์์ํ๊ณ ๋ชจ๋์ ๋ก๋ํ ๋ URL ์ฃผ์ ์ง์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Welcome.js ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๋ฉด โdeno https://deno.land/std/examples/welcome.jsโ ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์ธ๋ถ ๋ฆฌ์์ค์ ์ฝ๋๋ ๋ก์ปฌ ์์คํ ์ ๋ค์ด๋ก๋๋๊ณ ์บ์๋์ง๋ง ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋์ง ์์ต๋๋ค(์ ๋ฐ์ดํธํ๋ ค๋ฉด "--reload" ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ช ์์ ์ผ๋ก ์คํํด์ผ ํจ).
- ์ ํ๋ฆฌ์ผ์ด์ ์์ HTTP๋ฅผ ํตํด ๋คํธ์ํฌ ์์ฒญ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉฐ ํ๋ซํผ์ ๊ณ ์ฑ๋ฅ ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
- Deno์ ์ผ๋ฐ ์น ๋ธ๋ผ์ฐ์ ๋ชจ๋์์ ์คํ๋ ์ ์๋ ๋ฒ์ฉ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๊ธฐ๋ฅ
- ๋ฐํ์ ์ธ์๋ Deno ํ๋ซํผ์ ํจํค์ง ๊ด๋ฆฌ์ ์ญํ ์ ํ๋ฉฐ ์ฝ๋ ๋ด์ URL์ ํตํด ๋ชจ๋์ ์ก์ธ์คํ ์ ์๋๋ก ํด์ค๋๋ค. ์๋ฅผ ๋ค์ด, ๋ชจ๋์ ๋ก๋ํ๋ ค๋ฉด "https://deno.land/std/log/mod.ts"์์ ๋ก๊ทธ๋ก ๊ฐ์ ธ์ค๊ธฐ *๋ฅผ ์ฝ๋์ ์ง์ ํ ์ ์์ต๋๋ค. URL์ ํตํด ์ธ๋ถ ์๋ฒ์์ ๋ค์ด๋ก๋ํ ํ์ผ์ ์บ์๋ฉ๋๋ค. ๋ชจ๋ ๋ฒ์ ์ ๋ํ ๋ฐ์ธ๋ฉ์ URL ๋ด์ ๋ฒ์ ๋ฒํธ๋ฅผ ์ง์ ํ์ฌ ๊ฒฐ์ ๋ฉ๋๋ค(์: "https://unpkg.com/).[์ด๋ฉ์ผ ๋ณดํธ]/dist/liltest.js";
- ๊ตฌ์กฐ์๋ ํตํฉ ์ข ์์ฑ ๊ฒ์ฌ ์์คํ ("deno info" ๋ช ๋ น)๊ณผ ์ฝ๋ ํ์ ์ง์ ์ ํธ๋ฆฌํฐ(deno fmt)๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์์ฉ
์ ์ ์ถ๊ฐ ๊ฐ์ฌ ๋ฐ ํธํ์ฑ ํ ์คํธ๋ฅผ ๊ฑฐ์น ํ์ค ๋ชจ๋ ์ธํธ - ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์คํฌ๋ฆฝํธ๋ฅผ ํ๋์ JavaScript ํ์ผ๋ก ๊ฒฐํฉํ ์ ์์ต๋๋ค.
Node.js์์ ์ฐจ์ด์ :
- Deno๋ npm ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฌถ์ฌ ์์ง ์๊ณ , ๋ชจ๋์ URL์ด๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ํตํด ์ฃผ์๊ฐ ์ง์ ๋๋ฉฐ, ๋ชจ๋ ์์ฒด๋ ๋ชจ๋ ์น์ฌ์ดํธ์ ๋ฐฐ์น๋ ์ ์์ต๋๋ค. - Deno๋ ๋ชจ๋์ ์ ์ํ๊ธฐ ์ํด "package.json"์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- API ์ฐจ์ด์ , Deno์ ๋ชจ๋ ๋น๋๊ธฐ ์์ ์ ์ฝ์์ ๋ฐํํฉ๋๋ค.
- Deno๋ ํ์ผ, ๋คํธ์ํฌ ๋ฐ ํ๊ฒฝ ๋ณ์์ ํ์ํ ๋ชจ๋ ๊ถํ์ ๋ช ์์ ์ผ๋ก ์ ์ํด์ผ ํฉ๋๋ค.
- ํธ๋ค๋ฌ์ ํจ๊ป ์ ๊ณต๋์ง ์์ ๋ชจ๋ ์ค๋ฅ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ๋ก ์ด์ด์ง๋๋ค.
- Deno๋ ECMAScript ๋ชจ๋ ์์คํ ์ ์ฌ์ฉํ๋ฉฐ require()๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
์ถ์ฒ : opennet.ru