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.6k
モバイルアプリの行動ログの運用つらさ解消法 / 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
430
OS 固有の新機能をサービスに取り入れ活用していくための Tips
aomathwift
0
63
DocC Documentation Archiveをアプリ開発で活用してみよう / DocC Documentation Archive for iOS Application
aomathwift
0
620
即時通知を導入する際に考えるべきこと
aomathwift
0
5.1k
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話 After Talk
aomathwift
0
510
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話
aomathwift
1
10k
Other Decks in Technology
See All in Technology
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.2k
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
170
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
390
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
人工衛星のファームウェアをRustで書く理由
koba789
15
8k
テストを軸にした生き残り術
kworkdev
PRO
0
210
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
170
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
A Tale of Four Properties
chriscoyier
160
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
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 ͷػೳࠩΛϩά͔Βݕ͢Δ • ΑΓ͍͍͢ϩάίʔυͷࣗಈੜ