deno

Typescript 을 위한 새로운 자바스크립트 런타임 Deno 에 대한 한국어 자료. Deno 와 관련 된 한국어 대화는 현재 Seouljs 의 슬랙채널 #deno 에 진행 중. 관심 있다면 해당 링크를 사용 Denoland 의 업데이트를 한글로 정리 하고 있으니 참고.

Deno

A new way to JavaScript

Linux & Mac Windows
deno build build Deno 소스 저장소
deno_std build 외부 코드에 의존하지 않고 Deno 코어팀이 리뷰한 기본 모듈들
deno_install build build Deno 인스톨러들
registry Deno 를 위한 URL 리다이렉션 서비스, https://deno.land/x/ 와 모듈명과 버전명으로 구분하여 Github 등에 존재하는 소스로 이동시켜주는 서비스

Install

With Shell

curl -L https://deno.land/x/install/install.sh | sh
export PATH=$HOME/.deno/bin:$PATH

With PowerShell

iex (iwr https://deno.land/x/install/install.ps1)

Mini-tutorial

간단히 Deno 프로그램을 테스트 할 수 있다. 로컬 디렉토리를 HTTP 로 서빙한다.

alias file_server="deno \
  https://deno.land/x/http/file_server.ts --allow-net"

다음과 같이 실행한다. file_server.ts 를 다운로드 후에 실행된다:

% file_server .
Downloading https://deno.land/x/http/file_server.ts...
[...]
HTTP server listening on http://0.0.0.0:4500/

만약 최신 버전으로 업데이트 하고 싶다면 다음 명령을 사용한다.

file_server --reload

Dig in...

Documentation: Deno 문서

API Reference: API 레퍼런스

Links to other Deno resources

Continuous Benchmark

다음 표들은 매번 커밋 마다 업데이트 된다.

master branch

Execution time

다음 몇 가지 간단한 Deno 프로그램들 의 실행 시간을 보여준다:

tests/002_hello.ts

tests/003_relative_import.ts

먼저 Deno 가 실행 되면 먼저 Typescript 는 JS 로 컴파일 된다. 이후 warm startup 으로 시작 되면 TS 컴파일 단계를 사용하지 않고 이미 캐쉬 된 JS 를 사용한다. cold startup 은 반드시 처음 부터 컴파일 단계를 사용한다.

벤치마크 결과 보러가기

Throughput

Deno 를 사용해서 일정량의 데이터 송신에 사용 된 시간을 보여준다. echo_server.tscat.ts 테스트 이다. 작은 값이 좋다.

벤치마크 결과 보러가기

Req/Sec

HTTP 서버의 퍼포먼스의 테스트. 10 개의 커넥션을 유지해서 (keep-alive) hello-world 요청을 가능한 많이 보냈다. 수치가 클 수록 좋다.

벤치마크 결과 보러가기

Executable size

Deno 는 한 개의 바이너리로 릴리즈 된다. 파일 그 사이즈 변화를 알 수 있다.

벤치마크 결과 보러가기

Thread count

프로그램들이 얼마나 많은 쓰레드를 사용하는지 알 수 있다.

벤치마크 결과 보러가기

Syscall count

스크립트가 실행 될 때 얼마나 많은 syscall 이 사용하는지 알 수 있다.

벤치마크 결과 보러기기

이전 모든 벤치마크

벤치마크 결과 보러가기

License

저작권은 모두 원저자들에게 있다. 번역을 포함한 다른 자료들의 저작권은 아래와 같다.

MIT @ denoland.kr