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
21
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
91
かしこま! 女児向けアニメのLODをみんなで作ってる話
takanakahiko
0
300
学生だけど OSS 始めちゃいました
takanakahiko
3
2.4k
学生が OSS に挑戦すること
takanakahiko
0
2.8k
プリパラで学ぶ プログラミング(&表現の極意)
takanakahiko
0
1.7k
gas-kastu-2
takanakahiko
1
1.3k
Other Decks in Technology
See All in Technology
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
110
生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について
nwiizo
7
1k
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
120
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
150
4/17/25 - CIJUG - Java Meets AI: Build LLM-Powered Apps with LangChain4j (part 2)
edeandrea
PRO
0
120
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
180
AWSで作るセキュアな認証基盤with OAuth mTLS / Secure Authentication Infrastructure with OAuth mTLS on AWS
kaminashi
0
180
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
250
QA/SDETの現在と、これからの挑戦
imtnd
0
140
The Tale of Leo: Brave Lion and Curious Little Bug
canalun
1
130
Рекомендации с нуля: как мы в Lamoda превратили главную страницу в ключевую точку входа для персонализированного шоппинга. Данил Комаров, Data Scientist, Lamoda Tech
lamodatech
0
770
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
190
Featured
See All Featured
Making Projects Easy
brettharned
116
6.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Become a Pro
speakerdeck
PRO
27
5.3k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
A Tale of Four Properties
chriscoyier
158
23k
How STYLIGHT went responsive
nonsquared
99
5.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Navigating Team Friction
lara
184
15k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
The World Runs on Bad Software
bkeepers
PRO
67
11k
4 Signs Your Business is Dying
shpigford
183
22k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
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