profile
๐ŸŒฑ iOS developer

[Github.io] Favicon

์›นํŽ˜์ด์ง€์— ์ ‘์†ํ–ˆ์„ ๋•Œ ์ƒ๋‹จ์— ๋ณด์—ฌ์ง€๋Š” ์•„์ด์ฝ˜์„ ๋งํ•œ๋‹ค. ์ด ์•„์ด์ฝ˜์€ ์ฆ๊ฒจ์ฐพ๊ธฐ์— ์›นํŽ˜์ด์ง€๋ฅผ ๋“ฑ๋กํ•  ๋•Œ๋„ ์‚ฌ์šฉ๋œ๋‹ค. ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๋กœ๊ณ ์˜ ๊ฐœ๋…๊ณผ ๋น„์Šทํ•˜๋ฉฐ, ์‚ฌ์ดํŠธ์˜ ์„ฑ๊ฒฉ์„ ๋“œ๋Ÿฌ๋‚ด๊ธฐ๋„ ํ•œ๋‹ค.

์•ฝ 4์‹œ๊ฐ„ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] typealias

๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. typealias ๊ฐ€ ์ •์˜๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์— ์กด์žฌํ•˜๋Š” ํƒ€์ž…์„ ๋Œ€์‹ ํ•˜์—ฌ ๋‹ค๋ฅธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์›๋ž˜ ์กด์žฌํ•˜๋Š” ํƒ€์ž…์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” '์น˜ํ™˜' ๊ฐœ๋…์ด๋‹ค.

์•ฝ 6์‹œ๊ฐ„ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Github] README.md

์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ด์šฉํ•˜๊ณ  ์žˆ๋Š” Github ์—๋Š” ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค. Design Github profile using README.md ๋ผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๋„ ๋งŽ์„ํ…Œ์ง€๋งŒ์ข€ ๋” ์ž˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

2์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[iOS] RxSwift

๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค. RxSwift๋Š” Swift ์—์„œ Rx๋ฅผ ๊ตฌํ˜„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ณ ,RxCocoa๋Š” UIKit๊ณผ Cocoa ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

4์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[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๊ฐœ์˜ ๋Œ“๊ธ€
ยท