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
モバイルアプリの行動ログの運用つらさ解消法 / mobile-log-troubleshooting
Search
aoi
September 02, 2023
Technology
3
2.4k
モバイルアプリの行動ログの運用つらさ解消法 / mobile-log-troubleshooting
https://fortee.jp/iosdc-japan-2023/proposal/0ea36011-b566-478a-b067-d9785c957fe5
aoi
September 02, 2023
Tweet
Share
More Decks by aoi
See All by aoi
ロック画面Widgetをサクッと実装してみた話
aomathwift
3
410
OS 固有の新機能をサービスに取り入れ活用していくための Tips
aomathwift
0
48
DocC Documentation Archiveをアプリ開発で活用してみよう / DocC Documentation Archive for iOS Application
aomathwift
0
570
即時通知を導入する際に考えるべきこと
aomathwift
0
4.4k
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話 After Talk
aomathwift
0
480
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話
aomathwift
1
9.6k
Other Decks in Technology
See All in Technology
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
550
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
730
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
380
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
君も受託系GISエンジニアにならないか
sudataka
2
440
現場で役立つAPIデザイン
nagix
33
12k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.2k
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
370
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
130
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
How to Ace a Technical Interview
jacobian
276
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Thoughts on Productivity
jonyablonski
69
4.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Designing for Performance
lara
604
68k
Statistics for Hackers
jakevdp
797
220k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Git: the NoSQL Database
bkeepers
PRO
427
64k
How STYLIGHT went responsive
nonsquared
98
5.4k
Transcript
ϞόΠϧΞϓϦͷߦಈϩάͷӡ༻ͭΒ͞ղফ๏ Aoi Okawa (@aomathwift)
•Aoi Okawa (@aomathwift) •Cookpad Inc. iOS Developer ࣗݾհ
ΞϓϦͷߦಈϩάͷӡ༻ ͭΒ͘ͳ͍Ͱ͔͢ʁ
ߦಈϩάͱ • Ϣʔβʔ͕ߦಈΛىͨ͜͜͠ͱΛهͨ͠ϩά • ಛఆͷը໘Λදࣔͨ͠ • ಛఆͷϘλϯΛλοϓͨ͠ɹ
ϩάͷͭΒ͞ͱԿͳͷ͔
࣮ࡍʹ͋ͬͨϩάӡ༻ਏ͍Τϐιʔυ
Τϐιʔυᶃɿඞཁͳϩά͕ૹΒΕ͍ͯͳ͍
ྫɿͷߪೖܦ࿏Λௐ͍ͨͱ͖ shop.shop_section product_detail ങ͍ͷΧΰʹՃ ϩά ભҠ ʴ
ྫɿͷߪೖܦ࿏Λௐ͍ͨͱ͖ product_detail ങ͍ͷΧΰʹՃ ϩά ભҠ ʴ ͜ͷ෦͕ૹΒΕͳ͍ͱ ͷߪೖܦ࿏Λਖ਼͘͠ ௐΔ͜ͱ͕Ͱ͖ͳ͍
Τϐιʔυᶄɿϩάͷཧ͕Ͱ͖͍ͯͳ͍
ΘΕ͍ͯΔίϯϙʔωϯτ ໊ɾΠϕϯτ໊ΛεϓϨου γʔτʹఆٛͯ͠ཧ͢Δ εϓϨουγʔτͷఆٛΛ ݩʹϩά͕࣮͞ΕΔ
࣮ͱఆٛͷؒʹ ζϨ͕ੜ·ΕΔ ఆ͕ٛεϓϨουγʔτʹ ͬͨ··ʹͳͬͯΔʂ ػೳ͕ফ͔͑ͨΒϩά Ұॹʹআ͠Α͏
ͦͷଞ • αʔυύʔςΟπʔϧͷґଘ • iOS, Android Ͱͷϩά࣮ͷͣΕ • ػೳ໊มߋͷରԠ
Έͳ͞ΜͷΞϓϦͰͯ·Δ ͷ͋Γ·ͤΜͰ͔ͨ͠ʁ
͖ͬͱͲͷΞϓϦͭΒ͍ ͰϩάΛૄ͔ʹͰ͖ͳ͍
ߦಈϩάԿނॏཁͳͷ͔
ߦಈϩάͷ༻్ • Ϣʔβʔͷૢ࡞Λੳ͠ɺ࣍ͷࢪࡦʹ׆͔͢ • ෆ۩߹͕͋ͬͨϢʔβʔͷߦಈ͔ΒݪҼΛௐΔ
αʔϏε։ൃʹ ϩάඞཁෆՄܽ
ආ͚ͯ௨Εͳ͍ϩάӡ༻ͷਏ͞ɺ Ͳ͏ͬͯղফ͢Δ…ʁ
ϩάͷਏ͞Λܰݮ͢ΔͨΊͷΞϓϩʔν
ϩάӡ༻ͷྲྀΕ ݕূઃܭ ࢪࡦഎܠͷཧղ طଘϩάͷൃ۷ ࣮ อक ੳ ഇࢭ ػೳ։ൃ ৽نϩάͷՃ
σʔλूܭ ղऍɾධՁ ར༻ࡁϩά ୀ͢Δ ఆٛ ར༻࣮ଶͷѲ ϝϯςφϯε
࣮ อक ੳ ഇࢭ ఆٛ ɾࢪࡦΦʔφʔͱ࠷ऴతͳϩάͷΞτϓοτΛࡲΓ߹Θ͓ͤͯ͘ ɾϩά༷ݕ౼ςϯϓϨʔτΛ༻ҙ͢Δ ఆٛΛ࿙Εͳ͘ ༻ҙ͍ͨ͠
࣮ อक ੳ ഇࢭ ఆٛ ࠐΜͩϩά͕νΣοΫͰ͖ΔΞϓϦϩά֬ೝπʔϧ IUUQTTQFBLFSEFDLDPNZVKJGJPTEDKBQBONPCJMFBQQMPHHJOH ࣮Λϛε࿙Ε ͳ͘ߦ͍͍ͨ ✅
ৄࡉදࣔ <>ొλοϓ <>ղআλοϓ ɹʜʜ ඞཁͳϩά
࣮ อक ੳ ഇࢭ ఆٛ υΩϡϝϯτϕʔεͷܕ҆શͳߦಈϩάఆٛͷࣗಈੜ IUUQTUFDIMJGFDPPLQBEDPNFOUSZ ࣮Λϛε࿙Ε ͳ͘ߦ͍͍ͨ ύʔαʔ
EBJGVLV ϩάఆٛ 4XJGU ϩάఆٛ .BSLEPXO தؒදݱ Λ4XJGU ίʔυԽ
https://github.com/cookpad/daifuku
࣮ อक ੳ ഇࢭ ఆٛ υΩϡϝϯτϕʔεͷܕ҆શͳߦಈϩάఆٛͷࣗಈੜ IUUQTUFDIMJGFDPPLQBEDPNFOUSZ ࣮Λϛε࿙Ε ͳ͘ߦ͍͍ͨ ύʔαʔ
EBJGVLV ϩάఆٛ 4XJGU ϩάఆٛ .BSLEPXO தؒදݱ Λ4XJGU ίʔυԽ ૹΒΕ͍ͯΔϩά ΛѲ͍ͨ͠
࣮ อक ੳ ഇࢭ ఆٛ ɾະ༻ͷϩάΛݕग़͢Δ-JOUFSΛ༻ҙ͢Δ ɾϩάఆٛͷఆظతͳݟ͠Λଅ͢4MBDL3FNJOEFS ࣮ͱఆٛͷဃ Λͳ͍ͨ͘͠
͜Ε͚ͩͬͯͯ·ͩਏ͍ʂ
νʔϜߏ • iOS ΤϯδχΞ 4ਓ • Android ΤϯδχΞ 3ਓ •
αʔϏεશମͷσʔλΛݟΔਓ͕2ਓ
ϩάͷਏ͞ΛΑΓܰݮ͢ΔͨΊͷऔΓΈ
֤ϑΣʔζʹ·ͩେখ༷ʑͳ՝͕͋Δ ࣮ อक ੳ ഇࢭ ίϯϙʔωϯτ໊ ܾΊΔͷେม ఆٛ ͬͯͳ͍ϩά ͕ͬͯΔ
ૹΔ͖ใΛ ߟ͑Δͷେม υΩϡϝϯτʹ ḷΓண͚ͳ͍ FUDʜ
֤ϑΣʔζʹ·ͩେখ༷ʑͳ՝͕͋Δ ࣮ อक ੳ ഇࢭ ίϯϙʔωϯτ໊ ܾΊΔͷେม ఆٛ ͬͯͳ͍ϩά ͕ͬͯΔ
ૹΔ͖ใΛ ߟ͑Δͷେม υΩϡϝϯτʹ ḷΓண͚ͳ͍ FUDʜ શମతʹ՝ΛݮΒ͍ͨ͠
ϩά͍͖ͬͯҕһձΛൃ
ϩά͍͖ͬͯҕһձͱ • ϩάӡ༻ͷվળʹΛ࣋ͬͯऔΓΉ • ظؒݶఆͷϓϩδΣΫτͱͯ࢝͠ಈͨ͠ • ϝϯόʔ iOS, Android ΤϯδχΞͦΕͧΕ1ਓͣͭ
۩ମతͳεςοϓ 1. ࠓ͋Δ۩ମతͳվળΛચ͍ग़͢ 2. ڍ͕͖ͬͯͨ͜ͱΛྨ͢Δ 3. ྨͨ͠ΧςΰϦ͝ͱʹ༏ઌॱҐΛܾΊλεΫԽ͢Δ 4. ఆྫͰਐḿΛ֬ೝ͢Δ 5.
ظؒΛܾΊͯৼΓฦΔ
۩ମతͳεςοϓ 1. ࠓ͋Δ۩ମతͳվળΛચ͍ग़͢ 2. ڍ͕͖ͬͯͨ͜ͱΛྨ͢Δ 3. ྨͨ͠ΧςΰϦ͝ͱʹ༏ઌॱҐΛܾΊΔ 4. ఆྫͰਐḿΛ֬ೝ͢Δ 5.
ظؒΛܾΊͯৼΓฦΔ
ͻͨ͢Βॻ͖ग़͢ ϩάͷύϥϝʔλ ͷաɾෆ ΞϓϦͷϥΠϑ αΠΫϧϩάෆ υΩϡϝϯτʹ ḷΓண͖ʹ͍͘ ϩάʹૹͬͯΔ ใ͕ෳࡶ ίϯϙʔωϯτ໊
ܾΊΔͷେม աڈͷϩά͕ཧ ͞Εͯͳ͍ FUDʜ
۩ମతͳεςοϓ 1. ࠓ͋Δ۩ମతͳվળΛચ͍ग़͢ 2. ڍ͕͖ͬͯͨ͜ͱΛྨ͢Δ 3. ྨͨ͠ΧςΰϦ͝ͱʹ༏ઌॱҐΛܾΊΔ 4. ఆྫͰਐḿΛ֬ೝ͢Δ 5.
ظؒΛܾΊͯৼΓฦΔ
ϩάͷύϥϝʔλ ͷաɾෆ ΞϓϦͷϥΠϑ αΠΫϧϩάෆ υΩϡϝϯτʹ ḷΓண͖ʹ͍͘ ϩάʹૹͬͯΔ ใ͕ෳࡶ ίϯϙʔωϯτ໊ ܾΊΔͷେม
աڈͷϩά͕ཧ ͞Εͯͳ͍ อक ఆٛ ఆٛ ੳ ࣮ ࣮
࣮ อक ੳ ఆٛ ϩάͷύϥϝʔλ ͷաɾෆ ΞϓϦͷϥΠϑ αΠΫϧϩάෆ ϩάʹૹͬͯΔ ใ͕ෳࡶ
ίϯϙʔωϯτ໊ ܾΊΔͷେม υΩϡϝϯτʹ ḷΓண͖ʹ͍͘ աڈͷϩά͕ཧ ͞Εͯͳ͍
۩ମతͳεςοϓ 1. ࠓ͋Δ۩ମతͳվળΛચ͍ग़͢ 2. ڍ͕͖ͬͯͨ͜ͱΛྨ͢Δ 3. ྨͨ͠ΧςΰϦ͝ͱʹ༏ઌॱҐΛܾΊΔ 4. ఆྫͰਐḿΛ֬ೝ͢Δ 5.
ظؒΛܾΊͯৼΓฦΔ
࣮ อक ੳ ఆٛ ϩάͷύϥϝʔλ ͷաɾෆ ΞϓϦͷϥΠϑ αΠΫϧϩάෆ ϩάʹૹͬͯΔ ใ͕ෳࡶ
ίϯϙʔωϯτ໊ ܾΊΔͷେม υΩϡϝϯτʹ ḷΓண͖ʹ͍͘ աڈͷϩά͕ཧ ͞Εͯͳ͍
࣮ อक ੳ ఆٛ ϩάͷύϥϝʔλ ͷաɾෆ ΞϓϦͷϥΠϑ αΠΫϧϩάෆ ϩάʹૹͬͯΔ ใ͕ෳࡶ
ίϯϙʔωϯτ໊ ܾΊΔͷେม υΩϡϝϯτʹ ḷΓண͖ʹ͍͘ աڈͷϩά͕ཧ ͞Εͯͳ͍
՝ͷॻ͖ग़͠ ՝ͷྨ
۩ମతͳεςοϓ 1. ࠓ͋Δ۩ମతͳվળΛચ͍ग़͢ 2. ڍ͕͖ͬͯͨ͜ͱΛྨ͢Δ 3. ྨͨ͠ΧςΰϦ͝ͱʹ༏ઌॱҐΛܾΊλεΫԽ͢Δ 4. ఆྫͰਐḿΛ֬ೝ͢Δ 5.
ظؒΛܾΊͯৼΓฦΔ
ఆྫ վળ ͬͨ͜ͱ֬ೝ ࣍ʹΔ͜ͱܾఆ ͦΕͧΕ͕ վળʹऔΓΉ J04 "OESPJE
۩ମతͳεςοϓ 1. ࠓ͋Δ۩ମతͳվળΛચ͍ग़͢ 2. ڍ͕͖ͬͯͨ͜ͱΛྨ͢Δ 3. ྨͨ͠ΧςΰϦ͝ͱʹ༏ઌॱҐΛܾΊλεΫԽ͢Δ 4. ఆྫͰਐḿΛ֬ೝ͢Δ 5.
ظؒΛܾΊͯৼΓฦΔ
ظؒΛܾΊͯৼΓฦΔ • ظؒͰͰ͖ͨ͜ͱͷৼΓฦΓ • ͦͷ࣌·ͰͰվળ͞Εͨ͜ͱ ɺϩάΛੳʹ͏ਓ։ൃ ϝϯόʔʹڞ༗
ϩά͍͖ͬͯҕһձͲ͏ͩͬͨͷ͔
݁Ռ • ϩάӡ༻ͷ֤ϑΣʔζʹରͯ͠ɺͦͷ࣌Ͱͷ՝ͷ͍ ͔ͭ͘ΛղܾͰ͖ͨ • શ෦͕ղܾͰ͖ͨΘ͚Ͱͳ͘ɺԿ՝ղফͰ͖ͳ ͔ͬͨϑΣʔζ͋Δ
݁Ռ • ϩάӡ༻ͷ֤ϑΣʔζʹରͯ͠ɺͦͷ࣌Ͱͷ՝ͷ͍ ͔ͭ͘ΛղܾͰ͖ͨ • શ෦͕ղܾͰ͖ͨΘ͚Ͱͳ͘ɺԿ՝ղফͰ͖ͳ ͔ͬͨϑΣʔζ͋Δ → ϩάӡ༻ͷਏ͞Λ෦తʹղফ͢ΔखஈͷҰͭͱͳͬͨ
ϩάͱͲ͏͖߹͍͔ͬͯ͘
ߟ͑ͨ͜ͱ • ϩάج൫ͷվળʹ͓͍ͯɺશͯͷϑΣʔζͷશͯͷ՝ ΛҰؾʹղܾ͠Α͏ͱ͢Δͱۤ͘͠ͳΔ͠ɺ͍͠ • ͦͷ࣌ʑͰඞཁͳվળมԽ͢ΔͷͰɺͦͷ࣌ʹՄೳ ͳվળΛΓଓ͚͍ͯ͘͜ͱ͕େ
ϩάج൫վળͷ͠͞
Րࣄ͕ى͖͍ͯΔͷΛ ͦͷ··ݟա͢͜͝ͱͳ͍
όάमਖ਼ க໋తͳόά ͦͷ··ݟաͤ͝ͳ͍ όά मਖ਼
า͍͍ͯΔ్தͰམ͍ͪͯΔۭ͖؈ Λݟաͣ͝͞શ෦र͏ͷ͍͠
ݟ͚ͭͨϩάج൫ͷ՝Λ શͯղܾ͍ͯ͘͠ͷ͍͠ ϩάվળ ՝ ՝ վળ
Ͳ͏͢Δ͔ʁ
Έͳ͞Μ͕ʮϩάӡ༻ͭΒ͍ʂʯͷΛ ڍ͛ΔୈҰਓऀʹͳΓ·͠ΐ͏
ઃܭ࣌ʹߟྀ Ͱ͖ͯͳ͔ͬͨʜ ͋ͬ͢Έ·ͤΜɺ ࠓૹͬͯͳ͍Ͱ͢ʜ νϡʔτϦΞϧͷ ϑΝωϧಥഁΛ ௐ͍ͨͳ νϡʔτϦΞϧ։࢝ͷ ϩάͬͯ͋Γ·͔͢ʁ ϓϩμΫτΦʔφʔ
ΤϯδχΞ
ઃܭ࣌ʹߟྀ Ͱ͖ͯͳ͔ͬͨʜ ͋ͬ͢Έ·ͤΜɺ ࠓૹͬͯͳ͍Ͱ͢ʜ νϡʔτϦΞϧͷ ϑΝωϧಥഁΛ ௐ͍ͨͳ νϡʔτϦΞϧ։࢝ͷ ϩάͬͯ͋Γ·͔͢ʁ ϓϩμΫτΦʔφʔ
ΤϯδχΞ ͜Μͳͱ͖ͦ͜Λڍ͛Δνϟϯε
ϩά͕ਏ͍ʂͷΛڍ͛Δ • Λڍ͛ͨͱ͜Ζ͔Βɺϩάӡ༻ϑΣʔζͷͲ͔͜Ұͭ Ͱྑ͍ͷͰɺվળΛͬͯΈΔ
ࣗ र͓͏͔ͳʜ
ϩά͕ਏ͍ʂͷΛڍ͛Δ • Λڍ͛ͨͱ͜Ζ͔Βɺϩάӡ༻ϑΣʔζͷͲ͔͜Ұͭ Ͱྑ͍ͷͰɺվળΛͬͯΈΔ • ͦͷϜʔϒΛوํ͕Γ࢝ΊΔͱɺਏ͍࣌ʹΛڍ͛Δ จԽ͕νʔϜʹग़དྷͯ͘Δ ˠܧଓతͳվળʹͭͳ͕Δ
·ͱΊ
·ͱΊ • ϩάαʔϏεͱಉ͡Α͏ʹৗʹมԽ͢Δͷ • มԽ͢ΔϩάΛదʹӡ༻͠Α͏ͱ͢Δͱɺେখ༷ʑ ͳਏ͕͞ৗʹ͖వ͏ • ҰͭҰͭରྍ๏ʹա͗ͳͯ͘ɺਏ͞Λղফ͢Δ ͨΊͷϜʔϒΛΊͳ͍͜ͱ͕େ
ࠓޙͷϩάج൫վળͷల • iOS ͱ Android ͷػೳࠩΛϩά͔Βݕ͢Δ • ΑΓ͍͍͢ϩάίʔυͷࣗಈੜ