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
Google Apps Script で Ruby を動かす
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shogo Kawahara
July 18, 2026
Programming
490
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
25
rspec の --tag オプションがこんなに便利だったなんて...
kawahara
0
28
Rubyで音声「データ」を作る
kawahara
0
110
データベースだけじゃないN+1とその対策
kawahara
0
1.4k
CoderDojo 千葉県総武線沿線の取り組み
kawahara
1
440
SendGrid Template Engine 奮闘記
kawahara
0
390
Other Decks in Programming
See All in Programming
GraphQL の onError と Nullability のこれから
quramy
0
130
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
270
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.6k
golang-bob.pdf
iwatsukayura
0
130
AmebaブログはKMPから卒業します
kmars0605
0
210
Seven New Principles of Software Engineering
yegor256
0
130
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
190
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
900
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Exploring anti-patterns in Rails
aemeredith
4
540
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
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 ← ຊͷεϥΠυ