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
GAS活 #4 「Claspを用いた モダンGAS開発」
Search
takanakahiko
May 20, 2019
Technology
1.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GAS活 #4 「Claspを用いた モダンGAS開発」
takanakahiko
May 20, 2019
More Decks by takanakahiko
See All by takanakahiko
golangci-lint の enable-all で コーディングルールを明確にする試み
takanakahiko
0
82
Vivliostyle Pub の現状と課題 #vivliostyle / Current status and issues of Vivliostyle Pub
takanakahiko
0
1.8k
思いつきで実装した web-demo-suit が そこそこバズってメディアとかにも取り上げられた.pdf
takanakahiko
1
220
オタクLODをやりませんか #uzimaru生誕LT会
takanakahiko
0
150
かしこま! 女児向けアニメのLODをみんなで作ってる話
takanakahiko
0
340
学生だけど OSS 始めちゃいました
takanakahiko
3
2.7k
学生が OSS に挑戦すること
takanakahiko
0
3.2k
プリパラで学ぶ プログラミング(&表現の極意)
takanakahiko
0
1.9k
gas-kastu-2
takanakahiko
1
1.5k
Other Decks in Technology
See All in Technology
20260912_スクフェス三河
kgnkhkr
0
270
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
300
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
140
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
4
1.1k
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
960
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
350
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
140
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
140
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
310
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Agile that works and the tools we love
rasmusluckow
331
22k
Making the Leap to Tech Lead
cromwellryan
135
10k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
270
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Transcript
Claspを用いた モダンGAS開発 takanakahiko @ GAS活 #4
Instructions あとで公開します ハッシュタグでTwitterにリンクを掲載します. 内容は変わるかもしれません. 再利用スライドが多いです 2回目の人はすみません... 撮影 撮影OK! 撮影ダメなスライドでは以下の表示をします. -
Cameras allowed - More info at https:/ /speakerdeck.com/takanakahiko - Please Impression to @takanakahiko 2
Hello! I am takanakahiko I like Pripara, Drawing and Programming.
Graduate Student(Grade M2) at Takushoku Univ. Work at GaiaX Co.Ltd. and Japan Digital Design, Inc. You can find me at @takanakahiko 3
GASの メリット/デメリット 悪いところを知ると,良さを引き出せる 1
GASのメリット ◉ G suiteのサービスを扱える ◉ トリガーの選択肢が多い ◉ ブラウザ上で記述できる ◉ 環境カスタマイズの必要がない
「手軽な G Suite マクロ環境」という位置づけ 5
GASのメリット ◉ G suiteのサービスを扱える ◉ トリガーの選択肢が多い ◉ ブラウザ上で記述できる ◉ 環境カスタマイズの必要がない
「手軽な G Suite マクロ環境」という位置づけ 6 注目
それは本当にメリット? ◉ ブラウザ上で記述できる ◉ 環境カスタマイズの必要がない 7 ◉ ブラウザ上でしか記述できない ◉ 環境がカスタマイズできない
Google Apps Scriptのデメリット ブラウザでしか記述できない ◉ いつものエディタで書きたい...! 環境がカスタマイズできない ◉ 古いタイプのJS ->
拡張性に難 8
GASの新しい書き方 GASは”古い技術”じゃない 2
Clasp Develop Apps Script projects locally. 10
11 Claspとは ローカル(オフライン)で書いたコードを GASにPush & Pull できるCLIツール
作業の流れ 1. ClaspとGASを連携する 2. 手元でコードを書く 3. ClaspでPushする 4. 実行する 5.
エラーがあれば2に戻る ...手間では?(いやそんなことはなく) 12
Super Awesome Tools & Utilities Clasp 13 ローカルで書くことで使える ローカルで書けるようにする Claspの有効活用
Clasp & [???] Claspは組み合わせで真価を発揮します 3
組み合わせられるツール群 ◉ Git : バージョン管理ツール ◉ ES(TS)Lint : ソースコードのチェックツール ◉
VS Code 他(Editor) : 使い慣れたエディタを ◉ TypeScript : 型を扱えるJavaScript And more ... 15
TypeScriptを使う利点(ex : VSCode) ◉ 引数をいちいち調べる必要がない ◉ エディタで補完が使えるようになる 16 createAlldayEventメソッドは こういう引数を渡すと
... こういうデータが取得できる
Usage 17 $ clasp create ◉ GASプロジェクトを作成 $ clasp push
◉ ソースコードをアップロード
DEMO • $ npx sao clasp でプロジェクト作成 ◦ 参考 :
https://www.npmjs.com/package/sao-clasp • $ clasp create --rootDir ./src でGASプロジェクト作成 • $ clasp push でソースコードのアップロード
OSSとしてのGAS GASはよりオープンに 4
ClaspはOSSです OSSとは ◉ ソースコードが公開されているソフトウェア ◉ 誰でもContribute(貢献)できます つまり ◉ Claspについて独学が可能 ◉
機能の提案や議論が可能 20
OSS貢献のすすめ ◉ OSSを使う ◉ OSSの開発に参画する 21
• Google Apps Script (GAS) の本を書きました -> • GAS流行れ流行れ.... •
GASが便利になるツールClaspを良くしよう (動機が不純すぎる) 22 きっかけ
• https:/ /github.com/google/clasp/issues/57 • 「対話形式に操作をしたいよね」というIssue 23 はじめてのContribution
• 方針が決まっているものを実装しよう! ◦ 「こうしよう」「でも手が足りない」というやつ • タイポの修正をしよう! • 質問系のIssueに対応しよう! あまり考えなくても(答えが決まってる),貢献できるやつをやる 24
スタンス
• レビューされないとマージされない仕組みがある ◦ メンテナが責任持ってレビュー • 自動でテストする仕組み ◦ CIであったりでテストが通らないとマージできない -> (一般的に)PR出すだけでは迷惑にならない
25 ミスして迷惑かけるかも?
26 1位 : Googler 2位 : Googler 3位 : ぼく
気が付いたら
Any questions ? You can find me at • @takanakahiko
•
[email protected]
Thanks! 27