SlideShare a Scribd company logo
1 of 59
仕込み1
GASプロジェクトを
つくる
1
#WESEEK_tech
仕込み1 GASプロジェクトを作る
2
ここ
#WESEEK_tech
仕込み1 GASプロジェクトを作る
● 下記URLにアクセス
○ https://drive.google.com/drive/folders/1Wg34qvuCkRIMSL
wO2L32YK6NbBk_3WSV?usp=sharing
● 「超簡易版Tickrec向け勤怠シート」の「コピー
を作成」
● コピーしたspreadsheetを開く
3
#WESEEK_tech
仕込み1 GASプロジェクトを作る
● Spreadsheetの「ツール」から「スクリプト エ
ディタ」を開く
● GASプロジェクトのTitleを変更する
4
仕込み1 Clear!!
5
STEP.1
GASで打刻する
6
#WESEEK_tech
STEP1 GASで打刻する
● ゴール
○ スクリプトエディタで関数を実行して、打
刻(開始時刻・終了時刻)ができる
● 実装する関数
○ recordAttendance()
■ 日付と開始時刻を記録する
○ recordLeaving()
■ 終了時刻を記録する
7
#WESEEK_tech
STEP1 GASで打刻する
8
ここ
#WESEEK_tech
STEP1 GASで打刻する
● あらかじめ仕込んでおいたコードがこちら
○ https://gist.github.com/kainosuke/e7454d60c0bab4d8651d271a99c2c3
fe
○ GAS_step1.gs というファイル
9
#WESEEK_tech
STEP1 GASで打刻する
● GASのタイムゾーンを設定する
● 古いスクリプトエディタへ切り替えて設定する
10
#WESEEK_tech
STEP1 GASで打刻する
● エディタにコピペしよう
● エディタの「実行」機能で動かしてみよう
11
実行する
functionを選択
#WESEEK_tech
STEP1 GASで打刻する
● 初回実行時にアクセス権限の許可が必要
12
#WESEEK_tech
STEP1 GASで打刻する
● GASでSpreadsheetを操作するには
○ Spreadsheet Serviceを使用する
■ 書き込み対象のセルの特定
■ セルに書き込み
■ 等々
○ see: https://developers.google.com/apps-script/reference/spreadsheet
● GASでログを出力するには
○ Loggerを使用する
○ エディタの実行ログで見られる
○ see: https://developers.google.com/apps-script/guides/logging
● サンプルコードでは、どのセルを選択しているか
ログ出力してある
○ 実行ログを見れば動きが分かる
13
STEP1 Clear!!
14
仕込み2
Slack Appを
つくる
15
#WESEEK_tech
仕込み2 Slack Appをつくる
16
ここ
#WESEEK_tech
仕込み2 Slack Appをつくる
● slack api の apps page で新規作成する
○ https://api.slack.com/apps
17
#WESEEK_tech
仕込み2 Slack Appをつくる
● App Nameを入力する
● App開発に使うworkspaceを選ぶ
18
#WESEEK_tech
仕込み2 Slack Appをつくる
● DM書き込みに必要な権限を設定する
19
#WESEEK_tech
仕込み2 Slack Appをつくる
● DM書き込みに必要な権限を設定する
20
#WESEEK_tech
仕込み2 Slack Appをつくる
● DM書き込みに必要な権限を設定する
○ Bot Token Scopes
■ chat:write
■ im:write
21
権限を追加する
#WESEEK_tech
仕込み2 Slack Appをつくる
● 指定した権限をworkspaceからAppに付与する
22
#WESEEK_tech
仕込み2 Slack Appをつくる
● 指定した権限をworkspaceからAppに付与する
23
#WESEEK_tech
仕込み2 Slack Appをつくる
● 成功!
● workspaceのAppに追加される
24
#WESEEK_tech
仕込み2 Slack Appをつくる
● 成功!
● Bot User OAuth Token が発行される
○ GASから投稿するときの認証鍵として使う
25
仕込み2 Clear!!
26
STEP.2
GASでSlackに
投稿する
27
#WESEEK_tech
STEP2 GASでSlackに投稿する
● ゴール
○ スクリプトエディタで関数を実行して、
SlackにDM投稿ができる
● 実装する関数
○ postSampleSlackDM()
■ 仮の文言でDM投稿する
28
#WESEEK_tech
STEP2 GASでSlackに投稿する
29
ここ
#WESEEK_tech
STEP2 GASでSlackに投稿する
● あらかじめ仕込んでおいたコードがこちら
○ https://gist.github.com/kainosuke/e7454d60c0bab4d8651d271a99c2c3
fe
○ GAS_step2.gs というファイル
○ コピペして既存のコードを全部上書きする
こと
● 2つのパラメータを設定する
○ Bot User OAuth Token
■ Slackに投稿するのに必要
○ Slack User ID
■ DM相手を特定するのに必要
30
#WESEEK_tech
STEP2 GASでSlackに投稿する
● システム環境ごとに変わるパラメーターは、GAS
のプロパティに設定するのが良い
○ コードと分離する
● プロパティの編集は古いスクリプトエディタへの
切替が必要
31
#WESEEK_tech
STEP2 GASでSlackに投稿する
● システム環境ごとに変わるパラメーターは、GAS
のプロパティに設定するのが良い
○ コードと分離する
● プロパティの編集は古いスクリプトエディタへの
切替が必要
32
#WESEEK_tech
STEP2 GASでSlackに投稿する
● slackBotUserOAuthToken に Bot User
OAuth Token を入力
33
行を追加して
プロパティ名を入力
#WESEEK_tech
STEP2 GASでSlackに投稿する
● slackDMUserId にSlackの自分のメンバーID
を入力
34
行を追加して
プロパティ名を入力
#WESEEK_tech
● 「新しいエディタを使用」をクリックして新エ
ディタに戻る
● エディタの「実行」機能で動かしてみよう
○ アクセス権限の追加許可が必要
35
実行する
functionを選択
STEP2 GASでSlackに投稿する
#WESEEK_tech
● GASから外部(Slack API)にHTTP Requestをす
るには
○ UrlFetchApp classを使う
○ see: https://developers.google.com/apps-
script/reference/url-fetch/url-fetch-app
● GASのプロパティに設定した値を参照するには
○ Properties Serviceを使って参照する
○ see: https://developers.google.com/apps-
script/guides/properties
36
STEP2 GASでSlackに投稿する
#WESEEK_tech
● Slackに投稿するには
○ chat.postMessage APIを使う
○ see: https://api.slack.com/methods/chat.postMessage
● 投稿内容を定義するには
○ Block Kitを使う
■ see: https://api.slack.com/block-kit
○ Block Kit Builderで試行錯誤
■ see: https://app.slack.com/block-kit-builder/
37
STEP2 GASでSlackに投稿する
STEP2 Clear!!
38
STEP.3
Slackの操作で
GASを動かす
39
#WESEEK_tech
● ゴール
○ スクリプトエディタで関数を実行して、
Slackにボタンを表示できる
○ ボタンを押すと、GASが応答してSlackに
新しい投稿ができる
● 実装する関数
○ postSampleSlackDM()
■ Slackにボタンを表示する
○ doPost()
■ GASのWebアプリ機能で使用する特
別な関数
■ Slackからの通知を受けて必要な処
理をする
40
STEP3 Slackの操作でGASを動かす
#WESEEK_tech
41
STEP3 Slackの操作でGASを動かす
ここ
#WESEEK_tech
● あらかじめ仕込んでおいたコードがこちら
○ https://gist.github.com/kainosuke/e7454d60c0bab4d8651d271a99c2c3
fe
○ GAS_step3.gs というファイル
○ コピペして既存のコードを全部上書きする
こと
42
STEP3 Slackの操作でGASを動かす
#WESEEK_tech
STEP3 Slackの操作でGASを動かす
● Web アプリとしてデプロイする
43
#WESEEK_tech
STEP3 Slackの操作でGASを動かす
● Web アプリとしてデプロイする
○ 説明を入力
○ 「次のユーザーとして実行」を自分にする
○ 「アクセスできるユーザー」を全員にする
44
#WESEEK_tech
● デプロイするとURLが表示される
45
STEP3 Slackの操作でGASを動かす
#WESEEK_tech
● Slack App の Interactivity を ONにする
● Request URLにGASのWebアプリのURLを設定
する
46
STEP3 Slackの操作でGASを動かす
#WESEEK_tech
● エディタの「実行」機能で動かしてみよう
○ postSampleSlackDM()
● Slackに表示されたボタンを押してみよう
47
STEP3 Slackの操作でGASを動かす
#WESEEK_tech
● Slackに投稿したボタンを押したことを外部
(GAS)に通知するには
○ interaction payloads機能がある
■ 今回は block_actions payloads を
使用した
○ see: https://api.slack.com/interactivity
● interaction payloadsにリアクション(投稿)する
には
○ response_url宛にPOSTする
○ response_urlはinteraction payloadsに
含まれる
○ 認証処理が不要な一時的なURL
48
STEP3 Slackの操作でGASを動かす
#WESEEK_tech
● GASで外部(Slack)からのHTTP Requestを受け
るには
○ Webアプリ機能を使う
○ HTTP GET method は doGet() function
が call される
○ HTTP POST method は doPost()
function が call される
○ see: https://developers.google.com/apps-script/guides/web
● HTTP Requestのresponse内容を指定するにはす
るには
○ Content Serviceを使用する
○ see: https://developers.google.com/apps-
script/guides/content
49
STEP3 Slackの操作でGASを動かす
STEP3 Clear!!
50
STEP.4
Slackで打刻する
51
#WESEEK_tech
STEP4 Slackで打刻する
● ゴール
○ スクリプトエディタで関数を実行して「出
勤」ボタンをSlackに表示できる
○ 「出勤」ボタンを押してSpreadsheetに開
始時刻を記録できる
○ 開始時刻の記録に成功したら「退勤」ボタ
ンをSlackに表示できる
○ 「退勤」ボタンを押してSpreadsheetに終
了時刻を記録できる
52
#WESEEK_tech
STEP4 Slackで打刻する
53
ここ
#WESEEK_tech
STEP4 Slackで打刻する
● 必要な要素はSTEP3までに全て揃った
● 後は既存コードを組み合わせたり、少し改変する
だけ!
● あらかじめ仕込んでおいたコードがこちら
○ https://gist.github.com/kainosuke/e7454d60c0bab4d8651d271a99c2c3
fe
○ GAS_step4.gs というファイル
○ Webアプリの再デプロイを忘れずに
■ 最新のコードをWebアプリ機能に反
映するには、毎回デプロイが必要
● エディタの「実行」機能で動かしてみよう
○ postSampleSlackDM()
● Slackに表示されたボタンを押してみよう
54
#WESEEK_tech
STEP4 Slackで打刻する
● postSampleSlackDM()
○ 出勤ボタンを投稿
○ STEP3のコードから変更なし
● doPost()
○ 出勤ボタンが押された場合
■ recordAttendance()を実行
● 出勤時刻を入力
● STEP1のコードから変更なし
■ 応答を投稿する
● 退勤ボタンを投稿
● STEP3の文章投稿からボタン投稿に変更
○ 退勤ボタンが押された場合
■ recordLeaving()を実行
● 退勤時刻を入力
● STEP1のコードから変更なし
■ 応答を投稿する
● 出勤ボタンを投稿
● postSampleSlackDM()からパクる
55
STEP4 Clear!!
56
Complete!!
57
#WESEEK_tech
まとめ
● 「これなら作れそう」は感じられましたか?
● GAS + Slack App は用途が応用できる
○ 勤怠入力
○ 家計簿
○ Slack面白発言集
○ 等々
58
質疑応答
59

