Slide 1

Slide 1 text

Slackͷશจݕࡧ αʔϏεΛ࡞ͬͨ࿩

Slide 2

Slide 2 text

Slackͷ՝୊ • ϑϦʔϓϥϯͷSlackʹ͸৭ʑ੍ݶ͕͋Δ • App(bot) ͸10ݸ·Ͱ • ετϨʔδ༰ྔͷ੍ݶ • ௚ۙ1ສ݅ΑΓݹ͍ϝοηʔδ͸ࢀরෆՄೳ • ͜ΕΒͷ੍ݶ͸େֶͷ෦׆Ͱ໰୊ʹͳ͍ͬͯͨ • ༗ྉϓϥϯ͸ΞΫςΟϒϢʔβ1ਓʹ͖ͭຖ݄ 1000ԁ • ֶੜϓϥϯΛద༻ͯ͠΋ׂߴ • SlackͷϩάΛશจݕࡧ͢ΔαʔϏε • Slackͷϩά͸adminͳΒzipͰμ΢ϯϩʔυՄೳ

Slide 3

Slide 3 text

γεςϜͷ֓ཁ શจݕࡧ όοΫΤϯυ Ϣʔβͷtoken؅ཧ ϑϩϯτΤϯυ OAuthೝূ

Slide 4

Slide 4 text

ϑϩϯτΤϯυ • nuxt.js • φΫετ ͱಡΉ • vue.jsΛ༻͍ͨwebΞϓϦΛ ։ൃ͢ΔͨΊͷϑϨʔϜϫʔΫ • ΠέΠέ • vue.js • Ծ૝DOMΛ༻͍ͨߴ଎ͳHTMLੜ੒ • ίϯϙʔωϯτࢦ޲ • element-ui • vue.js੡ͷίϯϙʔωϯτϥΠϒϥϦ

Slide 5

Slide 5 text

όοΫΤϯυ • Flask • Python੡ͷwebϑϨʔϜϫʔΫ • DjangoΑΓѻ͍΍͍͢ϑϨʔϜϫʔΫ • ࣮ࡍ؆୯

Slide 6

Slide 6 text

ϛυϧ΢ΣΞ • ElasticSearch • Java੡ͷશจݕࡧΤϯδϯ • ܗଶૉղੳ kuromoji • ࣙॻ neologd • ώʔϓαΠζ 512MB • ະࢦఆͰىಈͨ͠ΒMac͕ϑϦʔζ͔͚ͨ͠… • PostgreSQL • ϊϦͰબΜͩ • Python͔ΒSQLalchemyͱ͍ϥΠϒϥϦͰୟ͍ͨ

Slide 7

Slide 7 text

Πϯϑϥ • Docker • ίϯςφܕԾ૝Խ • docker-compose • ෳ਺ͷίϯςφΛ·ͱΊͯѻ͑Δ΍ͭ • docker-compose up Λ࣮ߦ͢Ε͹ αʔϏε͕ಈ͘

Slide 8

Slide 8 text

γεςϜͷ֓ཁ Ϣʔβೝূ OAuthϦΫΤετ ίʔϧόοΫ tokenൃߦ (Json Web Token)

Slide 9

Slide 9 text

γεςϜͷ֓ཁ ݕࡧ token+ݕࡧϫʔυ ݕࡧΫΤϦ લ΋ͬͯzip͔Β σʔλΛ ΠϯϙʔτࡁΈ Ϣʔβͷ֬ೝ

Slide 10

Slide 10 text

σϞ

Slide 11

Slide 11 text

ࠓޙͷ՝୊ • ແݶϦϩʔυͷ࣮૷ • element-uiʹόά͕͋Γ࣮૷ͷݟ௨͠ͳ͠ • ElasticSearchͷνϡʔχϯά • ݱঢ়ετοϓϫʔυʹ΋Ϛον͢Δ • ෦һޠ࿥Λkuromojiͷࣙॻʹొ࿥ • Sudachi͕͍͍ͱฉ͘ͷͰࢼ͍ͨ͠ • ը૾ͷදࣔ • ϝοηʔδதʹը૾URL͕͋Ε͹ͦΕΛදࣔ • ֆจࣈͷදࣔ • Slack RTM API͔ΒݕࡧIndexߏங • όοΫΤϯυΛrailsͰॻ͖͍ͨ