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
310
わいわい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
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
3.3k
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
Swift Updates - Learn Languages 2025
koher
2
510
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
470
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
320
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
Improving my own Ruby thereafter
sisshiki1969
1
160
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.8k
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
アセットのコンパイルについて
ojun9
0
130
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
KATA
mclloyd
32
14k
Unsuck your backbone
ammeep
671
58k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
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