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を作った話 / Sawayaka LINE bot
Search
muttan
January 25, 2020
Programming
0
100
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
#ふくもく会
#SawayakaMeetup
muttan
January 25, 2020
Tweet
Share
More Decks by muttan
See All by muttan
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
140
ISUCONってなんだ / What is ISUCON
bath_poo_
0
320
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
170
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
140
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
230
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
110
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
200
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
230
Web技術の基本 2回目 / Introduction to Web technologies 2nd class
bath_poo_
0
240
Other Decks in Programming
See All in Programming
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
270
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
850
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
Security_for_introducing_eBPF
kentatada
0
110
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
1
150
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
780
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
280
Haze - Real time background blurring
chrisbanes
1
520
情報漏洩させないための設計
kubotak
3
340
useSyncExternalStoreを使いまくる
ssssota
6
1.2k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Become a Pro
speakerdeck
PRO
26
5k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
BBQ
matthewcrist
85
9.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Producing Creativity
orderedlist
PRO
341
39k
Visualization
eitanlees
146
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
Navigating Team Friction
lara
183
15k
Transcript
LINE botΛ࡞ͬͨΜ͢Α ;͘͘ձ ͦͷ60 ʙ৽ձʹंΛग़͢ͳʙ Kamiya Keisuke(@bath_poo_)
͓લ୭Αʁ • ҪେֶֶݚڀՊ M2 • ΦλΫ • aikoͱҏ౻ඒདྷͷ͔Γͯ͠Δ • TwitterͷΞΧϯτ໊͕සൟʹ
มΘΔ͜ͱͰ༗໊ • Ͱେମʮ͘·͞Μʯͬͯݺ Εͯ·͢ Kamiya Keisuke a.k.a kuma @bath_poo_
͍͖ͳΓͰ͕͢
͜ΕͳΜͷਤͰ͠ΐ͏
ͳΜͷਤʁ
ͳΜͷਤʁ
None
ͳΜͷਤʁ
• ٠ʹຊళ͕͋Δ • ੩Ԭݝ෦ʹଟ͍ • ࠷౦͕ޚ఼ • ࠷͕ބ
͋ʂʂʂʂʂʂʂʂʂʂʂʂ
None
͞Θ͔͡ΌΜ • ম͖Ϩετϥϯ͞Θ͔ • ͛Μͭ͜ϋϯόʔά͕༗໊ • ϗʔϜϖʔδͷURL͕sawayakaͰͳͯ͘genkotsu-hb ‣ https://www.genkotsu-hb.com •
#SawayakaMeetup ڇ100% 250g 1,100ԁ(੫ࠐΈ)→
͞Θ͔ͷͪ࣌ؒ • ͛Μͭ͜ϋϯόʔά༗໊ʹͳΓ͗ͨ͢ • ͋ΔళฮGW6hͪʹͳͬͨͱ͔ͳΜͱ͔ • ʢҰ෦ళฮΛআ͍ͯʣฏͰ͋Ε͋·Γؾʹͤͣʹߦͬ ͯͬ͢ͱ৯ΒΕΔ • ൺֱతࠞΜͰ͍Δ͜ͱ͕ଟ͍
• ൟظʢGWɼ࢝ɼۙลͰͷϥΠϒΠϕϯτʣ ࣌ؒͪ( )ʹͳΔ͜ͱβϥ → ͳΔ͘ళฮͰͷͪ࣌ؒΛݮΒ͍ͨ͠ → ͔͠͠ళฮʹߦͬͯͪ࣌ؒΛ֬ೝ͢Δͷ໘ N N ≥ 1
࠷ۙศརػೳ͕Ͱ͖ͨ
AirWAIT
AirWAITͷಋೖ • ʢళฮʣiPad͚ͩͰडγεςϜΛߏஙՄೳ • ʢϢʔβʔʣ͓ళͰडΛͨ͠ޙWebϖʔδ͔Β ͪ࣌ؒΛ֬ೝ͢Δ͜ͱ͕Մೳ
AirWAITͷಋೖ • ʢళฮʣiPad͚ͩͰडγεςϜΛߏஙՄೳ • ʢϢʔβʔʣ͓ళͰडΛͨ͠ޙWebϖʔδ͔Β ͪ࣌ؒΛ֬ೝ͢Δ͜ͱ͕Մೳ
AirWAITͷಋೖ • ʢళฮʣiPad͚ͩͰडγεςϜΛߏஙՄೳ • ʢϢʔβʔʣ͓ళͰडΛͨ͠ޙWebϖʔδ͔Β ͪ࣌ؒΛ֬ೝ͢Δ͜ͱ͕Մೳ → Θ͟Θ͟ళฮʹߦ͔ͳͯ͘ྑ͘ͳͬͨ
͋Δͷग़དྷࣄ ͞Θ͔ͷͪ࣌ؒ ΦϯϥΠϯͰݟΕΔΑ͏ʹͳͬͨΑ ϚδʁͲ͏ͬͯΈΔͷʁ ͜ͷWebϖʔδΛ։͍ͯ… ΊΜͲ͆͘͞
ͦ͏͔… • ͦͷͨΊ͚ͩʹSafari։͘ͷ໘ • ͡Ό͋ͳΔ͘༻ස͕ଟ͍ͷͰͳΜͱ͔Ͱ͖ͳ ͍͔… → LINEͳΒൺֱత͏Μ͡Όͳ͍ʁ
͞Θ͔ͷͪ࣌ؒ LINE botΛ࡞ͬͨΜ͢Α ;͘͘ձ ͦͷ60 ʙ৽ձʹंΛग़͢ͳʙ Keisuke Kamiya(@bath_poo_)
༻ٕज़
ΞʔΩςΫνϟ ᶃbotʹ͔ͬͯ ݕࡧΫΤϦΛ͛Δ ᶄAlgoliaͰݕࡧ ᶅݕࡧ݁ՌΛฦ͢ ᶅݕࡧ݁ՌΛฦ͢ εΫϨΠϐϯά݁ՌΛ ֨ೲ
ΞʔΩςΫνϟ • Messaging APIͷWebhook༻ͷαʔόHerokuͰϗεςΟ ϯά → Go + Go modules
• ΫϩʔϥʔHerokuͰϗεςΟϯά(3ʹ1ճऔಘ) → Python + pipenv • ݕࡧΛͲ͏͢Δ͔໎͕ͬͨɼͯ͢ͷࢥߟΛ์غͯ͠ Algoliaʹͯ͛ͨ͢ → ϥΠϒϥϦυΩϡϝϯτॆ࣮͍ͯͯ͠։ൃ͕εϜʔζ ʹਐΜͩ https://speakerdeck.com/shinodogg/introducing-algolia-with-demo
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… PQFSBUJPONPOUI SFDPSENPOUI
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… • Operationͷఆٛ • ΦϒδΣΫτͷՃߋ৽̍ΦϖϨʔγϣϯ • ݄50000ΦϖϨʔγϣϯ͙ͬͯ͢αʔϏε͕ऴΘΓͦ͏ → ͦΕͦ͏ https://www.algolia.com/doc/faq/basics/what-is-an-operation/
ͱ͜ΖͰAlgoliaͷ༻ྉۚ…
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… Μʁ
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… Μʁ
None
GitHub EducationΛ͏ • ֶੜͷಛݖGitHub Education • ͨ͘͞ΜͷιϑτΣΞSaaSɼPaaSͷ༗ྉϓϥϯ૬ ΛແྉͰ͏͜ͱ͕Ͱ͖Δ • Algoliaରʹͳͬͯ·ͨ͠
ͱ͍͏Θ͚Ͱ
σϞ
σϞ • ݕࡧ͍ͨ͠ళฮΛೖྗ → ళฮ໊ͷ෦จࣈྻͷ߹ώοτ • ෳళฮͷ߹ → CarouselTemplateΛ༻ •
ళฮΛλοϓ → ৄࡉϖʔδ
·ͱΊ
·ͱΊ • ͞Θ͔ͷͪ࣌ؒΛڭ͑ͯ͘ΕΔLINE botΛॻ͍ͨ • GoͱPythonͱHerokuͱAlgoliaͰ࡞ • LINE bot SDKͱAlgolia
SDK͕ΊͪΌͪ͘Ό͍͢ ͔ͬͨͷͰγϡοͱ࡞Δ͜ͱ͕Ͱ͖Δ • ݱࡏ͔Βྑ͛͞ళฮΛαδΣετ͢Δػೳͱ͔͋Δ ͱ͍͍Ͷͬͯࢥ͍·ͨ͠ ‣ Ͱ͖ͦ͏ɼAlgoliaͳΒͶ
ʢ͞Θ͔ͷʣ·ͱΊ Ξϗ΄ͲࠞΉ ࠞΉ দӺલͱ੩ԬӺલʹ ళฮ͕Ͱ͖ͨ ҏ౾ʹͳ͍ ϥΠϒձ࠷دΓ