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
150
ISUCONってなんだ / What is ISUCON
bath_poo_
0
330
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
170
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
150
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
240
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
120
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
200
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
240
Web技術の基本 2回目 / Introduction to Web technologies 2nd class
bath_poo_
0
250
Other Decks in Programming
See All in Programming
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
時計仕掛けのCompose
mkeeda
1
300
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
190
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
6
4k
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
600
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
910
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
190
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
250
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1368
200k
How to Ace a Technical Interview
jacobian
276
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
4 Signs Your Business is Dying
shpigford
182
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
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ͳΒͶ
ʢ͞Θ͔ͷʣ·ͱΊ Ξϗ΄ͲࠞΉ ࠞΉ দӺલͱ੩ԬӺલʹ ళฮ͕Ͱ͖ͨ ҏ౾ʹͳ͍ ϥΠϒձ࠷دΓ