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
再現ができない?特定ができない?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
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
730
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.1k
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
580
Rubyで音を視る
ydah
1
100
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
50k
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1.2k
Sony_KMP_Journey_KotlinConf2026
sony
2
210
Agentic Web
dynamis
1
140
Building applications in the Gemini API family.
line_developers_tw
PRO
0
1.8k
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
180
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
200
protovalidate-es を導入してみた
bengo4com
0
120
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Marketing to machines
jonoalderson
1
5.4k
Producing Creativity
orderedlist
PRO
348
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Ethics towards AI in product and experience design
skipperchong
2
300
Into the Great Unknown - MozCon
thekraken
41
2.5k
How to Ace a Technical Interview
jacobian
281
24k
A better future with KSS
kneath
240
18k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
190
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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