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.5k
GAS活 #4 「Claspを用いた モダンGAS開発」
takanakahiko
May 20, 2019
Tweet
Share
More Decks by takanakahiko
See All by takanakahiko
golangci-lint の enable-all で コーディングルールを明確にする試み
takanakahiko
0
10
Vivliostyle Pub の現状と課題 #vivliostyle / Current status and issues of Vivliostyle Pub
takanakahiko
0
1.5k
思いつきで実装した web-demo-suit が そこそこバズってメディアとかにも取り上げられた.pdf
takanakahiko
1
170
オタクLODをやりませんか #uzimaru生誕LT会
takanakahiko
0
70
かしこま! 女児向けアニメのLODをみんなで作ってる話
takanakahiko
0
270
学生だけど OSS 始めちゃいました
takanakahiko
3
2.2k
学生が OSS に挑戦すること
takanakahiko
0
2.7k
プリパラで学ぶ プログラミング(&表現の極意)
takanakahiko
0
1.6k
gas-kastu-2
takanakahiko
1
1.3k
Other Decks in Technology
See All in Technology
RAGHack: Building RAG apps in Python
pamelafox
0
150
PdMはどのように全てのスピードを上げられるか ~ 非連続進化のための具体的な取り組み ~
sansantech
PRO
1
140
より快適なエラーログ監視を目指して
leveragestech
3
950
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
1
180
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
440
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
130
デジタル化・DX推進あるある
y150saya
0
240
20240912 JJUGナイトセミナー
mii1004
0
110
waitany と waitall を作った話
mrkn
0
120
効果的なオンコール対応と障害対応
ryuichi1208
4
2.4k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2024/6 - 2024/8
oracle4engineer
PRO
0
100
FastConnect の冗長性
ocise
0
7.2k
Featured
See All Featured
Building an army of robots
kneath
302
42k
Testing 201, or: Great Expectations
jmmastey
36
7k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Into the Great Unknown - MozCon
thekraken
28
1.4k
What's new in Ruby 2.0
geeforr
340
31k
The Cost Of JavaScript in 2023
addyosmani
41
5.2k
Debugging Ruby Performance
tmm1
72
12k
Agile that works and the tools we love
rasmusluckow
327
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Building Applications with DynamoDB
mza
89
6k
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