์ ์ฒด ๊ธ
-
Swift PerformanceSwift 2021. 3. 1. 17:03
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Swift Performance, ์ค์ํํธ ํผํฌ๋จผ์ค์ ๋ํด ์ด์ผ๊ธฐ ํด๋ณผ๊น ํฉ๋๋ค๐ ์ฐ์ Performance๋ ๋ญ๋ผ๊ณ ์๊ฐํ๋ฉด ์ข์๊น์? ์ ๋ ํผํฌ๋จผ์ค๊ฐ ์ฑ๋ฅ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค. ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํ๋๋ผ๋ ํด๋์ค๋ก ๊ตฌํํ๋ ๊ตฌ์กฐ์ฒด๋ก ๊ตฌํํ๋์ ๋ฐ๋ผ ์ฑ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์์๊ฒ๋๋ค. ์ด๋ฌํ ์ฑ์ ์ฑ๋ฅ์ ์ต๋ํ์ผ๋ก ์ด๋์ด๋ผ ์ ์์ด์ผ ์ข์ ์ฑ์ด๋ผ๊ณ ํ ์ ์๊ฒ ์ฃ ??๐ ์ฑ๋ฅ์ ์๋ฃ๊ตฌ์กฐ์์๋ ์ด๋ค์์ผ๋ก ํํํด๋ณผ ์ ์์๊น์? : ์๊ฐ๋ณต์ก๋ (๋น ์ค ํ๊ธฐ๋ฒ, Big O)๋ก ํํํด๋ณผ ์ ์์ต๋๋ค. ์๊ฐ๋ณต์ก๋? : ์ฝ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ํน์ํ ํํ์ผ๋ก ๋ํ๋ธ ํ๊ธฐ๋ฒ์ผ๋ก ์ฑ๋ฅ์ด๋ ์ฐ๊ด๋์ด ์์ต๋๋ค. : ์๋ฅผ๋ค์ด ์ด์ค for๋ฌธ์ ์๊ฐ๋ณต์ก๋๋ก ๋ํ๋ด๋ฉด O(N^)์ผ๋ก ๋ํ๋ผ ์ ์์ต..
-
iOS File SystemiOS 2021. 2. 25. 15:41
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ iOS File System๊ณผ fileManager ํด๋์ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ํ์ผ ์์คํ ? : ํ์ผ/์๋ฃ๋ฅผ ํ์/์ ๊ทผ/๋ณด๊ด ๋ฑ์ ๊ธฐ๋ฅ์ผ๋ก ํ์ผ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ์์คํ (์๊ตฌ ์ ์ฅ์ ๊ด๋ฆฌ) : OS File System Disk ์ ํ ํ์ผ ์์คํ ? : Apple file system, APFS๋ก ๋ถ๋ฆฌ๋ฉฐ ์ ํ์์ macOS, iOS, watchOS, tvOS ๋ชจ๋์์ ๋ฒ์ฉ์ผ๋ก ์ฌ์ฉํ๋๋ก ๋ง๋ ํ์ผ ์์คํ : ๋์คํฌ ํ์ผ ์์คํ (๋์คํฌ ๋๋ผ์ด๋ธ ๊ด๋ฆฌ) : ๊ธฐ์กด HFS+ ๋์ฒดํ๋ ์ ๊ท ํ์ผ ์์คํ : iOS์์๋ 10.3 ๋ฒ์ ๋ถํฐ macOS์์๋ ํ์ด ์์๋ผ ๋ฒ์ ๋ถํฐ ๋์ ์ ํ ํ์ผ ์์คํ ์ ๊ธฐ๋ฅ 1) ์ปจํ ์ด๋ ๋ฐฉ๋ฒ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋ ๋ด ํํฐ์ ์ฉ๋ ์กฐ์ ..
-
Responder Chain / Touch EventiOS 2021. 2. 22. 18:04
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Responder Chain / Touch Event์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Responder๋? : ์ด๋ฒคํธ๋ฅผ ํธ๋ค๋งํ๊ณ ๋ฐ์ํ ์ ์๋ ๊ฐ์ฒด : ๋ชจ๋ Resonder ๊ฐ์ฒด๋ UIResponder์์ ์์๋ ํด๋์ค์ ์ธ์คํด์ค : ์ด๋ฒคํธ ๋ฐ์ ์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํด ํด๋น ์ด๋ฒคํธ๋ฅผ ์ฑ์ Responder ๊ฐ์ฒด์ ์ ๋ฌ : UIKit์ ์ ์๋ UIResponder ํด๋์ค ์ด๋ฒคํธ ์ข ๋ฅ : Touch / Press / Shake-motion / Remote-control / Editing menu : responder๊ฐ ํด๋น ์ด๋ฒคํธ์ ๋ง๋ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ํด์ ๊ตฌํํด์ผํจ Responder Chain : responder ๊ฐ์ฒด๋ค์ด ์ด๋ฒคํธ๋ ์ก์ ๋ฉ์์ง๋ฅผ ํธ๋ค๋งํด์ผ๋ ๊ฒ์ ์ฑ..
-
์์กด์ฑ ๊ด๋ฆฌ๋๊ตฌiOS 2021. 2. 18. 20:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์์กด์ฑ ๊ด๋ฆฌ๋๊ตฌ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์์กด์ฑ ๊ด๋ฆฌ๋๊ตฌ? : ์ฑ ๊ฐ๋ฐ์ ์ํด ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ ๋ ํ๋ก์ ํธ์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๊ด๊ด๊ณ๋ฅผ ์ฉ์ดํ๊ฒ ๊ด๋ฆฌํด์ฃผ๋ ๋๊ตฌ : ํ์๋ ์๋๋ ์ฌ์ฉํ๋ฉด ๋ถํ์ํ ๊ณต์๊ฐ ์ค์ด๋ฌ -> ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ธ๋ค ์ธ๋ ์ ๋ฐ์ดํธ๊ฐ ์๊ฒจ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ต์ฒดํด์ค์ผ๋์ด ํด๋จผ ์๋ฌ๊ฐ ๋ ์ ์์ผ๋ ํด๋น ์์ ๋ค์ ์์กด์ฑ ๊ด๋ฆฌ๋๊ตฌ๋ฅผ ์ด์ฉํ๋ฉด ๋ช ๋ น์ด ํ์ค ๋ฑ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ๋จ -. ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ ์ฅ์ : ์๊ฐ์ ์ฝ ๋ฐ ์์ ์ฑ ๋ณด์ฅ -. ์ธ์ด๋ณ๋ก ์์กด์ฑ ๊ด๋ฆฌ๋๊ตฌ ๋ค์ 1) ์๋ฐ์๋ Maven 2) JS์๋ Yarn, NPM 3) ํ์ด์ฌ pyenv —> ์ ํ: ์ฝ์ฝ์ํ, ์นด๋ฅดํ๊ณ , ์ค์ํํธ ํจํค์ง ๋งค๋์ -. Cocoa, Co..
-
ARC ์ฌํSwift 2021. 2. 17. 12:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ARC์ ๋ํด ์ฌํ์ ์ผ๋ก ์์๋ณด๊ฒ ์ต๋๋ค. ARC๋? : Automatic Reference Counting (์๋์ฐธ์กฐ๊ณ์)๋ฅผ ๋ปํ๋ค. : ๋ค๋ฅธ ์ธ์ด์๋ ์๋ ๋ ์ฐฝ์ ์ธ ๊ฒ์ผ๋ก ์๋ฐ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๊ธฐ๋ฒ๊ณผ๋ ๋ค๋ฆ (๋ฉ๋ชจ๋ฆฌ ํด์ ์์ ์ ๊ดํ ์ดํด๊ฐ ํ์) ์๋์ฐธ์กฐ๊ณ์๋? : ์ฑ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ถ์ ํ๊ณ ๊ด๋ฆฌํด์ค๋ค. : ์ธ์คํด์ค๊ฐ ๋์ด์ ํ์ํ์ง ์์๋ ํด๋์ค ์ธ์คํด์ค์ ์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ ํด์ค๋ค. (์ฐธ์กฐ ํ์ ์ ํ ๋น / ํด์ ์์ ์ ์๋ ๊ด๋ฆฌ) : ํด๋์ค์ ์ธ์คํด์ค(์ฐธ์กฐ ํ์ )์๋ง ์ ์ฉ (๊ตฌ์กฐ์ฒด/์ด๊ฑฐํ ๋ฑ ๊ฐ ํ์ ์๋ ์ ์ฉ๋์ง ์๋๋ค) ARC ํน์ง 1) ํ๋์ ํ์ฑํ ์ฐธ์กฐ๊ฐ ์๋ค๋ฉด ์ธ์คํด์ค๋ ํ ๋น ํด์ ๋์ง ์๊ณ ๊ณ์ ์กด์ฌ 2) ๊ฐํ์ฐธ์กฐ์ ํ ๋น์ nil๋ก ์ ๋ฆฌ..
-
Git ์ปค๋ฐ ๋ฉ์์ง ๋ณ๊ฒฝGit 2021. 2. 16. 05:19
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Git ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ธฐ๋กํด๋ณด๊ฒ ์ต๋๋คโบ๏ธ ๋ค๋ค ๊ทธ๋ฐ ๊ฒฝํ์ด ์์๊ฑฐ์์.. ์ปค๋ฐ์ ํ๋๋ฐ ์..! ๋ด๊ฐ ์ปค๋ฐ ๋ฉ์์ง์ ์คํ๊ฐ ๋ฌ๋ค ์๋๋ฉด ํ๊ทธ๋ฅผ ์๋ชป๋ฌ์๋ค ํ๋ ๊ฒฝํ์ด์ใ ใ ๊ทธ๋ด๋ ์ปค๋ฐ ๋ฉ์์ง ๋ณ๊ฒฝ ๋ฐฉ๋ฒ์ ๋ชฐ๋๋ ์ ๋ ์ปค๋ฐ์ ์ทจ์ํ๊ณ ๋ค์ ์ปค๋ฐํ๋ ๋ฒ๊ฑฐ๋ก์ด ๊ณผ์ ์ ๊ฑฐ์ณค๋๋ฐ์..! ์ด์ ๋ ์ ํ ๊ทธ๋ด ํ์๊ฐ ์๊ฒ ๋์์ด์! 1. git commit --amend : ๋ง์ง๋ง ์ปค๋ฐ ๋ฉ์์ง ๋ณ๊ฒฝ ์ด๋ ๊ฒ ์์ฝ๊ฒ ๊น ๋ช ๋ น์ด๋ฅผ ํตํ๋ค๋ฉด ๋ง์ง๋ง ์ปค๋ฐ ๋ฉ์์ง ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํฉ๋๋ค! ๋ง์ฝ ํธ์ฌ๋ฅผ ํ์๋ค๋ฉด git push -f๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. 2, git rebase -i : ์ปค๋ฐ์ base๋ฅผ ๋ค์ ์ฌ์ ์ ํ๋ ์์ (๋ง์ง๋ง ์ปค๋ฐ์ด ์๋ ์์ ์ปค๋ฐ์ ๋ณ๊ฒฝํ ๋ ์ฌ..
-
CoreDataiOS 2021. 2. 15. 17:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ CoreData(์ฝ์ด๋ฐ์ดํฐ)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค..! ์ฐ์ ์ฝ์ด๋ฐ์ดํฐ๋ผ๋๊ฑธ ์๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์์๋ณด๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ๋์ด๊ฐ๊ฒ ์ต๋๋คโบ๏ธ 1. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋? : DataBase ์ค์ฌ์ DB๋ผ๊ณ ํํ ๋ถ๋ฅด๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํ ๊ธฐ๋ฅ์ด๋ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ์ถ์์ ์ธ ๊ฐ๋ ์ ๋๋ค. -. ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ฌ๋ฌ๊ฐ์ง ๋ค์ํ ์ข ๋ฅ๋ค๋ก ๋๋ ์ ์์ต๋๋ค. 1) ๊ณ์ธตํ: ๋ฐ์ดํฐ ๊ด๊ณ๋ฅผ ํธ๋ฆฌ ํํ๋ก ์ ์ํ๋ ๊ตฌ์กฐ (๋ฐ์ดํฐ ์ค๋ณต์ด ์๊ธธ ์ ์์) 2) ๋คํธ์ํฌํ: ๋ฐ์ดํฐ ๊ด๊ณ๋ฅผ ๊ทธ๋ฌผ ํํ๋ก ์ ์ํ๋ ๊ตฌ์กฐ (๊ณ์ธตํ์ ๋ฐ์ดํฐ ์ค๋ณต ๋ฌธ์ ๋ ํด๊ฒฐ๋์ง๋ง ๋ณต์กํ ๊ตฌ์กฐํ์ ์ถํ ๊ตฌ์กฐ ๋ณ๊ฒฝ ์ ๋น์ฉ์ด ๋ง์ด๋ฌ) 3) ๊ด๊ณํ(SQL): ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๊ตฌ์กฐ๋ก ํํ ์ฌ์ฉํ๋..
-
CacheCS(ComputerScience) 2021. 2. 4. 15:38
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Cache (์บ์)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.โ๏ธ 1. ์บ์๋ ?? : ์บ์(cache)๋ ๋ฐ์ดํฐ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋๋ ์์ ์ ์ฅ์๋ฅผ ๋งํ๋ค. -. ์ญํ ๋ฐ ์ฅ์ : ๊ธฐ์กด๋ฐฉ์์ผ๋ก๋ ๋ฐ์ดํฐ ์ ๊ทผ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ฑฐ๋ ๊ฐ์ ๋ค์ ๊ณ์ฐํ๋ ์๊ฐ์ ์ ์ฝํ ๋ ์ฌ์ฉ (์๊ฐ์ ์ค์!), ์บ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋์ผ๋ฉด ๊ณ์ฐ์ด๋ ์ ๊ทผ ์๊ฐ ์์ด ๋ ๋น ๋ฅธ ์๋๋ก ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค. -. ๋จ์ : ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ๋ก๋ฐ๋ก ํด์ฃผ์ง ์๊ธฐ์ ์ฆ๊ฐ์ฑ์ด ๋จ์ด์ง 2. ์บ์๋ฅผ ๊ตฌ๋ถํ๋ ๊ธฐ์ค -. ํด๋ผ์ด์ธํธ / ์๋ฒ : ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ์บ์๋ ๊ตฌ๋ถ๋๋ค. ํด๋ผ์ด์ธํธ๋ ํด๋ผ์ด์ธํธ๋ง์ local์ ์ ์ฅํ ์ ์๋ ์บ์๊ฐ ์์ผ๋ฉฐ, ์๋ฒ๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํด ์ ์ฅํ ์ ์๋ ์บ์๊ฐ ..