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
94
0
Share
なるべく自動化頑張ったLINE BOT on AWS
pep299
June 24, 2022
More Decks by pep299
See All by pep299
シークレットを漏らしてしまった話 / secret-key-exposed
pep299
0
76
Playwright for PythonではじめるE2Eテスト / Lets start e2e-test with playwright for python
pep299
0
1.2k
プレイングマネージャーの葛藤 / The Conflict of a Playing Manager
pep299
1
3.4k
will・canマトリクスで自己分析してみた / Self-analysis with will-can matrix
pep299
0
580
そうだ Firebase Remote Config、使おう / let use Firebase Remote Config
pep299
0
99
Other Decks in Technology
See All in Technology
ハーネスエンジニアリング入門
knishioka
0
110
Shipping AI Agents — Lessons from Production
vvatanabe
0
320
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
170
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
210
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
3.5k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
7.9k
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
3
220
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
360
20260428_Product Management Summit_tadokoroyoshiro
tadokoro_yoshiro
15
18k
もっとコンテンツをよく構造化して理解したいので、LLM 時代こそ Taxonomy の設計品質に目を向けたい〜!
morinota
0
170
Forget technical debt
ufried
0
160
Digital Independence: Why, When and How
wannesrams
0
280
Featured
See All Featured
Side Projects
sachag
455
43k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
BBQ
matthewcrist
89
10k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
790
Building Adaptive Systems
keathley
44
3k
Bash Introduction
62gerente
615
210k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
380
Navigating Weather and Climate Data
rabernat
0
180
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