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
63
SwiftUI: 更新検知と値の生存期間
sidepelican
2
1.1k
DispatchQueue.syncが動作するスレッド
sidepelican
0
340
Other Decks in Programming
See All in Programming
"使いづらい" をリバースエンジニアリングする UI の読み解き方
rebase_engineering
0
110
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
430
テスト分析入門/Test Analysis Tutorial
goyoki
11
2.7k
Parallel::Pipesの紹介
skaji
2
870
PT AI без купюр
v0lka
0
200
抽象データ型について学んだ
ryounasso
0
210
DevTalks 25 - Create your own AI-infused Java apps with ease
kdubois
2
120
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
320
TypeScript だけを書いて Tauri でデスクトップアプリを作ろう / Tauri with only TypeScript
tris5572
2
530
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
620
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
120
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
480
Featured
See All Featured
Code Review Best Practice
trishagee
68
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Language of Interfaces
destraynor
158
25k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
620
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Raft: Consensus for Rubyists
vanstee
137
7k
GitHub's CSS Performance
jonrohan
1031
460k
Designing for Performance
lara
608
69k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
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