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
新サービス・JOURNAL(ジャーナル)開発秘話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
pipopotamasu
November 26, 2018
310
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新サービス・JOURNAL(ジャーナル)開発秘話
pipopotamasu
November 26, 2018
More Decks by pipopotamasu
See All by pipopotamasu
How JS Works
pipopotamasu
0
230
vue-function-tester
pipopotamasu
2
1.3k
Dive into vue-test-utils ~~Road of 1.0.0~~
pipopotamasu
0
120
medpacker_introduction_20190523
pipopotamasu
0
530
Introduction of medpacker: RoR Frontend Boilerplate
pipopotamasu
0
5k
メドピアにおけるライブラリアップデート_MedBeer_20180912.pdf
pipopotamasu
0
12k
MedPeer_JapaxTaxi_MeetUp_Actioncable
pipopotamasu
0
720
MedPeer X みんなのウェディング合同勉強会
pipopotamasu
0
1.2k
UXBridge_vol3_pipopotamasu
pipopotamasu
2
930
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
610
How to Talk to Developers About Accessibility
jct
2
230
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
BBQ
matthewcrist
89
10k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Transcript
৽αʔϏεɾJOURNAL(δϟʔφϧ) ։ൃൿ ϝυϐΞגࣜձࣾ ϑϩϯτΤϯυΤϯδχΞ ଜ্ େ(@pipopotamasu3) MedBeer 2018/11/21
self_introduce.json { “name”: “ଜ্େ”, “age”: 26, “github”: “pipopotamasu”, “company”: “ϝυϐΞגࣜձࣾ”,
“tech”: [“Ruby”, “PHP”, “Vue.js”, “React”], “hobby”: [“ٿ”], }
https://jp.vuejs.org/v2/cookbook/ creating-custom-scroll-directives.html
Agenda 1. JOURNAL is Կ? 2. JOURNALͷγεςϜߏ 3. ্࣮ͷ՝ͱղܾͷͨΊͷΞϓϩʔν 4.
ऴΘΓʹ
Agenda 1. JOURNAL is Կ? 2. JOURNALͷγεςϜߏ 3. ্࣮ͷ՝ͱղܾͷͨΊͷΞϓϩʔν 4.
ऴΘΓʹ
None
ҩֶจͷ༁ɺڞ༗αʔϏε
՝ ඞཁͳใબఆͷࠔ͞ ɾҩྍใେͰʑߋ৽͞Εͯ ͍ΔɻҩࢣʹͱͬͯඞཁͳใΛબ ఆ͢ΔʹςΫχοΫͱ͕࣌ؒඞ ཁɻ ӳޠจ͕ಡΈͮΒ͍ ɾҩֶจӳޠ͔ͭʮจޠʯͰ ॻ͔Ε͍ͯΔͨΊɺจΛಡΈཧղ ͢Δͷʹ͕͔͔࣌ؒΔ
จΛಡΉश׳͚ͮͷ͠͞ ɾ্هͷ՝ͰɺӳޠจΛಡΉͷ ʹଟେͳ࿑ྗ͕͔͔Γश׳Խ͕͠ ͍ɻ
՝ ղܾͷͨΊͷΞϓϩʔν ඞཁͳใબఆͷࠔ͞ ɾҩྍใେͰʑߋ৽͞Εͯ ͍ΔɻҩࢣʹͱͬͯඞཁͳใΛબ ఆ͢ΔʹςΫχοΫͱ͕࣌ؒඞ ཁɻ ඞཁͳใͷϨίϝϯυ ɾҩࢣຊਓͷઐྖҬؔ৺ྖҬͰ ݕࡧɾϑΟϧλϦϯάɺจࣗମͷ
ධՁใͷͰॏΈ͚ͮɻ ӳޠจ͕ಡΈͮΒ͍ ɾҩֶจӳޠ͔ͭʮจޠʯͰ ඳ͔Ε͍ͯΔͨΊɺจΛಡΈཧղ ͢Δͷʹ͕͔͔࣌ؒΔ ӳޠจΛಡΈ͘͢ ɾҩֶจΛຊޠ༁ͯ͠ఏڙ͢ Δ͜ͱͰɺཧղ͢Δ࣌ؒΛॖɻ จΛಡΉश׳͚ͮͷ͠͞ ɾ্هͷ՝ͰɺӳޠจΛಡΉͷ ʹଟେͳ࿑ྗ͕͔͔Γश׳Խ͕͠ ͍ɻ จΛಡΉश׳͚ͮͷαϙʔτ ɾ্هͷ՝ͷղܾٴͼɺؔ৺ͷ͋ Δʹඥ͍ͨใͷ164)Ͱश ׳Խͷखॿ͚ɻ
None
Agenda 1. JOURNAL is Կ? 2. JOURNALͷγεςϜߏ 3. ্࣮ͷ՝ͱղܾͷͨΊͷΞϓϩʔν 4.
ऴΘΓʹ
None
ɾ1700ສ݅ͷӳޠจ σʔλΛϩʔϯνલʹऔಘ ɾϩʔϯνޙ࣌ͰՃɺ ߋ৽͞ΕΔσʔλΛऔಘ
Translate Service Providers ɾ1700ສ݅ͷӳޠจ σʔλͷҰ෦Λຊޠ༁ ɾϩʔϯνޙ࣌ or ΦϯσϚϯυͰ༁
Translate Service Providers Elasticsearch ɾจσʔλΛ Elasticsearchʹಉظ
Translate Service Providers Elasticsearch ɾҩࢣͷଐੑจͷධՁɺ ʹ߹Θͤͯจσʔλ Λදࣔ ɾຊޠͰจσʔλΛݕࡧ (ͪΖΜӳޠͰ)
Agenda 1. JOURNAL is Կ? 2. JOURNALͷγεςϜߏ 3. ্࣮ͷ՝ͱղܾͷͨΊͷΞϓϩʔν 4.
ऴΘΓʹ
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ 2. ຊޠݕࡧ 3. ίϝϯτ
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ 2. ຊޠݕࡧ 3. ίϝϯτ
Translate Service Providers ɾ1700ສ݅ͷӳޠจ σʔλͷҰ෦Λຊޠ༁ ɾϩʔϯνޙ࣌ or ΦϯσϚϯυͰ༁
શ෦͢ΕΑ͘Ͷ?
[ӳޠจ] 1700ສ݅ [ฏۉจࣈ] 1300จࣈ(λΠτϧ100จࣈ, ུ֓1200จࣈ) [߹ܭจࣈ] 221ԯจࣈ(1700ສ * 1300)
[༁ۚ] 100ສจࣈ͋ͨΓ20υϧ [߹ܭֹۚ] (221ԯจࣈ/100ສจࣈ) * 20 = ?
5000ສԁ
None
None
5000ສԁ / 8200ສԁ = 61%
ʘ(^o^)ʗ
͕ۚͳ͍ orz
Translate Service Providers ɾ1700ສ݅ͷӳޠจ σʔλͷҰ෦Λຊޠ༁ ɾϩʔϯνޙ࣌ or ΦϯσϚϯυͰ༁
ΦϯσϚϯυ༁ͷ࣮ԋ
ݟΒΕΔ͚ͩ༁͠ɺ͓ۚΛઅ
5000ສԁ ↓ 400 + α ສԁ
ݟΒΕΔ͚ͩ༁͠ɺ͓ۚΛઅ ↓ Ϣʔβͷ༁͕ͪ࣌ؒൃੜ
ʹ Translate Service Providers ༁ϑϩʔ
ʹ Translate Service Providers ᶃ HTML, CSS, JS, ը૾ͷ Ξηοτऔಘ
ʹ Translate Service Providers ᶄ Active JobͰඇಉظʹ༁
ʹ Translate Service Providers ᶅ ༁݁ՌऔಘͷͨΊ ϙʔϦϯά
ʹ Translate Service Providers ᶆ ༁ྃ
ʹ Translate Service Providers ᶇ ༁݁ՌΛϢʔβʹදࣔ
ʹ Translate Service Providers ͪ࣌ؒ
Ͳ͏ͪ࣌ؒΛݮΒ͔͢
ʹ Translate Service Providers վળͰ͖ͳ͍ͪ࣌ؒ
ʹ Translate Service Providers վળͰ͖Δͪ࣌ؒ
ϙʔϦϯά • ༁ྃࡁΈ͔Ͳ͏͔Λఆظతʹ͍߹ΘͤΔ
ϙʔϦϯά • ༁ྃࡁΈ͔Ͳ͏͔Λఆظతʹ͍߹ΘͤΔ • ༁ྃͱϙʔϦϯάͷఆظ͍߹ΘͤͰ࣌ ͕ۭؒ͘Մೳੑ͕͋Δ
ϙʔϦϯά • ༁ྃࡁΈ͔Ͳ͏͔Λఆظతʹ͍߹ΘͤΔ • ༁ྃͱϙʔϦϯάͷఆظ͍߹ΘͤͰ࣌ ͕ۭؒ͘Մೳੑ͕͋Δ • ͍߹ΘִͤؒΛ٧Ί͗͢ΔͱɺηϧϑDoS߈ ܸʹͳΔ
Ͳ͏͢Ε༁ྃͱϢʔβը໘ͷදࣔ ͷΦʔόʔϔουΛݮͰ͖Δ͔?
WebSocket
WebSocket • αʔόͱΫϥΠΞϯτͷํ௨৴Λ࣮ݱ͢Δ ͨΊͷن
WebSocket • αʔόͱΫϥΠΞϯτͷํ௨৴Λ࣮ݱ͢Δ ͨΊͷن • ϦΞϧλΠϜੑͷߴ͍ΞϓϦέʔγϣϯ (νϟοτΞϓϦ)ͰΑ͘༻͞ΕΔ
WebSocket • αʔόͱΫϥΠΞϯτͷํ௨৴Λ࣮ݱ͢Δ ͨΊͷن • ϦΞϧλΠϜੑͷߴ͍ΞϓϦέʔγϣϯ (νϟοτΞϓϦ)ͰΑ͘༻͞ΕΔ • ࠓճͷ՝ʹԠ༻Ͱ͖ΔͷͰ?
ʹ Translate Service Providers ᶃ HTML, CSS, JS, ը૾ͷ Ξηοτऔಘ
ʹ Translate Service Providers ᶄ Active JobͰඇಉظʹ༁
ʹ Translate Service Providers ᶅ ༁݁ՌऔಘͷͨΊ ϙʔϦϯά
ʹ Translate Service Providers ᶅ ༁݁ՌऔಘͷͨΊ ϙʔϦϯά
ʹ Translate Service Providers ᶅ WebSocketίωΫγϣϯཱ֬ 8FC4PDLFU$POOFDUJPO
ʹ Translate Service Providers 8FC4PDLFU$POOFDUJPO ᶆ ༁ྃ
ʹ Translate Service Providers 8FC4PDLFU$POOFDUJPO ᶇ ༁݁ՌΛϢʔβʹදࣔ
ʹ Translate Service Providers վળͰ͖Δͪ࣌ؒ
ϙʔϦϯάͷ࣌ؒॖ
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ • ΦϯσϚϯυ༁ • WebSocketʹΑΔ࣌ؒॖ 2. ຊޠݕࡧ
3. ίϝϯτ
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ 2. ຊޠݕࡧ 3. ίϝϯτ
Translate Service Providers ɾ1700ສ݅ͷӳޠจ σʔλͷҰ෦Λຊޠ༁ ɾϩʔϯνޙ࣌ or ΦϯσϚϯυͰ༁ ଟ͘ͷ෦͕ະ༁ ˠӳޠ
՝ ղܾͷͨΊͷΞϓϩʔν ඞཁͳใબఆͷࠔ͞ ɾҩྍใେͰʑߋ৽͞Εͯ ͍ΔɻҩࢣʹͱͬͯඞཁͳใΛબ ఆ͢ΔʹςΫχοΫͱ͕࣌ؒඞ ཁɻ ඞཁͳใͷϨίϝϯυ ɾҩࢣຊਓͷઐྖҬؔ৺ྖҬͰ ݕࡧɾϑΟϧλϦϯάɺจࣗମͷ
ධՁใͷͰॏΈ͚ͮɻ ӳޠจ͕ಡΈͮΒ͍ ɾҩֶจӳޠ͔ͭʮจޠʯͰ ඳ͔Ε͍ͯΔͨΊɺจΛಡΈཧղ ͢Δͷʹ͕͔͔࣌ؒΔ ӳޠจΛಡΈ͘͢ ɾҩֶจΛຊޠ༁ͯ͠ఏڙ͢ Δ͜ͱͰɺཧղ͢Δ࣌ؒΛॖɻ จΛಡΉश׳͚ͮͷ͠͞ ɾ্هͷ՝ͰɺӳޠจΛಡΉͷ ʹଟେͳ࿑ྗ͕͔͔Γश׳Խ͕͠ ͍ɻ จΛಡΉश׳͚ͮͷαϙʔτ ɾ্هͷ՝ͷղܾٴͼɺؔ৺ͷ͋ Δʹඥ͍ͨใͷ164)Ͱश ׳Խͷखॿ͚ɻ
՝ ղܾͷͨΊͷΞϓϩʔν ඞཁͳใબఆͷࠔ͞ ɾҩྍใେͰʑߋ৽͞Εͯ ͍ΔɻҩࢣʹͱͬͯඞཁͳใΛબ ఆ͢ΔʹςΫχοΫͱ͕࣌ؒඞ ཁɻ ඞཁͳใͷϨίϝϯυ ɾҩࢣຊਓͷઐྖҬؔ৺ྖҬͰ ݕࡧɾϑΟϧλϦϯάɺจࣗମͷ
ධՁใͷͰॏΈ͚ͮɻ ӳޠจ͕ಡΈͮΒ͍ ɾҩֶจӳޠ͔ͭʮจޠʯͰ ඳ͔Ε͍ͯΔͨΊɺจΛಡΈཧղ ͢Δͷʹ͕͔͔࣌ؒΔ ӳޠจΛಡΈ͘͢ ɾҩֶจΛຊޠ༁ͯ͠ఏڙ͢ Δ͜ͱͰɺཧղ͢Δ࣌ؒΛॖɻ จΛಡΉश׳͚ͮͷ͠͞ ɾ্هͷ՝ͰɺӳޠจΛಡΉͷ ʹଟେͳ࿑ྗ͕͔͔Γश׳Խ͕͠ ͍ɻ จΛಡΉश׳͚ͮͷαϙʔτ ɾ্هͷ՝ͷղܾٴͼɺؔ৺ͷ͋ Δʹඥ͍ͨใͷ164)Ͱश ׳Խͷखॿ͚ɻ
None
ະ༁ͷ෦͕ຊޠͷݕࡧʹ Ҿ͔͔ͬΒͳ͍
Ͳ͏ະ༁ͷ෦Λ ຊޠݕࡧͰ͖ΔΑ͏ʹ͢Δ͔
Elasticsearch Synonym Token Filter https://www.elastic.co/guide/en/elasticsearch/reference/ current/analysis-synonym-tokenfilter.html
Synonym Token Filter ಉҙޠྨٛޠΛઃఆͰ͖Δػೳ Ex) i-pod, i pod => ipod
ͱ͍͏ఆٛͰ͋Ε(expand: trueͷ߹) ʮi-podʯͰݕࡧ → ʮi podʯʮipodʯʹώοτ ʮi podʯͰݕࡧ → ʮi-podʯʮipodʯʹώοτ
Synonym Token Filter ಉҙޠྨٛޠΛઃఆͰ͖Δػೳ ͜ΕΛ͍ɺຊޠ/ӳޠΛؔ࿈͚Δ ߴ݂ѹ => hypertension ΠϯϑϧΤϯβ =>
influenza
Synonym Token Filter ಉҙޠྨٛޠΛઃఆͰ͖Δػೳ
େͳͷSynonymΛࣗલͰ ఆٛ͢Δͷࠔ(ಛʹҩֶ༻ޠ)
༁ձ༷ࣾΑΓҩྍʹಛԽͨࣙ͠ॻΛߪೖ
༁ձ༷ࣾΑΓҩྍʹಛԽͨࣙ͠ॻΛߪೖ ↓ ܗͯ͠ɺElasticsearchͰಡΈࠐΊΔΑ͏ ʹରԠ
None
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ • ΦϯσϚϯυ༁ • WebSocketʹΑΔ࣌ؒॖ 2. ຊޠݕࡧ
• Synonym token filterʹΑΔˠӳݕࡧ 3. ίϝϯτ
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ 2. ຊޠݕࡧ 3. ίϝϯτ
None
None
None
্࣮ͷ՝ͱղܾͷͨΊͷ Ξϓϩʔν 1. ༁ 2. ຊޠݕࡧ 3. ίϝϯτ • JQuery
→ Vue.js, Vuex
͕࣌ؒͳ͍ͷͰলུ
Agenda 1. JOURNAL is Կ? 2. JOURNALͷγεςϜߏ 3. ্࣮ͷ՝ͱղܾͷͨΊͷΞϓϩʔν 4.
ऴΘΓʹ
ੈͷதɺΧωͰղܾͰ͖Δ
͕ͩ…
͕ۚͳ͍͔Βͦ͜ɺ ͷ༨͕ੜ·ΕΔ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