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
600
iOS デバッグ&プロファイル
[email protected]
August 24, 2018
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
Swift compiler 101 & How async function works
shiz
0
5
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
180
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.3k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
13k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
420
複雑さに立ち向かうためのコードリーディング入門
shiz
35
13k
Swift Observation
shiz
5
790
Swift Reflection
shiz
1
190
Swift Concurrency Next Step
shiz
7
7.8k
Other Decks in Programming
See All in Programming
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
2.8k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
110
為你自己學 Python
eddie
0
520
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
230
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
11
5.4k
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
250
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
2k
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.4k
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.3k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Docker and Python
trallard
43
3.2k
KATA
mclloyd
29
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Producing Creativity
orderedlist
PRO
343
39k
The Language of Interfaces
destraynor
155
24k
RailsConf 2023
tenderlove
29
980
How to train your dragon (web standard)
notwaldorf
89
5.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
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
ྑ͍ใݯษڧձͳͲ ͋Γ·ͨ͠Βڭ͍͑ͯͩ͘͞'
ˌใٻϜ