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.6k
GAS活 #4 「Claspを用いた モダンGAS開発」
takanakahiko
May 20, 2019
Tweet
Share
More Decks by takanakahiko
See All by takanakahiko
golangci-lint の enable-all で コーディングルールを明確にする試み
takanakahiko
0
28
Vivliostyle Pub の現状と課題 #vivliostyle / Current status and issues of Vivliostyle Pub
takanakahiko
0
1.6k
思いつきで実装した web-demo-suit が そこそこバズってメディアとかにも取り上げられた.pdf
takanakahiko
1
190
オタクLODをやりませんか #uzimaru生誕LT会
takanakahiko
0
99
かしこま! 女児向けアニメのLODをみんなで作ってる話
takanakahiko
0
310
学生だけど OSS 始めちゃいました
takanakahiko
3
2.4k
学生が OSS に挑戦すること
takanakahiko
0
2.9k
プリパラで学ぶ プログラミング(&表現の極意)
takanakahiko
0
1.8k
gas-kastu-2
takanakahiko
1
1.4k
Other Decks in Technology
See All in Technology
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
180
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
4
1k
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
130
Introduction to Bill One Development Engineer
sansan33
PRO
0
260
「現場で活躍するAIエージェント」を実現するチームと開発プロセス
tkikuchi1002
3
380
Digitization部 紹介資料
sansan33
PRO
1
4.5k
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
0
330
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
2
940
SREのためのeBPF活用ステップアップガイド
egmc
2
1.3k
LIXIL基幹システム刷新に立ち向かう技術的アプローチについて
tsukuha
1
380
組織内、組織間の資産保護に必要なアイデンティティ基盤と関連技術の最新動向
fujie
0
280
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Embracing the Ebb and Flow
colly
86
4.8k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Code Review Best Practice
trishagee
69
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Done Done
chrislema
184
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Rails Girls Zürich Keynote
gr2m
95
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
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