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
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
700
LT:「このままでいいのかな?」から一歩踏み出した私のデータキャリア選択〜社会人3年目に上京を決意したリアル〜Snowflake女子会 vol.8
snowwmn0824
0
110
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
Incremental HTTP
kazuho
2
260
Antigravity SDK for the Java Developer
glaforge
0
240
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
13k
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
100
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
210
キャリアLT今日までそして明日から
kentapapa
1
120
AIエージェントを安全で速い現場監督にする:Jev・Obsidian・メタハーネス
x5gtrn
PRO
0
140
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
560
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
180
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
270
How Software Deployment tools have changed in the past 20 years
geshan
2
34k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Test your architecture with Archunit
thirion
2
2.4k
GitHub's CSS Performance
jonrohan
1033
470k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
750
The World Runs on Bad Software
bkeepers
PRO
72
12k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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