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
Goでコロナ感染者数をSlackに通知するスクリプトを作ってみた/gopherdojo_lt
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hidetaka Okita
July 31, 2020
Programming
1
330
Goでコロナ感染者数をSlackに通知するスクリプトを作ってみた/gopherdojo_lt
@Gopher道場#8 LT大会&卒業式
Hidetaka Okita
July 31, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
980
CSC307 Lecture 05
javiergs
PRO
0
490
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
230
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
CSC307 Lecture 02
javiergs
PRO
1
770
MUSUBIXとは
nahisaho
0
130
CSC307 Lecture 07
javiergs
PRO
0
550
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
140
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
12
6.4k
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
660
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Visualization
eitanlees
150
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
78
Transcript
Goでコロナ感染者数をslackに通知する スクリプトを作ってみた 2020/07/31 Gopher道場#8 LT⼤会&卒業式 沖⽥ 英⾶ @hokita222
自己紹介 • 沖田英飛(hokita) • Twitter @hokita222 • 株式会社エニグモ / Backend
Engineer • Ruby on Rails 4年目 • 時々 Java / PHP / React • デグーを2匹飼っている Gopherじゃないよ、デグーだよ!
今日話すこと • Goの経験 • なぜGopher道場? • コロナ感染者数をSlackに通知するコマンド
Go経験 • 業務経験はゼロ • スクレイピングしたものをSlackに通知するスクリプト作成 • Goの技術書読んだ
なぜGopher道場? • OSS貢献のチャンスを逃した • slack-go/slack • https://github.com/slack-go/slack • Slack API用のライブラリ
• Slackの新機能を追加したかった。 • 実装は1行、だがテストが書けなかった。。 • https://github.com/slack-go/slack/pull/707/files • 独学つらい • Goらしい書き方わからない • 効率が悪い
念願のGopher道場で学ぶことができた!
corona_slack • コロナ感染者数を通知するスクリプト • https://github.com/hokita/corona_slack
仕様 • 世界のコロナ感染者数を取得できるAPIから情報をとってくる • https://disease.sh/ • 取ってくる情報は↓ • 日本の感染者数 •
世界感染者数上位国の感染者数 • 取ってきた情報をSlackに通知する • Incoming Webhook機能を利用する。 • https://api.slack.com/messaging/webhooks
動作 ←1000人超えちゃった! 通知できた! ←時々APIがtoday cases, today deathsが0を返す ときがある。
工夫したこと1 • 感染者数取得(API)とSlackへの通知を別パッケージに分けた。
工夫したこと2 • APIを叩くテスト用にモックサーバを用意した。 • Cf. http://www.inanzzz.com/index.php/post/fb0m/mocking-and-testing-http- clients-in-golang
工夫したこと3 • 環境変数からwebhook urlをセットできるようにした。
展望 • Slackへの通知を自作したい • 現在 slack-go/slack を使っている • slack-go/slack は多機能過ぎる
• モックが苦手なのを克服したい • main.goのテストとか特に苦手 • もっと大きいもの作りたい • DDD、クリーンアーキテクチャを意識したWebアプリ • gRPC 、マイクロサービス
ご清聴ありがとうございました!