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
730
クックパッドiOSアプリのパフォーマンス改善
Iceman
February 27, 2019
Tweet
Share
More Decks by Iceman
See All by Iceman
わいわいswift#39 Swiftの型をTypeScriptで表す
sidepelican
0
290
わいわいswiftc#35夢が広がる!コード生成でどこでもSwift
sidepelican
0
390
元ゲーム開発者が贈る描画パフォーマンス改善 / Rendering performance improvement from a game developer
sidepelican
4
1.5k
わいわいswiftc#19Genericsの特殊化
sidepelican
0
430
わいわいswiftc#17Genericsの特殊化
sidepelican
0
67
SwiftUI: 更新検知と値の生存期間
sidepelican
2
1.1k
DispatchQueue.syncが動作するスレッド
sidepelican
0
340
Other Decks in Programming
See All in Programming
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
420
エラーって何種類あるの?
kajitack
5
310
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
470
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
650
PicoRuby on Rails
makicamel
2
110
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
480
ニーリーにおけるプロダクトエンジニア
nealle
0
580
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
570
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
XP, Testing and ninja testing
m_seki
3
210
技術同人誌をMCP Serverにしてみた
74th
1
390
Featured
See All Featured
It's Worth the Effort
3n
185
28k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Adopting Sorbet at Scale
ufuk
77
9.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
GraphQLとの向き合い方2022年版
quramy
48
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.3k
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