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
クックパッドiOSアプリのパフォーマンス改善
Search
Iceman
February 27, 2019
Programming
0
750
クックパッドiOSアプリのパフォーマンス改善
Iceman
February 27, 2019
Tweet
Share
More Decks by Iceman
See All by Iceman
わいわいswift#39 Swiftの型をTypeScriptで表す
sidepelican
0
300
わいわいswiftc#35夢が広がる!コード生成でどこでもSwift
sidepelican
0
410
元ゲーム開発者が贈る描画パフォーマンス改善 / Rendering performance improvement from a game developer
sidepelican
4
1.6k
わいわいswiftc#19Genericsの特殊化
sidepelican
0
440
わいわいswiftc#17Genericsの特殊化
sidepelican
0
75
SwiftUI: 更新検知と値の生存期間
sidepelican
2
1.1k
DispatchQueue.syncが動作するスレッド
sidepelican
0
350
Other Decks in Programming
See All in Programming
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
620
print("Hello, World")
eddie
1
520
testingを眺める
matumoto
1
140
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
510
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Ruby Parser progress report 2025
yui_knk
1
420
TDD 実践ミニトーク
contour_gara
1
290
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
270
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
Cache Me If You Can
ryunen344
1
480
🔨 小さなビルドシステムを作る
momeemt
3
670
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
7
3.3k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Six Lessons from altMBA
skipperchong
28
4k
Into the Great Unknown - MozCon
thekraken
40
2k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
For a Future-Friendly Web
brad_frost
180
9.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Faster Mobile Websites
deanohume
309
31k
Transcript
Cookpad Inc. Feb 27th, 2019 Ԭଜ ݈ଠ ձһࣄۀ෦ ΫοΫύουiOSΞϓϦͷύ ϑΥʔϚϯεվળ
ݕࡧ૭Λ͙͢ʹදࣔ͠ ͯମײΛ্ͤ͞ Δ 2
ىಈ͕͍ͱ͍͏͝ҙݟ 3 ԼεʔύʔͷΑ͏ͳѱ͍௨৴ڥͰɺ ىಈ͕͘ͳ͍ͬͯͨ Ϣʔβૢ࡞ՄೳʹͳΔ·Ͱͷ࣌ؒΛଌͬ ͨͱ͜ΖɺϩάΠϯ͕ࢧతͩͬͨ Ϗδωε߹্ɺىಈ࣌ͷ௨৴ඞਢ ͱ͍ͯ͠Δ ϩάΠϯ͕ऴΘΔ·Ͱ ਅͬനͳঢ়ଶ
ܭଌ͢Δ 4 શͳը໘ʹͳΔ·ͰྻΫΤϦ͕̐छଘࡏ͢Δ͜ͱ͕໌
͘ىಈͤ͞ΔͨΊʹͲ͏͢Δ͔ 5 • ฒྻԽ͢Δ or ຊΛΒ͢ → ϩάΠϯपΓͷΈΛେ͖͘ม͑Δඞཁ͕͋Γةݥ⾠ • αʔόଆͷԠΛ͘͢Δ
→ ͱ͍͑͋Δఔͷ௨৴ճ͕͋Δ
Ϣʔβͷߦಈ͔ΒղΛߟ͑Δ 6 ׂ̒Ҏ্ͷਓΞϓϦΛ։͍͙ͯ͢ʹݕࡧ Λߦ͏ ݕࡧ૭͚͙ͩ͢ʹग़͠ɺݕࡧΩʔϫʔυ ͷೖྗதʹϩάΠϯ͕ྃ͢Εମײ ্͢Δͣʂʁ Ϣʔβ͕ਅͬઌʹ ͍͍ͨը໘
γϯάϧτϯഁյʹΑΔϦϑΝΫλԸܙ 7 • ࠓ·Ͱͷ࣮ϩάΠϯใৗʹଘࡏ͢ΔલఏͰγϯάϧτϯ͔ ΒऔΓग़͞Ε͍ͯͨ • ϩάΠϯใ͕ແ͍ঢ়ଶͰը໘Λදࣔ͢Δ → Կ͕ى͜Δ͔ෆ໌ •
͔͠͠ɺۙͰΞϓϦશମͰগͣͭ͠ϨΠϠʔυΞʔΩςΫνϟ ʢVIPERʣΛ༻͍ͨઃܭʹϦϑΝΫλ͞Ε͍ͯͨ
VIPERԽ͞Ε͍͔ͯͨΒͰ͖ͨϦϑΝΫλ 8 ը໘ XXXManager.shared YYYManager.shared ը໘ UserID Observable<Data> ͜Ε·Ͱ 7*1&3Խޙ
ґଘσʔλΛγϯάϧτϯ͔ΒࣗͰऔಘ ֎෦͔ΒґଘΛೖ͠ͳ͍ͱಈ͔ͳ͍Έʹ
VIPERԽ͞Ε͍͔ͯͨΒͰ͖ͨϦϑΝΫλ 9 • ґଘ͍ͯ͠Δσʔλ͕ͳ͍ͱίϯύΠϧ͢Β௨Βͳ͍Έʹͳͬ ͍ͯͨͨΊɺ༧ظͤ͵෦ͰյΕΔ৺͕΄ͱΜͲͳ͔ͬͨ • ϩάΠϯใ͕ແ͍ঢ়ଶΛ ҆શ ʹऔΓѻ͏͜ͱ͕Ͱ͖ͨ
10 มߋલ มߋޙ
͋Γ͕ͱ͏͍͟͝ ·ͨ͠ 11