More Related Content

What's hot

Linkage of gulp & sketch
Linkage of gulp & sketchLinkage of gulp & sketch
Linkage of gulp & sketchrootage-inc
 
GitBucketPlugin@2014忘年度会
GitBucketPlugin@2014忘年度会GitBucketPlugin@2014忘年度会
GitBucketPlugin@2014忘年度会Kiyotaka Kunihira
 
Visual studio2013からGithubへPushする方法
Visual studio2013からGithubへPushする方法Visual studio2013からGithubへPushする方法
Visual studio2013からGithubへPushする方法Takuya Kawabe
 
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...Hidenori Takeshita
 
Github基礎 | [FLEXER Project]
Github基礎 | [FLEXER Project]Github基礎 | [FLEXER Project]
Github基礎 | [FLEXER Project]Mitsumasa Yamaga
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しようHirokazu Tokuno
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution HowtoAkihiro Motoki
 
2015年にpublishしたnpm modules
2015年にpublishしたnpm modules2015年にpublishしたnpm modules
2015年にpublishしたnpm modulesRyo Iinuma
 
Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測Shigeki Yamato
 
Google App Engine で ChatOps やっていき
Google App Engine で ChatOps やっていきGoogle App Engine で ChatOps やっていき
Google App Engine で ChatOps やっていきSatoru Takanami
 
