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
300
わいわいswiftc#35夢が広がる!コード生成でどこでもSwift
sidepelican
0
400
元ゲーム開発者が贈る描画パフォーマンス改善 / Rendering performance improvement from a game developer
sidepelican
4
1.5k
わいわいswiftc#19Genericsの特殊化
sidepelican
0
430
わいわいswiftc#17Genericsの特殊化
sidepelican
0
68
SwiftUI: 更新検知と値の生存期間
sidepelican
2
1.1k
DispatchQueue.syncが動作するスレッド
sidepelican
0
340
Other Decks in Programming
See All in Programming
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
160
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
効率的な開発手段として VRTを活用する
ishkawa
0
130
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
240
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
12k
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
290
NPOでのDevinの活用
codeforeveryone
0
820
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
390
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2k
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
120
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
830
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
130
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Why Our Code Smells
bkeepers
PRO
336
57k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Navigating Team Friction
lara
187
15k
Statistics for Hackers
jakevdp
799
220k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Code Review Best Practice
trishagee
69
18k
Being A Developer After 40
akosma
90
590k
Optimizing for Happiness
mojombo
379
70k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Music & Morning Musume
bryan
46
6.6k
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