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
日経電子版アプリが高速化のためにやったこと
Search
Taishi Takeichi
October 27, 2015
Programming
16
9.9k
日経電子版アプリが高速化のためにやったこと
2015/10/27 RealmMeetup #8 at Sansan
Taishi Takeichi
October 27, 2015
Tweet
Share
More Decks by Taishi Takeichi
See All by Taishi Takeichi
日経電子版 プロダクトアウトからの脱却
taishiblue
10
10k
プロダクトマネジメントとは[新卒研修]
taishiblue
25
8.9k
日経電子版 レガシーな基礎の上に建つ旅館
taishiblue
15
7.2k
日経電子版 穴のあいたバケツ開発[加筆・修正版]
taishiblue
6
3.4k
日経電子版アプリ 穴のあいたバケツ開発
taishiblue
94
78k
日経電子版 新聞アプリとしてのUI/UX
taishiblue
13
14k
Other Decks in Programming
See All in Programming
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
300
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
690
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
役立つログに取り組もう
irof
28
9.6k
Arm移行タイムアタック
qnighy
0
330
Macとオーディオ再生 2024/11/02
yusukeito
0
370
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
930
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Featured
See All Featured
Making Projects Easy
brettharned
115
5.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
GraphQLとの向き合い方2022年版
quramy
43
13k
Producing Creativity
orderedlist
PRO
341
39k
Adopting Sorbet at Scale
ufuk
73
9.1k
The World Runs on Bad Software
bkeepers
PRO
65
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Rails Girls Zürich Keynote
gr2m
94
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Transcript
ܦిࢠ൛ΞϓϦ͕ ߴԽͷͨΊʹͬͨ͜ͱ ຊܦࡁ৽ฉࣾɹࢢେࢤ
ɾେֶଔۀޙɺόϯυ׆ಈɻ ɾɺ8FC։ൃձࣾʹೖࣾɻ8FCΤϯδχΞͱͯ͠ಇ͘ɻ ɹ+BWBTDSJQU"DUJPO4DSJQU-".1ڥͰͷ։ൃ ɹ'9औҾͷ8FCΞϓϦ։ൃͳͲʹैࣄɻ ɾɺຊܦࡁ৽ฉࣾʢຊࣾʣʹೖࣾɻ ɹαʔϏε։ൃͷϞόΠϧɾΞϓϦνʔϜʹଐɻ ࣗݾհ
ࠓ͓͍ͨ͜͠͠ͱ ɾܦిࢠ൛ʹ͍ͭͯͷ͝આ໌ ɾܦిࢠ൛ΞϓϦ͕͔ͬͨݪҼ ɹʢΞϓϦىಈʙσʔλऔಘʙը໘දࣔʣ ɾ͘͢ΔͨΊʹͬͨ͜ͱ
ܦిࢠ൛ʹ͍ͭͯ
ܦిࢠ൛ ɾ݄̏ץ ɾϝΠϯϓϩμΫτɺ ɹ1$αΠτɾεϚϗαΠτɾిࢠ൛ΞϓϦɾࢴ໘ϏϡʔΞΞϓϦ ɾຊܦࡁ৽ฉேץɾ༦ץͷશهࣄɺ8FCݶఆͷΦϦδφϧهࣄɺ ɹ͜ΕΒͷهࣄΛύʔιφϥΠζͯ͠ఏڙ͢Δ.Zχϡʔε
༗ྉձһ ສਓɹ ແྉձһ ສਓ ະొϢʔβʔ ສ6# શهࣄɾશػೳ ʢ ԁʗ݄ʣ ແྉهࣄ
༗ྉهࣄຊʗ݄ ແྉهࣄ ܦిࢠ൛
ܦిࢠ൛ΞϓϦʹ͍ͭͯ
ܦిࢠ൛ΞϓϦ ɾʹϦϦʔεɻ ɹ݄ʹϦχϡʔΞϧʢθϩ͔Β։ൃʣ ɾαʔόαΠυ"84ɻ ɾϑϩϯταΠυΛ֎෦ϝϯλʔͷ ɹྗΛआΓͭͭԽɻ ɾݱঢ়ͷମ੍ ɹɹ1.໊ ɹɹJ04ΤϯδχΞ໊̍ʴϝϯλʔ ɹɹ"OESPJEΤϯδχΞ໊̍ʴϝϯλʔ
جຊతͳը໘ͷߏ Ұཡ هࣄ ֊
؆୯ͳߏਤ "1* جຊతʹ$%/͔ΒσʔλʢKTPOʣΛ [JQϑΝΠϧͰऔಘ
؆୯ͳߏਤ "1* جຊతʹ$%/͔ΒσʔλʢKTPOʣΛ [JQϑΝΠϧͰऔಘ ࠓ͜ͷΜͷߴԽͷ
ܦిࢠ൛ΞϓϦ͕͔ͬͨݪҼ
σʔλྔ͕ଟ͍ ܦిࢠ൛ΞϓϦ͕͔ͬͨݪҼ
ேץɾ༦ץ ɾϖʔδ ɾຊͷهࣄ ɾจࣈສจࣈ ɹ৽ॻ̎ ిࢠ൛ʢ8FCץʣ ɾ8FCΞϓϦ͚ͩͰಡΊΔهࣄ ɾ̍ຊͷهࣄ ʹ̍ຊͷهࣄ هࣄ͕ଟ͍
ʢʣݟग़ͦ͠ͷ̍ ʢʣݟग़ͦ͠ͷ̎ ʢʣݟग़ͦ͠ͷ̏ ʢʣهࣄͷެ։࣌ ʢʣهࣄͷߋ৽࣌ ʢʣ༗ྉձһݶఆهࣄ͔Ͳ͏͔ ʢʣهࣄʹಈը͕͋Δ͔Ͳ͏͔ ʢʣهࣄΛอଘ͍͍͔ͯ͠Ͳ͏͔ ʢʣهࣄ͕ॴଐ͢Δ࿈ࡌɾίϥϜ໊ ʢʣهࣄຊจ
ʢʣهࣄຊจͷεχϖοτ ʢʣαϜωΠϧը૾ʢαΠζʹΑͬͯछྨʣ ʢʣαϜωΠϧը૾ͷΫϨδοτ ʢʣؔ࿈هࣄ ɾɾɾ ̍هࣄ͋ͨΓͷ߲͕ଟ͍
هࣄͷը૾࠷ॳʹ·ͱΊͯऔಘ͍ͯͨ͠ ςΩετը૾ؚΊΔͱɺ ಊʑͷ .#ʂʂ
ඥ͚͕ଟ͍ ܦిࢠ൛ΞϓϦ͕͔ͬͨݪҼ
τοϓ ใ Ϗδωε Ϧʔμʔ Ϛʔέοτ Ϛωʔ ిࢠ൛ʢ8FCץʣ ςΫϊϩδʔ τοϓ YYY
YYY YYY YYY τοϓ YYY YYY YYY YYY ேץɾ༦ץ ֊ߏ͕ਂ͍ ɾɾɾ ɾɾɾ ϥΠϑ εϙʔπ ө૾ ୈ̍֊ ୈ̎֊ ୈ̏֊ ୈ̐֊ هࣄ
هࣄը૾ ؔ࿈هࣄ هࣄ όοΫ φϯόʔ -- - . 4 ΫϨδοτ
63- ෯ ߴ͞ هࣄ͔Βઌͳ͔ͳ͔ͷߏ ɾɾɾ ༻ޠ اۀ໊ גՁͳͲ اۀ֓ཁ ؔ࿈هࣄ YYY ຊจ ɾɾɾ
͘͢ΔͨΊʹͬͨ͜ͱ
औಘ͢ΔσʔλྔΛݮΒ͢ ͘͢ΔͨΊʹͬͨ͜ͱ
ɾը૾[JQ͔Βऔಘͤͣʹɺදࣔ͢Δ࣌ʹऔಘ͢Δ ɹˠ௨৴ڥ͕̑લΑΓେ෯ʹվળ ɾਂ͍֊දݱ͠ͳ͍͜ͱʹͯ͠ɺ֊ใྔΛݮΒ͢ ɹˠͲ͏ͤεϚϗը໘Ͱදݱ͖͠Εͳ͍ ɾΘͳ͍αΠζͷը૾ใऔಘ͠ͳ͍ औಘ͢ΔσʔλΛݮΒ͢
औಘ͢ΔσʔλΛݮΒ͢ .#ɹɹ,ʙ, ɾը૾[JQ͔Βऔಘͤͣʹɺදࣔ͢Δ࣌ʹऔಘ͢Δ ɹˠ௨৴ڥ͕̑લΑΓେ෯ʹվળ ɾਂ͍֊දݱ͠ͳ͍͜ͱʹͯ͠ɺ֊ใྔΛݮΒ͢ ɹˠͲ͏ͤεϚϗը໘Ͱදݱ͖͠Εͳ͍ ɾΘͳ͍αΠζͷը૾ใऔಘ͠ͳ͍
KTPOϑΝΠϧΛෳʹ͚Δ ͘͢ΔͨΊʹͬͨ͜ͱ
֊ߏσʔλ ֤هࣄҰཡσʔλ [JQͷKTPOϑΝΠϧΛෳʹ͚Δ هࣄ"ͷσʔλ ϚελʔKTPO هࣄKTPO ɾɾɾ هࣄ#ͷσʔλ هࣄ$ͷσʔλ هࣄ%ͷσʔλ
֊ߏσʔλ ֤هࣄҰཡσʔλ هࣄ"ͷσʔλ ϚελʔʴهࣄKTPO ɾɾɾ هࣄ#ͷσʔλ هࣄ$ͷσʔλ هࣄ%ͷσʔλ
֊ߏσʔλ ֤هࣄҰཡσʔλ KTPOϑΝΠϧΛෳʹ͚Δ هࣄ"ͷσʔλ ϚελʔKTPO هࣄKTPO ɾɾɾ هࣄ#ͷσʔλ هࣄ$ͷσʔλ هࣄ%ͷσʔλ
֊ߏσʔλ ֤هࣄҰཡσʔλ هࣄ"ͷσʔλ ɾɾɾ هࣄ#ͷσʔλ هࣄ$ͷσʔλ هࣄ%ͷσʔλ [JQ[BQΛͬͯɺ[JQΛղౚͤͣʹ ͦͷ࣌ʹඞཁͳKTPOσʔλ͚ͩऔΓग़͢ ϚελʔʴهࣄKTPO
σʔλ֊ΛͳΔ͘ϑϥοτʹ͢Δ ͘͢ΔͨΊʹͬͨ͜ͱ
ேץɾ༦ץͷҰཡʹ࣮֊ߏ͕ɾɾ ֊ΛϑϥοτʹͰ͖Δͱ͜Ζ͢Δ هࣄ ࢠهࣄ ࢠهࣄ ࢠهࣄ ଙهࣄ هࣄ ࢠهࣄ ࢠهࣄ
ࢠهࣄ ଙهࣄ ϓϩύςΟͰ͔ࢠ͔ଙ͔Λ࣋ͭ
ΞϓϦͷσʔλऔಘॲཧϑϩʔ [JQϑΝΠϧΛऔಘ ҰཡใͷσʔλΛऔΓग़ͯ͠ɺ Ұ෦֊Λϑϥοτʹͯ͠ɺ3FBMNʹอଘ Ұཡ͔ΒهࣄભҠͨ࣌͠ʹɺ هࣄใͷσʔλΛऔΓग़ͯ͠ɺ3FBMNʹอଘ
$PSF%BUBˠ3FBMN ͘͢ΔͨΊʹͬͨ͜ͱ
3FBMNͷ͍͍ͱ͜Ζ σʔλଆɾ"1*ଆΛͯ͠ɺ $PSF%BUBͷॲཧʹݶք͕͋ͬͨɾɾɾ ɾ$PSF%BUBؔ࿈Λ͚ͭͨΦϒδΣΫτΛ·ͱΊͯ݅΄Ͳอଘ͢Δͱɺ ɹύϑΥʔϚϯε͕ٸܹʹམͪΔɻ ɹˠσʔλඥ͚͕ଟ͍ܦిࢠ൛ΞϓϦʹ͍͍ͯͳ͍ɻ ɾ3FBMNؔ࿈Λ͚ͭͯߴͰಈ࡞͢Δɻ ɾςʔϒϧͷఆ͕ٛෆཁͰɺϞσϧͷఆ͕ٛͦͷ··ө͞ΕΔɻ શൠతʹ3FBMNʹΓସ͑ͨɻ
3FBMNͷͪΐͬͱ໘ͳͱ͜Ζ ɾOJM͕ೖΕΒΕͳ͍ ɹˠσϑΥϧτΛઃఆͯ͠ɺۭจࣈͳͲΛೖΕͨ ɹˠೖΕΒΕΔΑ͏ʹͳͬͨʂ ɾεϨουΛ·͍ͨͰͷΦϒδΣΫτͷࢀর͕Ͱ͖ͳ͍ ɹˠࣄલʹϓϥΠϚϦʔΩʔΛϩʔΧϧͰอ࣋ͯ͠ɺ ɹɹͦΕΛ༻ͯ͠ҧ͏εϨουͰऔಘͨ͠ ɾΧεέʔυআ͕Ͱ͖ͳ͍ ɹˠআ͢ΔϓϩύςΟ໊Λฦ͢ϝιουͱɺ ɹɹରͱͳΔϓϩύςΟΛআ͢ΔϝιουΛࣗ࡞ͨ͠
#FGPSF $PSF%BUBˠ3FBMNͰॖͰ͖ͨ࣌ؒ J1IPOFʗJ04Ͱɺ͋ΔͷேץΛऔಘ
#FGPSF "GUFS $PSF%BUBˠ3FBMNͰॖͰ͖ͨ࣌ؒ J1IPOFʗJ04Ͱɺ͋ΔͷேץΛऔಘ
#FGPSF "GUFS $PSF%BUBˠ3FBMNͰॖͰ͖ͨ࣌ؒ J1IPOFʗJ04Ͱɺ͋ΔͷேץΛऔಘ ༧Ҏ্ͷߴԽʹɺ ࣾͰ͓͡͞·ͨͪΛத৺ʹڻ͖ͷʂ
·ͱΊ
·ͱΊ ɾσʔλߏ"1*ɾΞϓϦͷ྆໘͔ΒߴԽ ɾ࣌ʹαʔϏεͷཁ݅Λม͑Δ͜ͱඞཁ ɾͦͯ͠3FBMN͔ͬͨ ܦిࢠ൛ΞϓϦɺ ·ͩ·ͩΞοϓσʔτ͍͖ͯ͠·͢ɻ ࢴ໘ϏϡʔΞΞϓϦͰ3FBMNΛɻ
ܦిࢠ൛ͰɺΤϯδχΞΛืू͍ͯ͠·͢ɻ ɾϑϩϯτΤϯυͰόοΫΤϯυͰ0, ɾͱΓ͋͑ͣ৬ͷ͍ͧͯΈ͍ͨɺͰ0, Լه·Ͱؾܰʹ࿈བྷ͍ͩ͘͞ɻ EH@MBC!OFYOJLLFJDPKQ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