Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Slackの全文検索 サービスを作った話 / slack-search
odanado
February 24, 2018
Programming
0
420
Slackの全文検索 サービスを作った話 / slack-search
odanado
February 24, 2018
Tweet
Share
More Decks by odanado
See All by odanado
Vue.observable で状態管理 / vue-observable-state-management
odanado
4
1.2k
nuxtjs-axios-error-handling
odanado
0
140
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
0
240
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
0
110
最近のweb3.js事情 / bc.tokyo-19
odanado
2
330
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
1
1.8k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
9
51k
nuxt-i18nを使ったWebサイトの多言語化 / i18n-of-web-site-using-nuxt-i18n
odanado
1
5.3k
aws-cdk触ってみた / try-aws-cdk
odanado
0
97
Other Decks in Programming
See All in Programming
GitHub Actions を導入した経緯
tamago3keran
1
420
What's new in Android development tools まとめ
mkeeda
0
280
Meet Swift Regex
usamik26
0
310
Branching out to Jetpack Compose
chrisbanes
4
1.1k
Treasure.map(): Functional programming in JVM-based languages
paranoidmonoid
0
130
【Scrum Fest Osaka 2022】スクラムチームに放り込まれた若手エンジニアの皆さん、どのように技術のキャッチアップをしていくかイメージはついていますか?
miiiki
0
110
Java初心者が知っておくべきプログラミングのこと - JJUG CCC 2022 Spring
kishida
4
520
Node.jsデザインパターンを読んで
mmmommm
0
1.9k
Amazon ECSのネットワーク関連コストの話
msato
0
620
Migrating to Kotlin State & Shared Flows
heyitsmohit
1
190
The strategies behind ddd – AdeoDevSummit 2022
lilobase
PRO
4
230
LINE Messaging APIの概要 - LINE API総復習シリーズ
uezo
0
130
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
296
110k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.2k
Designing Experiences People Love
moore
130
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
It's Worth the Effort
3n
172
25k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
126
8.5k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
11
4.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
39
13k
Docker and Python
trallard
27
1.6k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
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Ͱॻ͖͍ͨ