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
Google Apps Script で Ruby を動かす
Search
Shogo Kawahara
July 18, 2026
Programming
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Apps Script で Ruby を動かす
Shogo Kawahara
July 18, 2026
More Decks by Shogo Kawahara
See All by Shogo Kawahara
strudel-rb について
kawahara
0
8
rspec の --tag オプションがこんなに便利だったなんて...
kawahara
0
20
Rubyで音声「データ」を作る
kawahara
0
83
データベースだけじゃないN+1とその対策
kawahara
0
1.4k
CoderDojo 千葉県総武線沿線の取り組み
kawahara
1
430
SendGrid Template Engine 奮闘記
kawahara
0
380
Other Decks in Programming
See All in Programming
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
980
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.6k
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
800
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1k
AIが無かった頃の素敵な出会いの話
codmoninc
1
450
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
200
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
560
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
110
Cloudflare is Agents
chimame
0
170
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
670
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
290
Writing Fast Ruby
sferik
630
63k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Tell your own story through comics
letsgokoyo
1
1k
GitHub's CSS Performance
jonrohan
1033
470k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Chasing Engaging Ingredients in Design
codingconduct
0
270
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
400
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
Transcript
ݪ ᠳޗ (ooharabucyou) Google Apps Script Ͱ Ruby Λಈ͔͢ ←
ຊͷεϥΠυ
ॳख!! ͍͖ͳΓσϞ!!! ← ຊͷεϥΠυ
None
bucyou (Ϳͪΐʔ) ͳͲͱݺΕ ΔͷͩΑɻ kyobashi.rb ʹΑ͘إΛग़͢Αɻ freee ͱ͍͏ձࣾͰ Ruby ʹͯൢ
ചཧγεςϜతͳͷΛͭͬ͘ ͍ͯͨΓ͢ΔΑɻ About me https://github.com/kawahara
Google Apps Script (ҎԼGAS)
ੜ׆GASͰಈ͍͍ͯΔ
Ͳ͜ʹͰ͋Δ ͝ՈఉͷGAS ΞʔΩςΫνϟ 2013͘Β͍͔Β͜ͷελΠ ϧͰɺ్த݁ࠗͨ͠ΓͳͲͰ ૿վங͕܁Γฦ͞Εͳ͕Β ݱঢ়ͷܗʹམͪண͍͍ͯΔ
͝ՈఉͰಈ͘GASͨͪ ආ༻ཧாͷߪೖϦϚΠϯμ ՈిཧாͷނোՄೳੑΞϥʔϜ Enju Leaf (ਤॻཧ) पΓͷใ࿈ܞ …
;ͱࢥͬͨ
GAS Ͱ Ruby ಈ͘ͷ͔?
࣮༻ྫ? Ruby Ͱॻ͔ΕͨϥΠϒϥϦΛͲ͏ͯ͠ಈ͔͍ͨ͠ Ruby Λॻ͖͍ͨ Apps Script (JavaScript) ͳίʔυΛॻ͖ͨ͘ͳ͍
GAS Ͱ Ruby ಈ͘ͷ͔ ͺͬͱࢥ͍ͭ͘ͷ Opal Λ͏ख๏ γϯϓϧʹ Ruby Λ
JavaScript ʹมͯ͠ɺGAS ʹ͍ͯ͘͠ ͦΕ Ruby ͕ಈ͍͍ͯΔͱݴ͑Δͷ͔..?
Ͱ͖ΕɺRuby Λಈ͔͍ͨ͠
💡 Web Assembly ͔ͭ͑Δ͔ͳ?
“ Apps Script Chrome ͱ Node.js Λࡌ͢Δ V8 ϥϯλΠϜͰαϙʔ
τ͞ΕΔΑ͏ʹͳΓ·ͨ͠ɻ ” V8ϥϯλΠϜͷ֓ཁ | Apps Script | Google for Developers
V8ϥϯλΠϜͷ֓ཁ V8ϥϯϥΠϜɺWebAssembly ͷػೳΛα ϙʔτ͍ͯ͠Δ ͑ͳ͍APIʹࢦఆ͞Ε͍ͯͳ͍ ͭ·ΓɺGAS Ͱ WebAssembly ͕ಈ͘
ௐΔͱࣄྫ͋Δ GASͰ࢝ΊΔWebAssembly - @tan9i - Qiita https://qiita.com/tan9i/items/433072aaa44805c3bae9 Go Λ Wasm
ʹϏϧυͯ͠ Google Apps Script Ͱಈ͔͢ - @mascii - Zen https://zenn.dev/mascii/articles/go-wasm-on-google-apps-script
ͰɺRuby Λಈ͔͢ਓ ݟͨΒͳ͔ͬͨ …
ͬͯΈΑ͏
ϓϩδΣΫτߏ Clasp ʹΑΔཧ Rollup ʹΑΓɺgs ϑΝΠϧʹม @bjorn3/browser_wasi_shim ΛͬͯɺWASI Λ༻ҙ ࣗલͰϏϧυͨ͠
wasm ࣗͷαʔόʹஔ͍͓͖ͯɺHTTPS Ͱऔಘ Ͱ͖ΔΑ͏ʹ͢Δ ͱΓ͋͑ͣඪ४ग़ྗΛड͚औΔ
͏͍ͨ͝ ͏͍ͨͧ͝ʔʔʔʔ
͓͍ͦ!!!!!!!
UrlFetchApp ՝ wasm ͕Ͱ͔͍!! ࣗͷαʔόͳΓɺCDNͳΓʹஔ͢ΔͷͰɺ࣮ߦ͝ͱʹ30MBҎ্ͷసૹ͕ ൃੜ͢Δɻ💰 μϯϩʔυʹ͔͔Δ࣌ؒɺ࣮ߦ͕ΕΔ Fetch ͷ 1
20,000ճ੍ݶ (ݸਓΞΧϯτͷ߹) wasm Λ base64encode ͯ͠εΫϦϓτʹຒΊࠐΊΔͱ࠷ߴ͕ͩɺ(͓ͦΒ͘ 10MBఔͩΖ͏ͱ͍ΘΕ͍ͯΔ) GAS ͷϓϩδΣΫτ੍Λ͑ͯ͠·͏ɻ
ͬͯɺΛͨ·ͨ·ΦϑΟε ʹ͍ͨ @hachi ͞Μ (ಉΦϑ Οεۈ, Kyobashi.rb ΦʔΨ φΠβʔ) ʹͯ͠Έͨ
ͦΜͳ͜ͱ͕͋ͬ ͨΜͰ͢ΑʔʔɻͰ ҰԠ͏͍͚ͨ͝ ͲɺϏϛϣͬ͢Ͷɻ
͑ɺͦΜͳΜ͋ΔΜ͔͢? picoruby.wasm ͔͍͍ͭ͑ ͡Όͳ͍ ͋ΔΑ ·͔͢͡????!!!
Ϗϧυͨ͠Β1.3MB͘Β͍
ߦ͚ͦ͏ͬͯ͜ͱͰಈ͔ͯ͠ΈΔ
ϓϩδΣΫτߏ+ Ϗϧυ࣌ʹ picoruby.wasm ͷόΠφϦɺbase64encode ͯ͠ gs ʹຒ ΊࠐΈ ͍ͭͰʹ࣮ߦ͍ͨ͠ Ruby
εΫϦϓτಉࠝ͢Δ
͏͍ͨ͝ ͏͍ͨͧ͝ʔʔʔʔʔ
͔ͦͦ͜͜͠ૣ͍
݁: GASͰRubyಈ͘
Appendix ࠓճͷൃදͰͬͨσϞϓϩδΣΫτ https://github.com/kawahara/ruby-wasm-on-gas ← ຊͷεϥΠυ