Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deno に Web 標準 API を実装する / Implementing Web stan...
Search
petamoriken / 森建
March 14, 2024
Programming
0
670
Deno に Web 標準 API を実装する / Implementing Web standards API to Deno
OSS Drink Up
https://engineercafe.connpass.com/event/312812/
petamoriken / 森建
March 14, 2024
Tweet
Share
More Decks by petamoriken / 森建
See All by petamoriken / 森建
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
500
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
220
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
1.9k
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
530
DOM Observable
petamoriken
1
250
Contributing to Deno is fun!
petamoriken
0
360
Stage 2 Decorators の変遷 / Stage 2 Decorators history
petamoriken
0
6.8k
linaria: Zero-Runtime CSS in JS
petamoriken
2
2.3k
Other Decks in Programming
See All in Programming
Laravel × Clean Architecture
bumptakayuki
PRO
0
150
Lambda(Python)の リファクタリングが好きなんです
komakichi
5
270
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
600
2025年のz-index設計を考える
tak_dcxi
10
3.7k
ComposeでのPicture in Picture
takathemax
0
130
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
生成AI時代のフルスタック開発
kenn
3
360
オープンソースコントリビュート入門
_katsuma
0
130
LRパーサーはいいぞ
ydah
6
1.3k
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
160
파급효과: From AI to Android Development
l2hyunwoo
0
160
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
110
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Bash Introduction
62gerente
613
210k
Building Applications with DynamoDB
mza
94
6.4k
RailsConf 2023
tenderlove
30
1.1k
Become a Pro
speakerdeck
PRO
28
5.3k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
It's Worth the Effort
3n
184
28k
Optimizing for Happiness
mojombo
378
70k
Gamification - CAS2011
davidbonilla
81
5.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
Deno に Web 標準 API を実装する OSS Drink Up at Engineer Cafe pixiv Inc. 森内建太
petamoriken 2024.3.14
2 自己紹介 • Web エンジニア • ECMAScript や WHATWG を追うのが好き • Deno へのコミット数ランキング27位らしい petamoriken カスタマーオペレーション
&セーフティ本部 オペレーション開発部
3 目次 • Deno とは • Deno 内部の JavaScript • AbortSignal.any の例 • 今実装しているもの
4 Deno とは • 2018年に Node.js 作者 Ryan Dahl さんによって発表された • JavaScript/TypeScript ランタイム ◦ Web 標準 API、Node.js 互換レイヤーを持つ ◦
ファイル、ネットワークアクセスなどに権限機能がついており安全 ◦ Lint, Format そして LSP 機能などを標準で搭載
5 Deno 内部の JavaScript • Deno API のインターフェースは JavaScript で実装されている ◦ Web 標準 API、Node.js 互換レイヤーなど ◦ ファイルシステム、ネットワークなど外界とのやり取りは Rust •
実行時に都度テキストとして読み込むと時間がかかる 👉 V8 スナップショット機能で JavaScript と ops の初期化処理を高速化
6 JavaScript がかければ コントリビュート可能
7 AbortSignal.any の例 • 中止について扱う AbortSignal に新しい Web 標準 API が追加された
8 AbortSignal.any の例 • まず WebIDL を見ながら引数の処理を書く
9 AbortSignal.any の例 • 仕様の差分を見てどうやら Iterable な WeakSet が必要らしい
10
11 AbortSignal.any の例 • なんやかんや実装して、レビューに対応して ……
12 AbortSignal.any の例 • 承認されて Deno に取り込まれた 🎉
13 AbortSignal.any の例 • わいわい 🎉
14 今実装しているもの • Web 標準 API にアフィン変換を扱う DOMMatrix などの API が存在する 👉 Deno に experimental な WebGPU があるため、便利かもと提案し実装中