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
16
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
210
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.4k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
13k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
470
複雑さに立ち向かうためのコードリーディング入門
shiz
35
13k
Swift Observation
shiz
5
800
Swift Reflection
shiz
1
200
Swift Concurrency Next Step
shiz
7
7.9k
Other Decks in Programming
See All in Programming
CI改善もDatadogとともに
taumu
0
120
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
180
Conform を推す - Advocating for Conform
mizoguchicoji
3
700
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.5k
GAEログのコスト削減
mot_techtalk
0
120
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
Software Architecture
hschwentner
6
2.1k
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
時計仕掛けのCompose
mkeeda
1
300
Ruby on cygwin 2025-02
fd0
0
150
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Docker and Python
trallard
44
3.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Being A Developer After 40
akosma
89
590k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Adopting Sorbet at Scale
ufuk
74
9.2k
Gamification - CAS2011
davidbonilla
80
5.1k
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
ྑ͍ใݯษڧձͳͲ ͋Γ·ͨ͠Βڭ͍͑ͯͩ͘͞'
ˌใٻϜ