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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
aoi
September 02, 2023
Technology
3
2.7k
モバイルアプリの行動ログの運用つらさ解消法 / 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
450
OS 固有の新機能をサービスに取り入れ活用していくための Tips
aomathwift
0
66
DocC Documentation Archiveをアプリ開発で活用してみよう / DocC Documentation Archive for iOS Application
aomathwift
0
650
即時通知を導入する際に考えるべきこと
aomathwift
0
5.7k
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話 After Talk
aomathwift
0
540
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話
aomathwift
1
11k
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
130
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
640
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
170
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
140
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
190
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
220
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
330
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Writing Fast Ruby
sferik
630
62k
Statistics for Hackers
jakevdp
799
230k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Tell your own story through comics
letsgokoyo
1
810
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
57
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 ͷػೳࠩΛϩά͔Βݕ͢Δ • ΑΓ͍͍͢ϩάίʔυͷࣗಈੜ