Gradle task with kotlin
Gradle task with kotlinGradle task with kotlin
Gradle task with kotlin史也 久米
 

What's hot (14)

Linkage of gulp & sketch
Linkage of gulp & sketchLinkage of gulp & sketch
Linkage of gulp & sketch
 
GitBucketPlugin@2014忘年度会
GitBucketPlugin@2014忘年度会GitBucketPlugin@2014忘年度会
GitBucketPlugin@2014忘年度会
 
Visual studio2013からGithubへPushする方法
Visual studio2013からGithubへPushする方法Visual studio2013からGithubへPushする方法
Visual studio2013からGithubへPushする方法
 
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
 
Github基礎 | [FLEXER Project]
Github基礎 | [FLEXER Project]Github基礎 | [FLEXER Project]
Github基礎 | [FLEXER Project]
 
Gopenflow demo v1
Gopenflow demo v1Gopenflow demo v1
Gopenflow demo v1
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution Howto
 
2015年にpublishしたnpm modules
2015年にpublishしたnpm modules2015年にpublishしたnpm modules
2015年にpublishしたnpm modules
 
Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測
 
Google App Engine で ChatOps やっていき
Google App Engine で ChatOps やっていきGoogle App Engine で ChatOps やっていき
Google App Engine で ChatOps やっていき
 
