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
Wasmで社内ツールを作って配布しよう
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
asuka
July 25, 2025
Technology
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Wasmで社内ツールを作って配布しよう
https://niigata-5min-tech.connpass.com/event/362312/
asuka
July 25, 2025
More Decks by asuka
See All by asuka
GoとSIMDとWasmの今。
askua
3
630
2025年ふりかえり
askua
1
250
ライブラリを公開してメンテナンスした一年
askua
0
120
Wasmの気になる最新情報
askua
1
420
Wasmのエコシステムを使った ツール作成方法
askua
0
460
Pure Goで体験するWasmの未来
askua
1
1.1k
Wasm元年
askua
0
420
wstdなんだか良さそう
askua
0
160
Dartでウェブ開発 (やりたい)
askua
0
110
Other Decks in Technology
See All in Technology
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
290
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
160
大型犬好きによるPugの紹介
yamanoku
1
120
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
WasmをRustにする
sansantech
PRO
0
150
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
140
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
350
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
USB PDを使ってスマホを労わりたい
raspython3
0
160
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
120
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
360
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
390
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Making Projects Easy
brettharned
120
6.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
The Cost Of JavaScript in 2023
addyosmani
55
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Transcript
社内ツールを作って配布しよう N5T #21 Jul 25, 2025 Wasmで
WHOAMI asuka • 株式会社モニクル/SWE ◦ Monicle Techbook vol.1 技術書典17 •
Wasm関連の同人誌・商業誌の執筆 ◦ 実践入門WebAssembly ◦ WebAssembly System Interface入門 ◦ ご注文はWASIですか?? 技術書典16 ◦ Wasm Cookbook vol.2 技術書典17 ◦ Wasm Cookbook vol.3 技術書典18 ◦ Wasm Cookbook vol.4 技術書典NT • 新宿御苑.dev ◦ 新宿御苑.wasm #2025.6.25 LTイベント 2 商業誌 Cookbookシリーズ ごちWASI
前回のあらすじ 3
新宿御苑.wasm #2025.6.25 4 https://speakerdeck.com/askua/wasmyuan-nian Wasm元年なので,
新宿御苑.wasm #2025.6.25 5 https://speakerdeck.com/askua/wasmyuan-nian 社内ツールを作ろう という話をした
サンプル作ってきたよ 6 MCPサーバーのサンプル持ってこようとしたけれども,既存のライブラリがビルド依存の関係で使えなかった
Wasmのおさらい • シングルバイナリでどこでも実行できる • 配布する手段がある • セキュアである → マルチプラットフォーム時代に適した仕組みである 7
LLMを使えば 社内ツールなんて 作らなくてもいいのに
read-web : 指定したURLのHTMLをMDに変換 8 • https://github.com/a-skua/example-wasi/tree/main/read-web • https://github.com/users/a-skua/packages/container/package/read-web
実装 • Go (tinygo) • https://github.com/JohannesKaufmann/html-to-markdown ◦ HTML to Markdown
• https://github.com/a-skua/go-wasi ◦ Goの標準パッケージでサポートできていない HTTP通信のサポート ◦ ※ HTTP通信はWASI 0.2でサポートされている 9
配布 Container RegistoryであればどこでもOK → e.g. Docker Hub 今回は GitHub Packages
push • wkg oci push ghcr.io/a-skua/read-web:1.0.0 bin/read.wasm pull • wkg oci pull -o read.wasm ghcr.io/a-skua/read-web:1.0.0 10
実行 wasmtime run -S http read.wasm -url https://example.com 11 ランタイム
ランタイムの権限
セキュア ランタイム権限の他にも,ユーザーがAPIを制御しやすい 12 OS Wasm ランタイム (権限制御) Wasm モジュール API
API Wasm モジュール func Handle() { panic("Handle is not supported in this example") } wac plug read.wasm \ --plug omit.wasm \ -o omit-read.wasm
セキュア 13 panic: Handle is not supported in this example
Wasmで社内ツールを作って配布しよう fin