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
なるべく自動化頑張ったLINE BOT on AWS
Search
pep299
June 24, 2022
Technology
0
75
なるべく自動化頑張ったLINE BOT on AWS
pep299
June 24, 2022
Tweet
Share
More Decks by pep299
See All by pep299
シークレットを漏らしてしまった話 / secret-key-exposed
pep299
0
27
Playwright for PythonではじめるE2Eテスト / Lets start e2e-test with playwright for python
pep299
0
680
プレイングマネージャーの葛藤 / The Conflict of a Playing Manager
pep299
1
2.6k
will・canマトリクスで自己分析してみた / Self-analysis with will-can matrix
pep299
0
230
そうだ Firebase Remote Config、使おう / let use Firebase Remote Config
pep299
0
49
Other Decks in Technology
See All in Technology
require(ESM)とECMAScript仕様
uhyo
4
960
Rustで「プリズモイダル法」を利用して「土量計算」をガチでやる
nokonoko1203
1
300
Cloud Service Mesh に触れ合う
phaya72
1
180
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
IPUT App Dev. Co. -Overview 2024/4
iputapp
0
120
開発パフォーマンスを最大化するための開発体制
ham0215
7
1.1k
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
140
認知症フレンドリーテックとスタックチャン
naokiuc
0
180
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
150
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.2k
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
620
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.6k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Writing Fast Ruby
sferik
622
60k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Building Applications with DynamoDB
mza
88
5.6k
What's new in Ruby 2.0
geeforr
337
31k
Why Our Code Smells
bkeepers
PRO
331
56k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Bash Introduction
62gerente
605
210k
Designing with Data
zakiwarfel
96
4.8k
Into the Great Unknown - MozCon
thekraken
14
1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
Transcript
「なるべく自動化頑張ったLINE BOT on AWS」 ぺぺ@Pep299 1
目次 自己紹介 開発の動機 システムフロー アーキテクチャ 開発・デプロイフロー docs周り 言語・ライブラリ まとめ 2
自己紹介 ぺぺ@Pep299 https://twitter.com/Pep299 情報系学士卒 エンジニア歴7年目 SES(金融系)-> フリーランス -> Web系受託 ->
Web系自社サ Open Source Conference 2021 Kyoto 登壇 東京都 新型コロナウイルス感染症対策サイトのコントリビュート ゲーム(Dead By Daylight、Among Us、ボードゲーム)・ブレイクダンス 3
開発の動機 あるアカウントのTweetを取捨選択して LINEグループに通知したい ノイズをフィルタして有益情報のみ通知 コミュニケーションの発端 Tweetの傾向に合わせてフィルタをちょこちょこ調整したい フィルタ調整以外は自動化したい、デプロイとか CI/CDとかIaC(Infrastructure as Code)周りのキャッチアップ
4
システムフロー 5
アーキテクチャ メール通知 Amazon SNS 定時起動 Amazon EventBridge LINE Group/TalkRoom id
の追加・削除 ログ出⼒ LINE Group/TalkRoom id の取得 メッセージ送信 ツイートの取得 Lambda Amazon S3 エラー通知 Amazon CloudWatch ログ出⼒ Lambda webhook 送信 6
開発・デプロイフロー Renovate Developer GitHub Actions GitHub AWS STS AWS CDK
Amazon S3 AWS CFn AWS System Manager 7
docs周り システムフロー: mermaid.js 8
docs周り アーキテクチャ図: drawio 9
言語・ライブラリ - BOT IaC 言語 Python TypeScript パッケージ管理 poetry npm
静的解析 flake8, mypy black, isort eslint prettier テストランナー pytest jest タスクランナー makefile npm-script 自動テスト LINE, Twitterリクエストはモック AWSリクエストはmotoでモック snapshotテスト 10
まとめ 狙い通りコミュニケーション増えた ちょっとした修正が楽にできる 正直オーバーエンジニアリング Zapier + LINE notify + Twitterとかノーコードで多分できる
11
リンク Repository: https://github.com/pep299/dbd_line_bot 図の修正PR例: https://github.com/pep299/dbd_line_bot/pull/61/files テストコード: https://github.com/pep299/dbd_line_bot/tree/main/app/tests 12