Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
再現ができない?特定ができない?ZOZOTOWNアプリのトップクラッシュに立ち向かった話 /d...
Search
chichilam86
September 18, 2021
Technology
3.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
再現ができない?特定ができない?ZOZOTOWNアプリのトップクラッシュに立ち向かった話 /dealing with top crash of zozotown app
chichilam86
September 18, 2021
More Decks by chichilam86
See All by chichilam86
ZOZOTOWNアプリにスナップショットテストを導入してみました
kochirin
0
2k
Other Decks in Technology
See All in Technology
How to Design Configuration for Rails Applications
willnet
1
830
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
270
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
970
Getting Started with Google Antigravity
glaforge
0
320
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
110
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
210
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
280
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
130
hackers_champloo_2026_tidb
makocchi
0
170
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
370
Site-Speed That Sticks
csswizardry
13
1.6k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Everyday Curiosity
cassininazir
0
360
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
How to Talk to Developers About Accessibility
jct
2
580
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
It's Worth the Effort
3n
188
29k
Transcript
࠶ݱ͕Ͱ͖ͳ͍ʁಛఆ͕Ͱ͖ͳ͍ʁZOZOTOWN ΞϓϦͷτοϓΫϥογϡʹཱ͔ͪͬͨ גࣜձࣾZOZOςΫϊϩδʔζ ZOZOTOWNຊ෦ɹZOZOΞϓϦ෦ ྛ ߒஐ Copyright © ZOZO Technologies,
Inc. iOSDC Japan 2021 2021/09/18 16:35ʙ Track A
© ZOZO Technologies, Inc. גࣜձࣾZOZOςΫϊϩδʔζ ZOZOTOWNຊ෦ɹZOZOΞϓϦ෦ ྛ ߒஐ(@chichilam86) • தࠃग़
• 2019/4 ZOZOςΫϊϩδʔζʹೖࣾ • ZOZOTOWN iOSΞϓϦͷ։ൃΛ୲͍ͯ͠·͢ 2
© ZOZO Technologies, Inc. 3 ͡Ίʹ ࠶ݱ͕Ͱ͖ͳ͍ʁಛఆ͕Ͱ͖ͳ͍ʁZOZOTOWN ΞϓϦͷτοϓΫϥογϡʹཱ͔ͪͬͨ
© ZOZO Technologies, Inc. 4 ̍̌ͿΓͷϦχϡʔΞϧ
© ZOZO Technologies, Inc. 5 ϦχϡʔΞϧ ։ൃظ 2"ϲ݄ ؍ଌ ZOZOTOWN
7.0.0 UIͷ৽ ZOZO GLASS طଘը໘ͷ৽ػೳՃ ϦϑΝΫλϦϯά etc.
© ZOZO Technologies, Inc. 6 Ϋϥογϡݕ
© ZOZO Technologies, Inc. 7 Ϋϥογϡݕ WARNING
© ZOZO Technologies, Inc. 8 Ϋϥογϡݕ ͦͷΫϥογϡ͕τοϓΫϥογϡͱͯ͠ ʹઍ݅ൃੜ
© ZOZO Technologies, Inc. 9 Ϋϥογϡݕ Ϋϥογϡϩά UIViewͷextension
© ZOZO Technologies, Inc. 10 extension UIView { func capture()
-> UIImage? { UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0) var image: UIImage? if let context = UIGraphicsGetCurrentContext() { layer.render(in: context) image = UIGraphicsGetImageFromCurrentImageContext() } UIGraphicsEndImageContext() return image } } ϏϡʔશମΛը૾ͱͯ͠ ॻ͖ग़͢ Ϋϥογϡݕ
© ZOZO Technologies, Inc. 11 Ϋϥογϡݕ
© ZOZO Technologies, Inc. ৄࡉը໘ 12 UIViewControllerAnimatedTransitioning UIView.captureͰ ը૾ʹग़ྗ UIView.captureͰ
ը૾ʹग़ྗ Ϋϥογϡݕ Ϧετը໘ Ϧετը໘ ͷίϐʔ ৄࡉը໘ ͷίϐʔ
© ZOZO Technologies, Inc. 13 ࣮ੲ͔ΒରԠʹྀ͍ۤͯͨ͠Ϋϥογϡ Ϋϥογϡݕ τοϓͰͳ͍
© ZOZO Technologies, Inc. 14 😇ϦχϡʔΞϧΛܴ͑ͨ Ϋϥογϡݕ w ࠶ݱ͕Ͱ͖ͳ͍ w
ಛఆ͕Ͱ͖ͳ͍ 2"νʔϜͰௐࠪɾݕূΛߦͳ͕ͬͨ࠶ݱ͕Ͱ͖ͳ͔ͬͨ ઃܭվળͷ༨͕͋Δ͕ɺΫϥογϡͷͷݪҼͰͳ͍ ࣮ੲ͔ΒରԠʹྀ͍ۤͯͨ͠Ϋϥογϡ τοϓͰͳ͍
© ZOZO Technologies, Inc. 15 Ϋϥογϡղੳ
© ZOZO Technologies, Inc. 16 Ϋϥογϡղੳ ͳͥࠓ͞Βൃੜ͕݅૿͑ͨͷ͔🧐
© ZOZO Technologies, Inc. ͳͥࠓ͞Βൃੜ͕݅૿͑ͨͷ͔🧐 17 Ϋϥογϡղੳ 📩ʮ͍ଓ͚ΔͱΞϓϦ͕མͪΔʯͱ͍͏ϑΟʔυόοΫ ͓٬༷ͷҙݟ Hint
© ZOZO Technologies, Inc. 18 Ϋϥογϡղੳ 📩ʮ͍ଓ͚ΔͱΞϓϦ͕མͪΔʯͱ͍͏ϑΟʔυόοΫ ͓٬༷ͷҙݟ ͑͏΄Ͳ ϝϞϦ͕ੵ͍ͯ͘͠
📈ϗʔϜը໘͕̏ͭʹͳͬͯදࣔ͢Δίϯςϯπ͕૿͑ͨ 📈֤ϦετϖʔδҎલΑΓཁૉ͕૿͑ͨ 📈ৄࡉϖʔδϦονʹͳͬͨ ϦχϡʔΞϧʹΑΔมߋ ϝϞϦͷফඅ্͕͕Δ ͳͥࠓ͞Βൃੜ͕݅૿͑ͨͷ͔🧐
© ZOZO Technologies, Inc. ΞϓϦ͕ՔಇதͷશͯͷϝϞϦه 19 Ϋϥογϡղੳ
© ZOZO Technologies, Inc. 20 Ϋϥογϡղੳ ̍ճͷભҠͰҰཡϖʔδͱৄࡉϖʔδΛ߹Θͤͯ20Mbʂͷը૾ϝϞϦ
© ZOZO Technologies, Inc. 21 …. 5JNF .FNPSZ Ϋϥογϡ ྦྷੵϝϞϦ
εΫϦʔϯγϣοτͷҰ࣌ϝϞϦ Ϋϥογϡղੳ Ϧετ ৄࡉ Ϧετ ৄࡉ Ϧετ ৄࡉ
© ZOZO Technologies, Inc. 22 ղܾʹ͚ͯ
© ZOZO Technologies, Inc. ৄࡉը໘ 23 UIViewControllerAnimatedTransitioning UIView.captureͰ ը૾ʹग़ྗ UIView.captureͰ
ը૾ʹग़ྗ Ϋϥογϡݕ Ϧετը໘ Ϧετը໘ ͷίϐʔ ৄࡉը໘ ͷίϐʔ
© ZOZO Technologies, Inc. ৄࡉը໘ 24 UIViewControllerAnimatedTransitioning Ϋϥογϡݕ Ϧετը໘ ৄࡉը໘ࣗମͷಁ໌
ௐ
© ZOZO Technologies, Inc. ղܾʹ͚ͯ 25 ΞϓϦ͕ՔಇதͷશͯͷϝϞϦه 👍20Mbͷը૾ϝϞϦ͕ͳ͘ͳΓϝϞϦফඅ͕ΏΔ͔ʹ
© ZOZO Technologies, Inc. ղܾʹ͚ͯ 26 w 6*7JFXDBQUVSFͷΫϥογϡ͕ݮগ w શମతʹͦͷमਖ਼ʹΑΔ৽نΫϥογϡͳ͍
✅Bug Fixed
© ZOZO Technologies, Inc. ·ͱΊ 27 Ϋϥογϡ։ൃதʹؾ͕͚ͭͳ͍͜ͱ͕ଟ͍ ϦϦʔεޙͷ؍ଌ͕ॏཁʹͳΔ 📝ಛఆͷ͔݅͠ൃੜ͠ͳ͍Ϋϥογϡ͕͋Δ
© ZOZO Technologies, Inc. ·ͱΊ 28 Ϋϥογϡ͕࠶ݱɾಛఆͰ͖ͳ͍߹ɺ શମΛ၆ᛌͯ͠ԾઆΛཱͯͯΈ·͠ΐ͏ 🔍ϝϞϦͷফඅɺ௨৴ঢ়گɺϓογϡ͔ΒͷىಈͳͲ 📩͓٬༷ͷҙݟ͕)JOUʂόάΛݟ͚ͭͨΒڭ͍͑ͯͩ͘͞ʂ
© ZOZO Technologies, Inc. ·ͱΊ 29 ٕज़ͷ৽Λҙࣝ͠·͠ΐ͏ 💣߈Ί࣮ͨࢥΘ͵ͱ͜Ζʹෆ۩߹͕ى͖Δ͔͠Εͳ͍ 🙋ܧଓӡ༻͍ͯ͠ΔΞϓϦͳ͓͞Βʂ աڈʹෳࡶԽ͍ͯͨ͠ػೳࠓͳΒ؆୯ʹͰ͖Δ෦͋Δʂ
💧ˢղੳݕূ͕େม͕ͩԸܙΛड͚ΒΕΔͣ
© ZOZO Technologies, Inc. 30
None