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
550
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
4.2k
@nestjs/bull の活用について
odanado
PRO
0
1.4k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.2k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
350
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
410
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
230
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
500
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
Other Decks in Programming
See All in Programming
AIともっと楽するE2Eテスト
myohei
7
2.8k
生成AI時代のコンポーネントライブラリの作り方
touyou
1
250
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
Porting a visionOS App to Android XR
akkeylab
0
600
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
160
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
140
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
800
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
940
技術同人誌をMCP Serverにしてみた
74th
1
660
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
160
ふつうの技術スタックでアート作品を作ってみる
akira888
1
900
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
It's Worth the Effort
3n
185
28k
Code Review Best Practice
trishagee
69
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Building Applications with DynamoDB
mza
95
6.5k
Thoughts on Productivity
jonyablonski
69
4.7k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Writing Fast Ruby
sferik
628
62k
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Ͱॻ͖͍ͨ