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
TechBash Slack Reaction Award
Search
Hirokazu Maruta
December 25, 2019
Technology
0
45
TechBash Slack Reaction Award
giftee slack reaction award
Hirokazu Maruta
December 25, 2019
Tweet
Share
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
120
わかった気になるチューリングマシン
mochisuna
0
48
Elementary algorithm
mochisuna
0
27
ssh-dynamic-forward
mochisuna
0
61
ServerlessFramework-Trello
mochisuna
0
30
techbash-clasp
mochisuna
0
90
vuejs-night-publish
mochisuna
0
1.1k
surprise-lt-for-intern-vol-2
mochisuna
0
55
docker-multi-stage-build
mochisuna
0
170
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
230
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
420
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
240
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
620
Greatest Disaster Hits in Web Performance
guaca
0
250
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
570
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
Featured
See All Featured
We Are The Robots
honzajavorek
0
160
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
How to Ace a Technical Interview
jacobian
281
24k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Are puppies a ranking factor?
jonoalderson
1
2.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Transcript
gifteeϦΞΫγϣϯԦܾఆઓ ૯ׅ SaaS div. Engineer·Δͨ
gifteeϦΞΫγϣϯԦܾఆઓ ૯ׅ SaaS div. Engineer·Δͨ දͱ͔దͰ͍͍ͩΖ
ͪΐͬͱલͷ͜ͱ
ϥϯνͰण࢘ʹ ߦͬͨ࣌ͷ
None
ϥϯνͰण࢘
ѱ͘ͳ͍
Ͱ
ΠΫϥͩͳʔ
͢Έ·ͤΜ
ΠΫϥ
ผͷʹ͍ͯͩ͘͠͞
ผͷʹ͍ͯͩ͘͠͞ ʔ͍
ʢػதʣ
͍͓ͪ
None
നࢠɾɾɾ
ͬͱϋʔυϧ͕ ্͕ͬͨΜ͚ͩͲ
Կ͕ݴ͍͍͔ͨ
͜ͷձࣾͰ ҙ֎ͱ໘ന͍͜ͱ͕ ى͍ͬͯ͜Δ
Λ୳ͤ ͬͱ໘ന͍͜ͱ͕ ݟ͔ͭΔ͔
Slackͷશνϟϯωϧ͔Β ϦΞΫγϣϯԦΛूܭͨ͠ SaaS div. Engineer·Δͨ
ࣗݾհ • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • giftee.co SaaSνʔϜΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ɻ • githubɿ @mochisuna https://github.com/mochisuna
ࣗݾհ • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • giftee.co SaaSνʔϜΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ɻ • githubɿ @mochisuna https://github.com/mochisuna
ࣗݾհ • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • giftee.co SaaSνʔϜΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ɻ • githubɿ @mochisuna https://github.com/mochisuna
ٕज़໘
͢͜ͱ • ͳʹΛͬͨͷ • Ͳ͏ͬͨͷ • ࠔΓ͝ͱͱ͔ॴײͱ͔ • Γ͍ͨ͜ͱ •
·ͱΊ
ͳʹΛͬͨͷʁ
શSlackνϟϯωϧΛूܭͨ͠ • PublicνϟϯωϧͷΈʢ伴͍ͭͯͳ͍ͭʣ • ΦʔϓϯɾΫϩʔζؔͳ͠ • 2019/01/01 00:00:00.00(JST)͕ج४ • 2019ͷΫϦεϚεʹ݁ՌΛߘࡁʢ#historyʣ
ࣄͷൃ
None
໘നͦ͏
ɹɹͱ͍ͬͯ͠ Έ͍ͨͩ͠Զ͕Ζ͏
੍ݶ͖ͷ ूܭͰ͍͍͚Ͳ
શνϟϯωϧ ूܭͯ͠ΈΔ͔
Ͳ͏ͤͳΒ ָ͘͠ूܭ͠Α͏
slackϦΞΫγϣϯେ gifteeΧοϓΛ։࠵
3ͭͷ෦Ͱूܭ 1. Ұ൪ϦΞΫγϣϯͷݸΛूΊͨߘ 2. Ұ൪ϦΞΫγϣϯͷछྨΛूΊͨߘ 3. Ұ൪ΦϞϩͷϦΞΫγϣϯΛूΊͨߘ ӫޫ୭ͷखʹʂʁ
1. ϦΞΫγϣϯͷݸ ͱʹ͔͘ࢁϦΞΫγϣϯ͕͍ͭͨΒউͪ • ͕2ݸ͍ͭͨΒ2Pt • ͱ ͕ҰͭͣͭͰ2Pt • ࣮࣭άϥϯϓϦ
2. ϦΞΫγϣϯͷछྨ ݸؔͳ͍ • ͚͕ͩࢁ͍ͭͯ1Pt • ٯʹ1ݸͮͭҟͳΔϦΞΫγϣϯ͕͍ͭͯΔํ͕ ߴ͍ಘʹͳΔ • ࠓճҰ൪Βͳ͖ΌΑ͔ͬͨ
3. ΦϞϩ ΦϞϩͷΈશ෦ूܭ ←ΦϞϩ • #reacji_omoroͷର • શ෦1Pt • ͋Ε͋Δఔྑ͍
Ͳ͏ͬͯͬͯΔͷʁ
Slack API • SlackެࣜAPI • https://api.slack.com/ • ެࣜAPIΛϥοϓͨ͠ϥΠϒϥϦ • https://github.com/nlopes/slack
جຊߏ ΅͘ͷͺͦ͜Μ
جຊߏ ΅͘ͷͺͦ͜Μ ᶃࢀর
جຊߏ ΅͘ͷͺͦ͜Μ ᶃࢀর ᶄूܭ
جຊߏ ΅͘ͷͺͦ͜Μ ᶃࢀর ᶄूܭ ᶅߘ
ͱͬͯγϯϓϧ
ݫີʹ͏ͪΐ͍ෳࡶ ϦΫΤετ͋ͨΓͷ੍ • ̍νϟϯωϧͷΈ • ࠷େ1000݅·Ͱ͔͠औಘͰ͖ͳ͍ ɹ→ظؒΛܾΊͯϖʔδϯά • ࿈ଓ͗͢Δͱ੍ݶ͕͔͔ΔʢṖ੍ʣ
ݫີʹ • ϦΫΤετ͋ͨΓͷ੍ • ̍νϟϯωϧͷΈ • ࠷େ1000݅·Ͱ͔͠औಘͰ͖ͳ͍ ɹ→ظؒΛܾΊͯϖʔδϯά ͜ΕΛෳճΔ ᶃࢀর
ͱͬͯγϯϓϧ
Ͱ͜͜ͰͰ͢
887 ͜ͷࣈԿͰ͠ΐ͏ʁ
͑
ूܭରͷνϟϯωϧ
ͪͳΈʹϖʔδϯάճ ࠷େ12ճͱ͔͋Δɻ
ͪͳΈʹϖʔδϯάճ ࠷େ12ճͱ͔͋Δɻ ͔͠ෳ͋Δɻ
ͪͳΈʹ
ूܭͨ͠શߘ
1,069,277ݸ
୯७ʹճͨ͠Βॲཧ͕ऴΘΒΜ
ͨͤͨͳ ʼɹ ϑϦ͕͐Α
͕݅ଟ͗͢Δ • ྻܭࢉݫ͍͠ ɹ→ ฒߦʹҰؾʹย͚͍ͨ • ͱ͍͏ࣄͰGoΛબఆʢૣ͍ˍฒߦॲཧʣ • ͘͠ཁ݅Ͱٕज़બఆͨ͠ؾ͕͢Δ
࡞ͬͨͷ https://github.com/mochisuna/slack-reaction-award
ϩδοΫ 1. slackνϟϯωϧҰཡऔಘ 2. ฒྻʹ֤νϟϯωϧͷϝοηʔδΛऔಘ 3. औಘ݁ՌΛॱ࣍ύʔε 4. ϝοηʔδ͕શ෦औಘͰ͖Δ·Ͱػ 5.
ूܭˠߘ
ਤͰॻ͘ ᶃget channel
ਤͰॻ͘ ᶃget channel ᶄpush channel ᶅeach channel
ਤͰॻ͘ ᶃget channel ᶄpush channel ᶅeach channel ᶆget messages (parallel)
ਤͰॻ͘ ᶃget channel ᶄpush channel ᶅeach channel ᶆget messages (parallel)
ᶇpush messages ᶈparse / aggregate
ॴײ
ࠔͬͨͱ͜Ζʢgoroutineܥʣ 1. όέπϦϨʔ͠·ͬͯ͘Δͱ಄͕͓͔͘͠ͳΔ • ͲͷchannelʹಥͬࠐΊྑ͍Μ͚ͩͬʁ • ࠓͲ͕͜waitͯ͠Μͷ͞ • MutexͲ͜ʹೖΕΔʁ 2.
ϘτϧωοΫ͕Θ͔Γʹ͘͘ͳΔ • ົʹॲཧ͕͍ϓϩηε͕͋Δͧʁ
ࠔͬͨͱ͜Ζʢslackܥʣ 1. SlackAPIͷ༷͕ඍົʹΘ͔Γʹ͍͘ • Ͳͷ͙Β͍ͷϦΫΤετͰ੍ݶ͔͔Δʁ • ࠷ऴతʹ੍ݶͱ͔ແࢹͯ͛͠·ͬͯ͘Δ
ࠔͬͨͱ͜Ζʢslackܥʣ 1. SlackAPIͷ༷͕ඍົʹΘ͔Γʹ͍͘ • Ͳͷ͙Β͍ͷϦΫΤετͰ੍ݶ͔͔Δʁ • ࠷ऴతʹ੍ݶͱ͔ແࢹͯ͛͠·ͬͯ͘Δ 2. `nlopes/slack` ϥΠϒϥϦ͕ରԠ͠Εͯͳ͍
• ࣗͰमਖ਼ͯ͠PRग़͠·ͨ͠
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ • ྑ͍νʔϜͰ͢Ͷ
ࠔͬͨͱ͜Ζʢgifteeܥʣ 1. ूܭ݁ՌΛͲ͜ʹ͛Α͏͔ʁ • ڧ͍ؾ࣋ͪͰ#generalʁ / #randomʁ • ߘͨ͠#history͕աૄνϟϯωϧͩͬͨ 2.
ikedayama։ൃਞͷ࣏͕҆ѱ͗͢Δ • ྑ͍νʔϜͰ͢Ͷ • छྨ෦ೋͱΒΜ
Γ͍ͨ͜ͱ ৭ʑͰ͖ΔΑ͏ʹͳͬͨͷͰΞΠσΞ͚͕ͩແݶ ʹ͕ͬͯΔ 1. ͣͬͱΘΕͣΦʔϓϯͳ··ͷνϟϯωϧ ʹʮ͏ดΊΑ͏ͥʯతͳߘΛ͢Δ 2. ͣͬͱΘΕ͍ͯͳ͍ϦΞΫγϣϯͷूܭ
·ͱΊ • ໘ന͔ͬͨʢখฒʣ • େมͩͬͨʢখฒʣ • PR͕௨ͬͯ͘ΕΔͱ͍͍ͳʔ • ͜ΕΛ͏Α͏ͳbotΛ࡞Γ͍ͨؾ࣋ͪ