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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shogo Kawahara
July 18, 2026
Programming
130
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
rspec の --tag オプションがこんなに便利だったなんて...
kawahara
0
20
Rubyで音声「データ」を作る
kawahara
0
78
データベースだけじゃないN+1とその対策
kawahara
0
1.4k
CoderDojo 千葉県総武線沿線の取り組み
kawahara
1
430
SendGrid Template Engine 奮闘記
kawahara
0
380
Other Decks in Programming
See All in Programming
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
140
What's New in Android 2026
veronikapj
0
250
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
200
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
310
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
290
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
FDEが実現するAI駆動経営の現在地
gonta
2
270
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.9k
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
170
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
240
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
Side Projects
sachag
455
43k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How to Ace a Technical Interview
jacobian
281
24k
Amusing Abliteration
ianozsvald
1
240
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
Everyday Curiosity
cassininazir
0
270
GraphQLとの向き合い方2022年版
quramy
50
15k
Utilizing Notion as your number one productivity tool
mfonobong
4
510
Building an army of robots
kneath
306
46k
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 ← ຊͷεϥΠυ