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
80
なるべく自動化頑張ったLINE BOT on AWS
pep299
June 24, 2022
Tweet
Share
More Decks by pep299
See All by pep299
シークレットを漏らしてしまった話 / secret-key-exposed
pep299
0
48
Playwright for PythonではじめるE2Eテスト / Lets start e2e-test with playwright for python
pep299
0
860
プレイングマネージャーの葛藤 / The Conflict of a Playing Manager
pep299
1
2.8k
will・canマトリクスで自己分析してみた / Self-analysis with will-can matrix
pep299
0
350
そうだ Firebase Remote Config、使おう / let use Firebase Remote Config
pep299
0
63
Other Decks in Technology
See All in Technology
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
300
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
260
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
180
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
170
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
160
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
150
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
13k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
The Cult of Friendly URLs
andyhume
78
6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
Agile that works and the tools we love
rasmusluckow
327
21k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Designing for Performance
lara
604
68k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Rails Girls Zürich Keynote
gr2m
94
13k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Why Our Code Smells
bkeepers
PRO
334
57k
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