Deno
発音は「でぃの」
雨の中、エンジニアリングの闇に立ち向かう恐竜
Slackもある
deno coreのトリセツ
coreの構成の話
APIの実装方法
記事とか
動かす
helloworld
$ deno https://deno.land/std/examples/welcome.ts
Code Readingをする
構成
ユーザーが触れる部分
APIのインターフェース
TSコンパイラを含む
TS→JSにコンパイルしてV8で処理をする
V8はTSを実行できないので

Privilegedなレイヤー
どゆいみ?
oak
memo
TSファイルをそのまま実行できる
TSもJSもfirst class language
$ deno run hoge.ts
内部で同じことをしているわけだが、プログラマは自分でコンパイルしなくていい
なんこれ
TSのモジュールを直接importできるというのはつまりどういうことだ?
今のnpmみたいに、(Deno用の)jsライブラリと別の型定義ファイルも使えるのか?
>Deno ships with integrated type definitions for itself
ってどういうこと?
Secure Modelである
OSのカーネルと同じように特権モードとユーザ空間を分けている
普通に
$ deno
で実行できるが、デフォルトでは以下のことなどができない
refファイル書き込み
環境変数参照
サブプロセスの起動
ネットワークアクセス
オプションを指定するこで、実行できる
module system
importは相対パスか絶対パスかURL
拡張子は必須
node.jsのモジュールは使えない(?)
package.jsonは不要になる
import URL
でやるから?

versionの指定もURLに含まれる?
goもコレだっけ?

https://deno.land/x/hogehoge
でimportできる
オフライン時もキャッシュで耐える
単一実行ファイル
軽量
他のライブラリから独立している
このファイル一つさえあれば実行できる
ランタイムが不要とか言う意味ではないよな?
Promiseがある
deno fmt
あるんか!
JS,TS,Rust,Wasmの移行をシームレスに行うVisionがある
つまりどういうことだってばよ

top level await実装済み
なにかわからん
deno bundleとは
参考
がいよう
TS実装をやめて、JS実装にするらしい
2021