profile
๐ŸŒฑ iOS developer

[iOS] Capture Value

ํด๋กœ์ €๋Š” ์ฃผ๋ณ€์˜ ์ปจํ…์ŠคํŠธ์— ์žˆ๋Š” ์ƒ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๋“ค์„ ์บก์ณํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ์ˆ˜์™€ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•œ ์›๋ž˜ ๋ฒ”์œ„๊ฐ€ ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š๋”๋ผ๋„๊ทธ ์ƒ์ˆ˜์™€ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ฐธ์กฐํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 7์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] XIB, NIB, Storyboard

XIB, NIB, Storyboard ๋Š” MVC ๋””์ž์ธ ํŒจํ„ด์„ ์œ„ํ•ด ๋ทฐ ์ฝ”๋“œ์™€ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํŒŒ์ผ๋กœ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

2022๋…„ 7์›” 21์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Hide API Key

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ Github ๊ณผ ๊ฐ™์€ ๊ณต๊ฐœ๋œ ๊ณต๊ฐ„์— API Key ๋ฅผ ๊ทธ๋Œ€๋กœ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜๋ฉด ์‚ฌ์šฉ์ž๋“ค์ด API ์™€ Key ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์œ„ํ—˜์ด ์žˆ๋‹ค.

2022๋…„ 7์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] MVVM

MVVM ํŒจํ„ด์€ MVC ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค. MVC ์™€ ๋‹ค๋ฅด๊ฒŒ Controller ๊ฐ€ ์•„๋‹Œ ViewModel ๊ณ„์ธต์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

2022๋…„ 7์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

NewsAPI

์›น ์ „์ฒด์—์„œ ๋ผ์ด๋ธŒ ๊ธฐ์‚ฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ HTTP REST API ์ด๋‹ค.

2022๋…„ 7์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Garbage Collection vs. Automatic Reference Counting

ARC ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ˜ํ™˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ—ค๋“œ์—์„œ ์ž์œ ๋กญ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ํŠนํžˆ, ๋ฉ”๋ชจ๋ฆฌ์™€ CPU ๊ฐ€ ๋ฐ์Šคํฌํƒ‘์— ๋น„ํ•ด ์ œํ•œ์ ์ธ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ๋Š” ๋” ์ค‘์š”ํ•œ ๋ฌธ์ œ์ด๊ณ  ๊ทธ๋งŒํผ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ์ด๋“์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 7์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[ Algorithm ] Dynamic Programming

๋™์  ๊ณ„ํš๋ฒ•์€ ์ด๋ฏธ ํ–ˆ๋˜ ์—ฐ์‚ฐ์ด ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฐ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค. ์ฒ˜์Œ ์ง„ํ–‰ํ•˜๋Š” ์—ฐ์‚ฐ์„ ๊ธฐ๋กํ•ด๋‘๊ณ , ์ด๋ฏธ ์ง„ํ–‰ํ–ˆ๋˜ ์—ฐ์‚ฐ์ด๋ผ๋ฉด ๋‹ค์‹œ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.

2022๋…„ 7์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

PNG vs. JPG

์‹ค์‚ฌ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ๋ณต์žกํ•œ ์ด๋ฏธ์ง€๋ผ๋ฉด JPG ํŒŒ์ผ ํ˜•์‹์ด ์ข‹๊ณ  ๊นจ๋—ํ•œ ์ด๋ฏธ์ง€๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์ธ๊ณต์ ์œผ๋กœ ๋งŒ๋“  ๋””์ž์ธ์ผ ๊ฒฝ์šฐ์—๋Š” PNG ์••์ถ•์ด ๋” ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 7์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Bitwise Operators

Swift ์—์„œ๋„ ์—ฌ๋Ÿฌ ๋น„ํŠธ ์—ฐ์‚ฐ์ž๋ฅผ ์ง€์›ํ•œ๋‹ค.

2022๋…„ 7์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] nonzeroBitCount

nonzeroBitCount ํ”„๋กœํผํ‹ฐ๋Š” Int ํƒ€์ž…์˜ ์ด์ง„๋ฒ•์˜ 1์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

2022๋…„ 7์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] removeLast() vs. popLast()

๋‘ ๋ฉ”์„œ๋“œ๋Š” ๊ณตํ†ต์ ์œผ๋กœ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์—†์• ๊ณ ์—†์•ค ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.

2022๋…„ 7์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] ASCII, Unicode

ASCII ๋Š”๋ฏธ๊ตญ ๊ตญ๋ฆฝ ํ‘œ์ค€ ํ˜‘ํšŒ์—์„œ ํ‘œ์ค€ํ™”ํ•œ ์ •๋ณด๊ตํ™˜์šฉ 7๋น„ํŠธ ๋ถ€ํ˜ธ์ฒด๊ณ„์ด๋‹ค.

2022๋…„ 7์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] ~= Operator

~= ์—ฐ์‚ฐ์ž๋Š”๊ฐ’์ด ๋ฒ”์œ„์— ํฌํ•จ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Bool ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

2022๋…„ 7์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] tableView Header Height

tableView ๋‚ด์—๋Š” Sections, Headers, Footers ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

2022๋…„ 7์›” 13์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Strong vs. Weak

Interface Builder ๋ฅผ ์ด์šฉํ•˜์—ฌ View ๋ฅผ ๊ตฌ์„ฑํ•œ ๋’ค, ์ฝ”๋“œ์ƒ์—์„œ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” IBOutlet ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•œ๋‹ค. Storyboard ์™€ ์ฝ”๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋‹ค๋ณด๋ฉด Storage: Weak ์œผ๋กœ ๊ธฐ๋ณธ ์„ค์ •์ด ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 7์›” 13์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] TableView Cell

ํ…Œ์ด๋ธ”๋ทฐ ์…€์€ ํ…Œ์ด๋ธ”๋ทฐ๋ฅผ ์ด๋ฃจ๋Š” ๊ฐœ๋ณ„์ ์ธ ํ–‰์œผ๋กœ,UITableViewCell ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค.

2022๋…„ 7์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] TableView

ํ…Œ์ด๋ธ”๋ทฐ๋Š” iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์œผ๋ฉฐ ์Šคํฌ๋กค์ด ๊ฐ€๋Šฅํ•ด ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 7์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Gesture Recognizer

์ œ์Šค์ฒ˜ ์ธ์‹๊ธฐ๋Š” ์—ฌ๋Ÿฌ ์ œ์Šค์ฒ˜ ๊ด€๋ จ ์ด๋ฒคํŠธ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠน์ • ์ œ์Šค์ฒ˜ ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚  ๋•Œ๋งˆ๋‹ค ๊ฐ ํƒ€๊นƒ์— ๋งž๋Š” ์•ก์…˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์–ด ์ œ์Šค์ฒ˜ ๊ด€๋ จ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 7์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Target-Action

์•ก์…˜์€ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ˜ธ์ถœํ•  ๋ฉ”์„œ๋“œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ํƒ€๊นƒ์€ ์•ก์…˜์ด ํ˜ธ์ถœ๋  ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ์ „์†ก๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์•ก์…˜ ๋ฉ”์‹œ์ง€๋ผ๊ณ  ํ•˜๊ณ , ํƒ€๊นƒ์€ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋‚˜, ๋ณดํ†ต ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ผ๋ฐ˜์ ์ด๋‹ค.

2022๋…„ 7์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] Singleton

์‹ฑ๊ธ€ํ„ด์€ ํŠน์ • ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์˜ค์ง ํ•˜๋‚˜์ž„์„ ๋ณด์žฅํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํžŒ๋‹ค.

2022๋…„ 7์›” 4์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท