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
サーバーレスな技術を使ってオフィス業務を改善した話/Improvement office op...
Search
ega4432
July 12, 2021
Technology
0
600
サーバーレスな技術を使ってオフィス業務を改善した話/Improvement office operations using Serverless technology
イベントURL:
https://serverlesslt.connpass.com/event/216765/
ega4432
July 12, 2021
Tweet
Share
More Decks by ega4432
See All by ega4432
Docker 超入門/introduction-docker
ega4432
1
130
監視についてみんなに知って欲しいこと/introductory-monitoring
ega4432
0
45
新機能紹介!CloudFront Functions を触ってみた/Tried out the new CloudFront Functions
ega4432
0
320
効率よく成長するために自分の強みを知る方法/How to know your strengths to grow efficiently
ega4432
0
77
サーバーレス初心者による 初めての AWS Lambda/The first time AWS Lambda by serverless beginners
ega4432
0
610
Other Decks in Technology
See All in Technology
EDRの検知の仕組みと検知回避について
chayakonanaika
2
680
php-conference-nagoya-2025
fuwasegu
0
110
速くて安いWebサイトを作る
nishiharatsubasa
14
15k
Active Directory攻防
cryptopeg
PRO
7
4.5k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
270
コンテナサプライチェーンセキュリティ
kyohmizu
1
110
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
130
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
140
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
260
Windows の新しい管理者保護モード
murachiakira
0
170
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
1
1.5k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Raft: Consensus for Rubyists
vanstee
137
6.8k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Language of Interfaces
destraynor
156
24k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Bash Introduction
62gerente
611
210k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Transcript
サーバーレスな技術を使って オフィス業務を改善した話 えが(@ega4432) Serverless LT 初心者向け LT 大会
防衛大卒の新卒 3 年目の Z 世代 スクラムマスター、バックエンドエンジニア AWS 、Laravel 、コンテナ、Jamstack 読書、将棋、テニス、筋トレ
えが(@ega4432) 2021 ©︎ ega4432 - Built with marp.
アジェンダ 1. 今日お話しすること 2. きっかけ・課題 3. 解決するためにやったこと 4. ハマりポイント 5.
解決策 6. まとめ サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 3
サーバーレスな技術を使って オフィス業務を改善した話 今日お話しすること 2021 ©︎ ega4432 - Built with marp.
4
今日お話しすること Google Apps Script ( GAS ) を使って総務の業務改善をした話と それを行った際のハマりポイント &
AWS を使った解決策の紹介 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 5
サーバーレスな技術を使って オフィス業務を改善した話 きっかけ・課題 2021 ©︎ ega4432 - Built with marp.
6
備品発注のフロー サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp.
7
課題① インターフェース 人によってフォーマットを逸脱してしまう可能性 都度スプレッドシートを探す手間が発生 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 -
Built with marp. 8
課題② 二重管理 用途は違うが、同じデータのスプレッドシートが 2 つ存在 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432
- Built with marp. 9
課題③ 毎週発生する定型業務 記入用 → 提出用のコピーは手動で運用 個人に依存したタスク サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎
ega4432 - Built with marp. 10
サーバーレスな技術を使って オフィス業務を改善した話 解決するために作ったもの 2021 ©︎ ega4432 - Built with marp.
11
全体像 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp.
12
① インターフェースを Slack に Slack をインターフェースにするこ とで業務中にストレスなく使用 スラッシュコマンドで呼び出し 入力モーダル表示 スキーマの統一、バリデーションが
可能に サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 13
② 記入用スプレッド シートの廃止 投稿内容の通知 記入者は自身が投稿した 内容を確認できる ログが Slack 上に残る サーバーレスな技術を使って
オフィス業務を改善し 2021 ©︎ ega4432 - Built with marp. 14
③ 定型業務をバッチ化 状況に応じて送信メッセージを動的 に変更 合計金額の算出やシートのアーカイ ブ、複製なども自動化 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎
ega4432 - Built with marp. 15
サーバーレスな技術を使って オフィス業務を改善した話 ハマりポイント 2021 ©︎ ega4432 - Built with marp.
16
ハマりポイント Slack API の 3 秒ルール Slack が HTTP リクエストを投げてから
3 秒以内に HTTP レスポン スを受け取らないとタイムアウトになる。 GAS は処理途中でレスポンスを返してしまうと後続の処理は実行さ れない。 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 17
サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 18
サーバーレスな技術を使って オフィス業務を改善した話 解決策 2021 ©︎ ega4432 - Built with marp.
19
解決策 Slack 公式 Bolt フレームワーク Slack API を使いやすくするための Node.js 製フレームワーク。
ack() という関数をサポートしており、HTTP レスポンス 200 を返 しつつ後続の処理も実行可能。 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 20
Example Code // モーダルの回答を送信した時の処理 app.view('hoge', async ({ ack, view })
=> { // この時点で HTTP 200 を返す await ack(); // 後続する重たい処理を非同期実行 await heavyJob(); }); サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 21
AWS に乗せる API Gateway + Lambda で API 化 構築には
Serverless Framework を使用 サーバーレスな技術を使って オフィス業務を改 2021 ©︎ ega4432 - Built with marp. 22
最終的な構成 サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp.
23
サーバーレスな技術を使って オフィス業務を改善した話 まとめ 2021 ©︎ ega4432 - Built with marp.
24
まとめ 身の回りの課題をどう技術で解決できるか考えるのって楽しい! 不定期な処理、何か小さく始める際サーバーレスは相性が良い Slack bot を実装する際は 3 秒ルールに気をつけよう! Bolt がソリューションを提供してくれている
サーバーレスな技術を使って オフィス業務を改善した話 2021 ©︎ ega4432 - Built with marp. 25
サーバーレスな技術を使って オフィス業務を改善した話 ご静聴ありがとうございました 2021 ©︎ ega4432 - Built with marp.
26