Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Deno に Web 標準 API を実装する / Implementing Web stan...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
petamoriken / 森建
March 14, 2024
Programming
880
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deno に Web 標準 API を実装する / Implementing Web standards API to Deno
OSS Drink Up
https://engineercafe.connpass.com/event/312812/
petamoriken / 森建
March 14, 2024
More Decks by petamoriken / 森建
See All by petamoriken / 森建
Security issues being discussed on Web Platforms
petamoriken
0
1.5k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
270
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.3k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
300
Module Harmony
petamoriken
3
1.2k
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.7k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
700
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
370
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
2.9k
Other Decks in Programming
See All in Programming
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
310
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
490
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
240
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
190
ChromeでローカルLLM
ryu1013
0
200
Crash Auto Pipelines
veronikapj
1
400
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
320
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
320
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
130
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
130
Getting Started with Vibe Coding
miccheng
0
190
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
510
Amusing Abliteration
ianozsvald
1
380
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
How to Talk to Developers About Accessibility
jct
2
620
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Code Review Best Practice
trishagee
74
20k
Prompt Engineering for Job Search
mfonobong
0
580
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.7k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
WENDY [Excerpt]
tessaabrams
14
40k
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 があるため、便利かもと提案し実装中