์ ์ฒด ๊ธ
-
Closure ์ฌํSwift 2021. 4. 27. 18:11
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ํด๋ก์ ์ ์ฌํํธ์ผ๋ก Completion Handler / Escaping Closure / Auto Closure์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Completion Handler - ์ด๋ค ์ํฉ์์ ์ผ์ด ๋๋ฌ์๋ ์งํํ ์ ๋ฌด๋ฅผ ๋ด๋น - ์ปดํ๋ฆฌ์ ํธ๋ค๋ฌ์ ํด๋ก์ ๋ฅผ ์ ์ฉ์์ผ๋ณผ ์ ์์ Completion Handler์์์ ํด๋ก์ ์ถ์ฝ ๊ณผ์ 1. VC.present(secondVC, animated: true, completion: { () in print(“ํ๋ฉด ์ด๋”) }) 2. VC.present(secondVC, animated: true, completion: { print(“ํ๋ฉด ์ด๋”) }) 3. VC.present(secondVC, animated: true)..
-
LLDB (9) - FormattingLLDB 2021. 4. 26. 11:47
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ LLDB์์ ์ถ๋ ฅ๋๋ ์ค๋ช ์ฆ Description์ ์ ๋ณด ํ์์ ์ ์ํ ์ ์๋๋ฐ ์ด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป Frame & Thread - LLDB์์ ์ฌ์ฉ์๊ฐ ํ๋ ์ ๋ฐ ์ค๋ ๋์ ๋ํ ์ค๋ช (description)์ ์ ๋ณด ํ์์ ์ ์ํ ์ ์์ - ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ ์ดํฌํฌ์ธํธ ๋์ด ์ค๋จ๋๋ฉด ์ค๋จ ์ด์ ๋ฐ ์์น ์ค๋ช ์ ๋ํด ์๋์ ๊ฐ์ด ๋์ค๋ก ํ์ * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: test`main at test.c:5 - ์ถ๋ ฅ๋๋ ํ์ ์ค์ (setting set) (lldb) settings set thread-stop-format STRI..
-
LLDB - ๋ช ๋ น์ด (8)LLDB 2021. 4. 25. 15:41
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ LLDB ๋ช ๋ น์ด์ค ์ ๋ฆฌํ์ง ๋ชปํ ๋ช ๋ น์ด์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป unalias: ๋ณ์นญ์ด ์ฃผ์ด์ง๊ฒ์ ์ ๊ฑฐ (lldb) command unalias “๋ณ์นญ์ค๊ฒ” thread step-inst: ๋ช ๋ น์ด์ ์์ผ๋ก ๋ค์ด๊ฐ (lldb) si thread step-inst-over: ๋ช ๋ น์ด์ ํ๋จ๊ณ๋ฅผ ์งํ์ํด (lldb) ni thread until ๋ผ์ธorํ๋ ์: ํด๋น ๋ผ์ธ ํน์ ํ๋ ์๊น์ง ์ค๋ ๋๋ฅผ ์งํ thread list: ํ์ฌ ์ค๋ ๋ ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅ --> *๋ ํ์ฌ ์ค๋ ๋๋ฅผ ๋ํ๋ thread backtrace: ์ค๋ ๋ ์ญ์ถ์ -. ํจ์ถ์ด: bt thread return : ํด๋น ํ๋ ์์์ ์ค๋ ๋ ์ฆ์ ๋ฐํ frame variable: ํด๋น ํ๋ ์์ ์ ์ธ๋ ๋ณ์..
-
LLDB - ๋ช ๋ น์ด (7)LLDB 2021. 4. 23. 15:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ฌํ ์์๋ณธ LLDB ๋ช ๋ น์ด ์ธ์ ๋ช ๋ น์ด๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ptv: ๋ทฐ์ ์ต์์ ํ ์ด๋ธ๋ทฐ ์ ๋ณด ์ถ๋ ฅ (lldb) ptv pcells: ๋ทฐ์ ์ต์์ ํ ์ด๋ธ๋ทฐ์ ์ ๋ณด ์ถ๋ ฅ pinternals: ๊ฐ์ฒด ๋ด๋ถ ์ ๋ณด ์ถ๋ ฅ pkp: ํคํจ์ค๋ก ๊ฐ ์ถ๋ ฅ present/dismiss: ๋ทฐ์ปจ์ ๋ณด์ฌ์ฃผ๊ฑฐ๋ ์ฌ๋ผ์ง๊ฒํจ slowanim / unslowanim: ์ ๋๋ฉ์ด์ ์ ๋๋ฆฌ๊ฒ / ์ ์์ ์ผ๋ก ํด์ค paltrace: ์๋ธ๋ทฐ์ ๊ณ์ธต๊ตฌ์กฐ ์ถ๋ ฅ (์คํ ๋ ์ด์์์ด ์๋ชป๋์ด ์์ผ๋ฉด Ambiguous Layouts๋ผ๊ณ ๋จ๋๊ฑธ ๋ณผ ์ ์์) alamborder / alamunborder: ์๋ชป๋ ์คํ ๋ ์ด์์์ ๋ณด๋๋ฅผ ์ค์ ํด์ฃผ์ด ์์๋ณด๊ธฐ ์ฝ๊ฒ ๋ง๋ฌ : ์ปฌ๋ฌ๋ฅผ ์ง์ ํด์ฃผ์ง ์๋๋ค๋ฉด ๋ํดํธ ๋ณด๋์์ ๋นจ..
-
LLDB (6) - ์คํ์์ค ์คํฌ๋ฆฝํธ (Chisel)LLDB 2021. 4. 22. 12:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ Derek Selander ์คํ์์ค์ ์ด์ด Chisel์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป Chisel? - iOS ์ฑ ํ๊ฒฝ์์ ๋๋ฒ๊น ์ ๋ค์ํ๊ณ ์ ์ฉํ LLDB ๋ช ๋ น์ด๋ค์ ์ง์ํ๊ธฐ ์ํ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ๋ช ๋ น์ด์ค OS X๋ ์ง์๋์ง ์๊ณ iOS์์๋ง ์ง์๋๋๊ฒ๋ค๋ ์์ (๋ทฐ์ ๊ดํ๊ฒ๋ค) Chisel ์ค์น brew update (ํ๋ธ๋ฅ ๋ฒ์ ์ ๋ฐ์ดํธ) brew install chisel (ํ๋ธ๋ฅ๋ฅผ ํตํ chisel ์ค์น) ~/.lldbinit ํ์ผ ์คํ command script import /usr/local/opt/chisel/libexec/fbchisellldb.py (๋ด์ฉ ์ถ๊ฐ) Chisel Command - pview: ํ์ฌ ์ฐฝ์ ํ์๋๋ ๋ชจ๋ ..
-
ํด์ - ์์ฅAlgorithm 2021. 4. 21. 17:42
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ํด์ > ์์ฅ ํํธ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค. ์ข ๋ฅ์ด๋ฆ ์ผ๊ตด ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค ์์ ํ๋์ ํฐ์ ์ธ ํ์ ์ฒญ๋ฐ์ง ๊ฒ์ท ๊ธด ์ฝํธ ์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์คํ์ด๊ฐ ๊ฐ์ง ์์์ ..
-
LLDB (5) - ์คํ์์ค ์คํฌ๋ฆฝํธ (Derek Selander)LLDB 2021. 4. 21. 12:53
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ LLDB์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ๋ช ๋ น์ด๋ฅผ ๋์ด ๋ค์ํ ์คํ์์ค ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ํ์ฉํ๋ฉด ์ข์ ๋ช ๋ น์ด๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ ์คํ์์ค LLDB ์คํฌ๋ฆฝํธ๋ฅผ ์์์ผํ ๊น? - ์ฌ์ค ๋ชฐ๋ผ๋ ์๊ด์์ต๋๋ค. ๋ค๋ง ์ฌํ ๋ช ๋ น์ด๋ค์ ๋ณต์กํ๊ฒ ์กฐํฉํ์ฌ LLDB ๋ช ๋ น์ด๋ค์ ์ผ๋ ๋ถ๋ถ๋ค์ ๋ํด ์คํ์์ค์์๋ ์ด๋ฏธ ๊ทธ๋ฐ ๋ช ๋ น์ด๋ค์ ์ข ๋ ํธ๋ฆฌํ๊ฒ ์ฐ๋๋ก ์กฐํฉํด๋จ๊ธฐ์ ์ฐ๋ฉด ํจ์ฌ ํธ๋ฆฌํ๊ฒ ์ฃ ?๐ ์คํ์์ค๋ฅผ ๊ฐ์ ธ๋ค ์ฐ๋ ๋ฐฉ๋ฒ 1. HomeBrew๋ฅผ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ดํ์ฌ .lldbinit ํ์ผ์ ๋ฃ๋ ๋ฐฉ๋ฒ 2. ์คํ์์ค ๊นํ์ ํด๋ก ํด์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๊ณ .lldbinit ํ์ผ์ ๋ฃ๋ ๋ฐฉ๋ฒ .lldbinit ํ์ผ์ด๋? - lldb๋ฅผ ์คํ ์ ์ด๊ธฐํ์ผ๋ก ์์ ์ค๋ช ํ alias์ ๊ฐ..
-
Machine LearningiOS 2021. 4. 20. 19:26
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ๋จธ์ ๋ฌ๋์ ๋ํด ํ์ตํด๋ณด๊ณ iOS ํ๊ฒฝ์์ ๋จธ์ ๋ฌ๋์ ์ ์ฉํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค๐ง๐ป๐ป ๋จธ์ ๋ฌ๋ - ์ธ๊ณต์ง๋ฅ(AI)์ ์ผ์ข ๋ถ์ผ๋ก ์ด๊ธฐ์๋ ์กฐ๊ฑด๋ฌธ์ ํตํด ๊ท์น์ ์ ํ๊ณ ์ธ๊ณต์ง๋ฅ์ ๊ตฌํํ์๋๋ฐ ๋น ์ง๋ ์กฐ๊ฑด์ด๋ ํ๊ณ๊ฐ ์์ด ๊ธฐ๊ธฐ ์ค์ค๋ก ์ฌ๋ก์ ๊ฒฝํ์ ํตํด ํ์ตํ๋๋ก ํ๊ฒ์ ๋จธ์ ๋ฌ๋๐ค - ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์์ฑํ๋ ๋จ๊ณ: training - ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์ฌ์ฉํด์ ์๋ต ๋ฐ๋ ๋จ๊ณ: prediction CoreML - ์ฑ์ ๋จธ์ ๋ฌ๋(CoreML) ๋ชจ๋ธ์ ํตํฉํ๋ ์ ํ์ ํ๋ ์์ํฌ - ์ฑ์ Core ML API / ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ๊ธฐ๊ธฐ์์ ํ์ตํ๊ณ ์์ธกํ๊ณ ์กฐ์ ํจ - ๋ชจ๋ธ์ ์ฌ์ง๋ถ๋ฅ / ํฝ์ ์์ ๊ฐ์ฒด ๊ฐ์ง ๋ฑ์ ๋ชจ๋ธ ํ๋ จ (์ฝ๋ ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ๋นํ์ค์ ์ธ ์์ ์ํ)..