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
Shogo Kawahara
July 18, 2026
Programming
540
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
28
rspec の --tag オプションがこんなに便利だったなんて...
kawahara
0
29
Rubyで音声「データ」を作る
kawahara
0
110
データベースだけじゃないN+1とその対策
kawahara
0
1.5k
CoderDojo 千葉県総武線沿線の取り組み
kawahara
1
450
SendGrid Template Engine 奮闘記
kawahara
0
390
Other Decks in Programming
See All in Programming
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
160
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
300
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
Crash Auto Pipelines
veronikapj
1
390
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
150
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
SODA - FACT BOOK(EN)
sodainc
1
220
Performance Optimization With LLMs
xleitix
0
250
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
150
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Being A Developer After 40
akosma
PRO
92
590k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
930
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Designing Experiences People Love
moore
143
24k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
800
WCS-LA-2024
lcolladotor
0
980
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
WENDY [Excerpt]
tessaabrams
14
40k
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 ← ຊͷεϥΠυ