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
10k
日経電子版アプリが高速化のためにやったこと
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
9.1k
日経電子版 レガシーな基礎の上に建つ旅館
taishiblue
15
7.3k
日経電子版 穴のあいたバケツ開発[加筆・修正版]
taishiblue
6
3.6k
日経電子版アプリ 穴のあいたバケツ開発
taishiblue
94
78k
日経電子版 新聞アプリとしてのUI/UX
taishiblue
13
14k
Other Decks in Programming
See All in Programming
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
12k
データと事例で振り返るDevin導入の"リアル" / The Realities of Devin Reflected in Data and Case Studies
rkaga
1
1.1k
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
210
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
260
파급효과: From AI to Android Development
l2hyunwoo
0
160
データベースの技術選定を突き詰める ~複数事例から考える最適なデータベースの選び方~
nnaka2992
0
560
AIコーディングの理想と現実
tomohisa
37
40k
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
160
Serving TUIs over SSH with Go
caarlos0
0
650
医療系ソフトウェアのAI駆動開発
koukimiura
1
100
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
390
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Site-Speed That Sticks
csswizardry
6
540
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
120
52k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
A Tale of Four Properties
chriscoyier
159
23k
Done Done
chrislema
184
16k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
The Invisible Side of Design
smashingmag
299
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
How GitHub (no longer) Works
holman
314
140k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