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.2k
モバイルアプリの行動ログの運用つらさ解消法 / 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
380
OS 固有の新機能をサービスに取り入れ活用していくための Tips
aomathwift
0
43
DocC Documentation Archiveをアプリ開発で活用してみよう / DocC Documentation Archive for iOS Application
aomathwift
0
510
即時通知を導入する際に考えるべきこと
aomathwift
0
4.1k
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話 After Talk
aomathwift
0
460
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話
aomathwift
1
9.3k
Other Decks in Technology
See All in Technology
Nix入門パラダイム編
asa1984
2
200
MAMを軸とした動画ハンドリングにおけるAI活用前提の整備と次世代ビジョン / abema-ai-mam
cyberagentdevelopers
PRO
1
110
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
3
590
Gradle: The Build System That Loves To Hate You
aurimas
2
150
生成AIの強みと弱みを理解して、生成AIがもたらすパワーをプロダクトの価値へ繋げるために実践したこと / advance-ai-generating
cyberagentdevelopers
PRO
1
180
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
【若手エンジニア応援LT会】AWS Security Hubの活用に苦労した話
kazushi_ohata
0
160
一休.comレストランにおけるRustの活用
kymmt90
3
580
プロダクトチームへのSystem Risk Records導入・運用事例の紹介/Introduction and Case Studies on Implementing and Operating System Risk Records for Product Teams
taddy_919
1
170
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
730
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
150
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
470
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Side Projects
sachag
452
42k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Applications with DynamoDB
mza
90
6.1k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Thoughts on Productivity
jonyablonski
67
4.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Bash Introduction
62gerente
608
210k
Statistics for Hackers
jakevdp
796
220k
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 ͷػೳࠩΛϩά͔Βݕ͢Δ • ΑΓ͍͍͢ϩάίʔυͷࣗಈੜ