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
Slackの全文検索 サービスを作った話 / slack-search
Search
odanado
PRO
February 24, 2018
Programming
0
540
Slackの全文検索 サービスを作った話 / slack-search
odanado
PRO
February 24, 2018
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
3.6k
@nestjs/bull の活用について
odanado
PRO
0
1.3k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.1k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
320
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
370
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
210
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
460
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.2k
Other Decks in Programming
See All in Programming
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
140
Formの複雑さに立ち向かう
bmthd
1
890
Honoとフロントエンドの 型安全性について
yodaka
7
1.4k
『品質』という言葉が嫌いな理由
korimu
0
180
もう僕は OpenAPI を書きたくない
sgash708
5
1.8k
Software Architecture
hschwentner
6
2.1k
バッチを作らなきゃとなったときに考えること
irof
1
420
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
1
150
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
6
1.9k
Grafana Cloudとソラカメ
devoc
0
180
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Embracing the Ebb and Flow
colly
84
4.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
350
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
420
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Designing Experiences People Love
moore
140
23k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Transcript
Slackͷશจݕࡧ αʔϏεΛ࡞ͬͨ
Slackͷ՝ • ϑϦʔϓϥϯͷSlackʹ৭ʑ੍ݶ͕͋Δ • App(bot) 10ݸ·Ͱ • ετϨʔδ༰ྔͷ੍ݶ • ۙ1ສ݅ΑΓݹ͍ϝοηʔδࢀরෆՄೳ
• ͜ΕΒͷ੍ݶେֶͷ෦׆Ͱʹͳ͍ͬͯͨ • ༗ྉϓϥϯΞΫςΟϒϢʔβ1ਓʹ͖ͭຖ݄ 1000ԁ • ֶੜϓϥϯΛద༻ׂͯ͠ߴ • SlackͷϩάΛશจݕࡧ͢ΔαʔϏε • SlackͷϩάadminͳΒzipͰμϯϩʔυՄೳ
γεςϜͷ֓ཁ શจݕࡧ όοΫΤϯυ Ϣʔβͷtokenཧ ϑϩϯτΤϯυ OAuthೝূ
ϑϩϯτΤϯυ • nuxt.js • φΫετ ͱಡΉ • vue.jsΛ༻͍ͨwebΞϓϦΛ ։ൃ͢ΔͨΊͷϑϨʔϜϫʔΫ •
ΠέΠέ • vue.js • ԾDOMΛ༻͍ͨߴͳHTMLੜ • ίϯϙʔωϯτࢦ • element-ui • vue.jsͷίϯϙʔωϯτϥΠϒϥϦ
όοΫΤϯυ • Flask • PythonͷwebϑϨʔϜϫʔΫ • DjangoΑΓѻ͍͍͢ϑϨʔϜϫʔΫ • ࣮ࡍ؆୯
ϛυϧΣΞ • ElasticSearch • JavaͷશจݕࡧΤϯδϯ • ܗଶૉղੳ kuromoji • ࣙॻ
neologd • ώʔϓαΠζ 512MB • ະࢦఆͰىಈͨ͠ΒMac͕ϑϦʔζ͔͚ͨ͠… • PostgreSQL • ϊϦͰબΜͩ • Python͔ΒSQLalchemyͱ͍ϥΠϒϥϦͰୟ͍ͨ
Πϯϑϥ • Docker • ίϯςφܕԾԽ • docker-compose • ෳͷίϯςφΛ·ͱΊͯѻ͑Δͭ •
docker-compose up Λ࣮ߦ͢Ε αʔϏε͕ಈ͘
γεςϜͷ֓ཁ Ϣʔβೝূ OAuthϦΫΤετ ίʔϧόοΫ tokenൃߦ (Json Web Token)
γεςϜͷ֓ཁ ݕࡧ token+ݕࡧϫʔυ ݕࡧΫΤϦ લͬͯzip͔Β σʔλΛ ΠϯϙʔτࡁΈ Ϣʔβͷ֬ೝ
σϞ
ࠓޙͷ՝ • ແݶϦϩʔυͷ࣮ • element-uiʹόά͕͋Γ࣮ͷݟ௨͠ͳ͠ • ElasticSearchͷνϡʔχϯά • ݱঢ়ετοϓϫʔυʹϚον͢Δ •
෦һޠΛkuromojiͷࣙॻʹొ • Sudachi͕͍͍ͱฉ͘ͷͰࢼ͍ͨ͠ • ը૾ͷදࣔ • ϝοηʔδதʹը૾URL͕͋ΕͦΕΛදࣔ • ֆจࣈͷදࣔ • Slack RTM API͔ΒݕࡧIndexߏங • όοΫΤϯυΛrailsͰॻ͖͍ͨ