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
iOS デバッグ&プロファイル
Search
[email protected]
August 24, 2018
Programming
2
610
iOS デバッグ&プロファイル
[email protected]
August 24, 2018
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
TSPLのすすめ
shiz
1
87
Swift compiler 101 & How async function works
shiz
0
48
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
290
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.9k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
15k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
620
複雑さに立ち向かうためのコードリーディング入門
shiz
35
14k
Swift Observation
shiz
5
850
Swift Reflection
shiz
1
260
Other Decks in Programming
See All in Programming
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
230
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
250
CSC305 Lecture 01
javiergs
PRO
1
380
気づいて!アプリからのSOS 〜App Store Connect APIで始めるパフォーマンス健康診断〜
waka12
0
250
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
2
300
defer f()とdefer fの挙動を 誤解していた話
kogamochiduki
2
160
Server Less Code More - コードを書かない時代に生きるサーバーレスデザイン / server-less-code-more
gawa
5
1.9k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
320
CSC305 Lecture 02
javiergs
PRO
1
260
CSC509 Lecture 02
javiergs
PRO
0
400
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
210
CSC305 Lecture 03
javiergs
PRO
0
230
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Done Done
chrislema
185
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Balancing Empowerment & Direction
lara
4
670
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
How to Think Like a Performance Engineer
csswizardry
27
2k
Designing for Performance
lara
610
69k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Transcript
J04 σόοάϓϩϑΝΠϧ 3PQQPOHJTXJGU
ࣗݾհ wTIJ[ ͣ͠ !TU[O wडୗ։ൃձࣾۈ wϞόΠϧ͔ΒΠϯϑϥ·ͰΔ ͪΌΜΆΜΤϯδχΞ 4XJGU "OESPJE LPUMJO
"OHVMBS /PEFKT $ 1)1 +BWB wJ04ΤϯδχΞࢦ͍ͯ͠·͢
J04%$5SBDL"
ͳͷͰຊʜ
શવҧ͏Λ͠·͢
88%$ Practical Approaches to Great App Performance Advanced Debugging with
Xcode and LLDB iOS Memory Deep Dive What’s New in Energy Debugging Measuring Performance Using Logging Creating Custom Instruments
ςετΑ͘Λ ཋͼΔ͚Ͳ σόοάϓϩϑΝΠϧʁ
ςετ ༧ྍ๏ σόοά ϓϩϑΝΠϦϯά ରྍ๏
WWDCͷσόοάܳͳͲ ৭ʑݕ౼ͯ͠ΈΔ
ݪҼ͕Θ͔Βͳ͍Τϥʔ Λಛఆ͢Δ
None
&YDFQUJPO#SFBLQPJOU
None
࠶ݱʹख͕͔͔ؒΔ σόοάΛ͢Δ
༷ ̑ճࣦഊͨ͠߹ϝοηʔδΛग़ͯ͠ऴྃ͢Δ ϝοηʔδ͕ग़ͳ͍ Γ͍ͨ͜ͱ ̑ճࣦഊͨ͠ޙʹऴྃ࣌ͷॲཧͷதΛௐΔ
͕͋Δ
USVFͰࢭ·Δ ̑ճ࣮ߦ͢ΔͱUSVFʹͳΔ #SFBLQPJOUͰࢭ·ΔΑ͏ʹ͢Δ
FYQSGPSJJO \TFMGDBMDVMBUF"GUFS"OTXFS BOTXFS ^ ࣮ߦΛࢭΊͣʹճ܁Γฦࣦ͠ഊͤ͞Δ
͜ΕΛಉ࣌ʹઃఆ͢Δͱ
CSFBLQPJOUͰ ࢭ·Βͳ͘ͳΔ
USVFͰࢭ·ͬͯ͘Εͳ͍ ̑ճ࣮ߦ͢ΔͱUSVFʹͳΔ #SFBLQPJOUͰࢭ·ΔΑ͏ʹ͢Δ
None
ઃఆΛม͑ͯΈΔ
FYQSJGBMTFGPSJJO \TFMGDBMDVMBUF"GUFS"OTXFS BOTXFS ^ ࣮ߦΛࢭΊͣʹճ܁Γฦࣦ͠ഊͤ͞Δ JΛઃఆ͢Δͱ CSFBLQPJOUεΩοϓͷઃఆΛແࢹ͢Δ
͜ΕΛಉ࣌ʹઃఆ͢Δͱ
$POEJUJPO͕ແࢹ͞ΕΔ
GBMTFͳͷʹࢭ·Δ ࣮ߦճ·ͩ̎ճ
None
׳Εͱ͕ඞཁ
͏Ұͭٙ
ϝιουͷҾ ͷมߋ͕Ͱ͖ͳ͍ʁ
มΘΒͳ͍ DBMDVMBUF"GUFS"OTXFS JT3JHIU#PPM DVSSFOU1PJOUDVSSFOU1PJOU USVFʹͳ͍ͬͯΔ
มߋ͢Δͱ
& ͕ߋ৽͞Ε͍ͯΔ
׳Εͱ͕ඞཁ
ͷมߋΛ͍͔͚Δ
͕ߋ৽͞Εͳ͍
XBUDIQPJOU
None
͕มߋ͞ΕΔλΠϛϯάͰࢭ·Δ
6*ΛͦͷͰௐ͢Δ
ϓϩύςΟʹΞΫηε Ͱ͖Δ߹
None
QPRVFTUJPODFOUFSZ QP$"5SBOTBDUJPOqVTI
QPRVFTUJPODFOUFSZ QP$"5SBOTBDUJPOqVTI
ϓϩύςΟʹΞΫηε Ͱ͖ͳ͍߹ʁ
FYQSFTTJPOMPCKD 0 < 6*7JFX YGFCCEEBF SFDVSTJWF%FTDSJQUJPO> 7JFXͷ֊ߏ͕औಘͰ͖Δ
QPVOTBGF#JU$BTU YGFCCEG UP 6*-BCFMTFMG DFOUFSZ VOTBGF#JU$BTU ܕ͕ฦͬͯ͘ΔͷͰͦͷ··͑Δ
DPNNBOEBMJBT DPNNBOEBMJBTQPDFYQSFTTJPOMPCKD 0 QPD< 6*7JFX YGFCCEEBF SFDVSTJWF%FTDSJQUJPO> QPDίϚϯυΛ࡞͢Δ
DPNNBOETDSJQUJNQPSU DPNNBOETDSJQUJNQPSUdOVEHFQZ OVEHFYGFCCEG GBDFCPPLDIJTFM IUUQTHJUIVCDPNGBDFCPPLDIJTFM QZUIPOεΫϦϓτΛΠϯϙʔτ͢Δ
dMMECJOJU ىಈ࣌ʹίϚϯυΛಡΈࠐΉ dMMECJOJU9DPEF
ศརͳCSFBLQPJOU TZNCPM6*7JFX"MFSU'PS6OTBUJTpBCMF$POTUSBJOUT "VUP-BZPVUͷΛݕ TZNCPM/4,70%FBMMPDBUF#SFBL ·ͩొ͞Ε͍ͯΔ,70ϓϩύςΟ͕EFBMMPD͞Εͨ͜ͱΛݕ TZNCPM@9$5'BJMVSF)BOEMFS 9$5FTUͰΤϥʔ͕ग़ͨՕॴΛݕ TZNCPM@/4%BUB3FJOJUJBMJ[BUJPO#SFBL ॳظԽࡁΈͷ/4%BUB͕࠶ͼॳظԽ͞Εͨ͜ͱΛݕ
ىಈ͕͍ཧ༝ΛௐΔ
ͭͷεςʔδ 1SFNBJO 1PTUNBJO 6*"QQMJDBUJPO.BJOͷNBJO ͕ݺΕΔલ γεςϜ͕ίϯτϩʔϧ͢Δ 6*"QQMJDBUJPO.BJOͷNBJO ͕ݺΕͨ͋ͱ BQQMJDBUJPOXJMM'JOJTI-BVODIJOH8JUI0QUJPOT ͔Β࠷ॳͷ7JFX$POUSPMMFSͷWJFX8JMM"QQFBS·Ͱ
Ϣʔβʔ͕ૢ࡞ՄೳʹͳΔ·Ͱ
1SFNBJO
%:-%@13*/5@45"5*45*$4
EZMJCMPBEJOH SFCBTFCJOEJOH 0CKDTFUVQ *OJUJBMJ[FS
w %ZOBNJD'SBNFXPSLͷଟ༻Λආ͚Δ "QQMFਪͭ·Ͱ w 0CKFDUJWF$ͷDMBTTͷΛݮΒ͢ w 0CKFDUJWF$ͷTUBUJDJOJUJBMJ[FSΛݮΒ͢ ˠ4XJGUͷTUSVDUΛ͏ w
NTΛඪʹ͢Δ J1IPOFͰϗʔϜ͔ ΒΞϓϦ͕ىಈ͞ΕΔ·Ͱͷ࣌ؒ w ඵΛ͑ΔͱΞϓϦ͕Ωϧ͞ΕΔ ҙ͢Δ͖ϙΠϯτ
%ZOBNJD'SBNFXPSLTͷ݁߹ "GSBNFXPSL #GSBNFXPSL $GSBNFXPSL %GSBNFXPSL &GSBNFXPSL 'GSBNFXPSL (GSBNFXPSL )GSBNFXPSL "#$%&GSBNFXPSL
'()GSBNFXPSL
4UBUJD'SBNFXPSLTͷม "#*4PVSDF4UBCJMJUZ
0CKFDUJWF$ͱͷ ϋΠϒϦουͷ߹
1PTUNBJO
4FDPOE3VO-PPQ .BJO2VFVFͰEJTQBUDIBTZODΛͯ͠Βͤͯྑ ͍ͷɻ͜ΕͰ͖ΔݶΓ࡞ۀྔΛ͑Δɻ ̏ͭͷྨ 'JSTU3VO-PPQ ඞͣ࠷ॳʹ͠ͳ͚Ε͍͚ͳ͍ͷΛઃఆ͢Δɻ Ͱ͖ΔݶΓ࡞ۀྔݮΒ͠ɺશମͷˋҎԼʹ͑Δ *OUIFCBDLHSPVOE ผ5ISFBEͰ#BDLHSPVOE࣮ߦͰ͖ΔͷɻΞφϦςΟ ΫεͷॳظԽͳͲඞਢͰͳ͍ͷɻ
ཁ ඞཁ࠷ݶͷ͜ͱΛʂ
ศརͳ-BVODI"SHVNFOUT /4%PVCMF-PDBMJ[FE4USJOHT:&4 จࣈΛ̎ճ܁Γฦͯ͠ग़ྗ͢Δ DPNBQQMF$PSF%BUB42-%FCVH 42-ग़ྗ /44IPX/PO-PDBMJ[FE4USJOHT:&4 -PDBMJ[BUJPO͠Ε͍ͯΔՕॴΛಛఆ "QQMF-BOHVBHFT FT
ݴޠઃఆͷมߋ
৭ʑݕ౼ͯ͠ Θ͔ͬͨ͜ͱ
ใ͕গͳ͍
None
ྑ͍ใݯษڧձͳͲ ͋Γ·ͨ͠Βڭ͍͑ͯͩ͘͞'
ˌใٻϜ