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
GAS活 #4 「Claspを用いた モダンGAS開発」
Search
takanakahiko
May 20, 2019
Technology
2
1.7k
GAS活 #4 「Claspを用いた モダンGAS開発」
takanakahiko
May 20, 2019
Tweet
Share
More Decks by takanakahiko
See All by takanakahiko
golangci-lint の enable-all で コーディングルールを明確にする試み
takanakahiko
0
40
Vivliostyle Pub の現状と課題 #vivliostyle / Current status and issues of Vivliostyle Pub
takanakahiko
0
1.7k
思いつきで実装した web-demo-suit が そこそこバズってメディアとかにも取り上げられた.pdf
takanakahiko
1
200
オタクLODをやりませんか #uzimaru生誕LT会
takanakahiko
0
110
かしこま! 女児向けアニメのLODをみんなで作ってる話
takanakahiko
0
310
学生だけど OSS 始めちゃいました
takanakahiko
3
2.5k
学生が OSS に挑戦すること
takanakahiko
0
3k
プリパラで学ぶ プログラミング(&表現の極意)
takanakahiko
0
1.8k
gas-kastu-2
takanakahiko
1
1.4k
Other Decks in Technology
See All in Technology
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
3
2.8k
Error.prototype.stack の今と未来
progfay
1
180
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
4
610
リアーキテクティングのその先へ 〜品質と開発生産性の壁を越えるプラットフォーム戦略〜 / architecture-con2025
visional_engineering_and_design
0
2.7k
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
12
5.6k
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
350
Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
tabatad
0
130
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
460
雲勉LT_Amazon Bedrock AgentCoreを知りAIエージェントに入門しよう!
ymae
1
140
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
4.6k
ローカルLLM基礎知識 / local LLM basics 2025
kishida
7
2.1k
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
1k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
For a Future-Friendly Web
brad_frost
180
10k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The Cult of Friendly URLs
andyhume
79
6.7k
A Tale of Four Properties
chriscoyier
162
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
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