Git GUI
Git GUIGit GUI
Git GUI
 
てすと
てすとてすと
てすと
 
Gradle task with kotlin
Gradle task with kotlinGradle task with kotlin
Gradle task with kotlin
 

Similar to あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert2)

CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜Masaya Aoyama
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kazuhito Matsuda
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersSpring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersTakuma Watabiki
 
NuGet でゲット! Visual Studio パッケージ マネージャ―概要
NuGet でゲット! Visual Studio パッケージ マネージャ―概要NuGet でゲット! Visual Studio パッケージ マネージャ―概要
NuGet でゲット! Visual Studio パッケージ マネージャ―概要Akira Inoue
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章Ken SASAKI
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalkSho Yoshida
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング幸雄 村上
 
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境についてKazuhiro Hara
 
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版VirtualTech Japan Inc./Begi.net Inc.
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するAtsushi Tadokoro
 
LabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideLabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideYusuke Tochigi
 
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on LinuxTakayoshi Tanaka
 
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdfAkihiro Suda
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ poolmookjp
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウTakeshi Mikami
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! Koji Shiraishi
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編kimulla
 

Similar to あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert2) (20)

CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersSpring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
 
NuGet でゲット! Visual Studio パッケージ マネージャ―概要
NuGet でゲット! Visual Studio パッケージ マネージャ―概要NuGet でゲット! Visual Studio パッケージ マネージャ―概要
NuGet でゲット! Visual Studio パッケージ マネージャ―概要
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalk
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング
 
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について
 
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
 
LabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideLabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training Slide
 
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
 
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ pool
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発!
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 

More from WESEEKWESEEK

GROWI Users Meetup #2
GROWI Users Meetup #2GROWI Users Meetup #2
GROWI Users Meetup #2WESEEKWESEEK
 
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】WESEEKWESEEK
 
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】WESEEKWESEEK
 
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)WESEEKWESEEK
 
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】WESEEKWESEEK
 
React でフォームをスマートに実装する【weseek tech conf #11】
React でフォームをスマートに実装する【weseek tech conf #11】React でフォームをスマートに実装する【weseek tech conf #11】
React でフォームをスマートに実装する【weseek tech conf #11】WESEEKWESEEK
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】WESEEKWESEEK
 
SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】
SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】
SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】WESEEKWESEEK
 
企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】
企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】
企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】WESEEKWESEEK
 
実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】
実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】
実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】WESEEKWESEEK
 
SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】
SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】
SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】WESEEKWESEEK
 
普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】
普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】
普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】WESEEKWESEEK
 
SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】
SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】
SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】WESEEKWESEEK
 
もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】
もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】
もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】WESEEKWESEEK
 
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】WESEEKWESEEK
 
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】WESEEKWESEEK
 

More from WESEEKWESEEK (16)

GROWI Users Meetup #2
GROWI Users Meetup #2GROWI Users Meetup #2
GROWI Users Meetup #2
 
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
 
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
 
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
 
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
 
React でフォームをスマートに実装する【weseek tech conf #11】
React でフォームをスマートに実装する【weseek tech conf #11】React でフォームをスマートに実装する【weseek tech conf #11】
React でフォームをスマートに実装する【weseek tech conf #11】
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
 
SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】
SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】
SVG今昔物語『画像ファイル、なんでもよくないですか?』【WESEEK Tech Conf #9】
 
企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】
企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】
企業を超えたアジャイル+Railsを利用した開発の成功事例【WESEEK Tech Conf #8】
 
実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】
実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】
実践Node.jsパフォーマンスアップ~Stream編~【WESEEK Tech Conf #7】
 
SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】
SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】
SaaS運用での大障害の思い出と対策の共有(大噴火編)【WESEEK Tech Conf #6】
 
普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】
普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】
普遍的そして実践的! ノンデザイナーのためのデザイン原論 【WESEEK Tech Conf #5】
 
SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】
SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】
SaaS運用での大障害の思い出と対策の共有(中噴火編)【WESEEK Tech Conf #4】
 
もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】
もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】
もう知らずにはいられないGitOpsをArgoCDで学ぶ【WESEEK Tech Conf #3】
 
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
 
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
 

あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert2)

Editor's Notes

  1. GASのプロパティに設定した値はProperties Serviceを使う see: https://developers.google.com/apps-script/guides/properties