์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- algorithm
- URLSession
- ๊ณ ๋์ kit
- SwiftUI
- binarySearch
- SOPT
- algoritm
- SwiftUI ํํ ๋ฆฌ์ผ
- SQL
- ๋์ ๊ณํ๋ฒ
- GCD
- GroupBy
- ๊ธฐ์ด๋ฌธ๋ฒ
- Swift
- ์ด์งํ์
- Til
- HAVIT
- discardableResult
- ํ๋ก๊ทธ๋๋จธ์ค
- concurrency
- duno
- DynamicProgramming
- dfs
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- IOS
- 0์ด๋์ด์๋๊ธธ
- BFS
- SwiftUI Tutorials
- APPJAM
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- Today
- Total
๋ชฉ๋กTotal (68)
suvera-dev ๐ฅฆ
SOLID ์์น์ด๋ ? SOLID ์์น์ด๋ ๊ฐ์ฒด์งํฅ ์ค๊ณ์ ๋ ์ข์ ์ํคํ ์ณ๋ฅผ ์ค๊ณํ๊ธฐ ์ํด ์ง์ผ์ผํ๋ ์์น๋ค์ 5๊ฐ์ง๋ฅผ ์์ ์ฝ์ด๋ง ๋ฐ์ ์ ๋ฆฌํ ๋จ์ด์ ๋๋ค. SOLID ์์น์ ์ ์์์ผํ์ฃ ? ๊ฐ๋ฐ์ ํ ๋ ๋น์ฅ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง, ์๋กญ๊ฒ ์ด๋ค ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ฑฐ๋ ์ ์ง๋ณด์๊ฐ ํ์ํ ๋ ๋์ฑ ์์ฐ์ฑ ์๊ณ ์ ์ฐํ๊ฒ ๋์ฒ๊ฐ ๊ฐ๋ฅํด์ผ ์ข๊ฒ ์ฃ .? ์ด๋ฌํ ์ข์ ์ค๊ณ๋ฅผ ์ํ ์ต์ํ์ ์์น๋ค์ ์ ๋ฆฌํ๊ฒ SOLID ์์น์ด๋ผ๊ณ ํ ์ ์๋๋ฐ์. VIPER๋ MVVM๋ ๋ชจ๋ ์ด๋ฐ ์์น์ ์ ๊ฐํด์ ๋ง๋ค์ด์ก๋ค๊ณ ํฉ๋๋ค. SOLID ์์น์ ์ ์ฉํ์ฌ ์ค๊ณํ๋ฉด ! 1. ์ฌ์ฌ์ฉ๊ณผ ์ ์ง๊ด๋ฆฌ๊ฐ ์ฌ์ด, ๋ณ๊ฒฝ์ ์ ์ฐํ ์ฝ๋๋ฅผ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค. ์ด๋ ํผํผํ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค ์ ์๊ฒ ํ๋ฉฐ ๋์ ํ์ฅ์ฑ์ ๊ฐ์ง๊ฒ ํฉ๋๋ค. 2. ๋์ ..
RxSwift ์์ ๊ตฌ๋ ์ ํ๊ธฐ ์ํ ๋ฉ์๋ 3๊ฐ์ง ! ์๋๋ subscribe ๋ง ์๊ณ ์์๊ณ , UI ์์ ํด์ค๋ bind ๋ง ์ผ๋๋ฐ .. ์ฐจ์ด๋ฅผ ์ ๋ชจ๋ฅด๊ณ ๊ทธ๋ฅ ์ด ๊ฒ ๊ฐ๋ค ใ ใ subscribe๋ ๋ง๊ทธ๋๋ก ๊ตฌ๋ ํ๋๊ฑฐ ๊ตฌ๋ ๋์์ ์ํ๊ฐ ๋ณํ๋ฉด ๊ฐ์ ๋ฐ์์์ ์ฒ๋ฆฌ ๋ณํ๋ ๋ค์๊ฐ, ์๋ฌ, ๋๋ ๋๋ฅผ ์๊ณ ์ฝ๋ ๊ตฌํ ๊ฐ๋ฅ. UI ์์ ์ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฉ์๋๋ bind ์ drive bind๋ Observable๊ณผ Observer๋ฅผ ํ๋๋ก ๋ฌถ์ด์ฃผ๋ ์ญํ - bind์ ๋ด๋ถ์๋ subscribe ๊ฐ ์์ - ์ต์ ๋ฒ๋ธ์ด ๋ฐฉ์ถํ ์ด๋ฒคํธ๋ฅผ ๊ทธ๋๋ก binder์๊ฒ ์ ๋ฌ ๊ทธ๋ฆฌ๊ณ binder๋ UI ์ ๋ฐ์ดํธ์ ์ฌ์ฉ๋๋ ์ต์ ๋ฒ์ ์ผ์ข - bind๋ onNext ์ด๋ฒคํธ์ ๋ํด์๋ง ๋ฐ์ํ๊ณ error์ด๋ฒคํธ๊ฐ ๋ค์ด์ค๋ฉด ์๋ฌ ๋ก๊ทธ๋ฅผ..
์๋ ํ์ธ์ ! ์ค๋์ ๋์์ธํจํด์ ๋ํด์ ๊ณต๋ถํ๋ ๋ด์ฉ์ ๊ธฐ๋กํ๊ณ ์ ํฉ๋๋ค :) ๋์๋ฆฌ์์ ๋์์ธ ํจํด ์คํฐ๋๋ฅผ ์์ํ๊ธฐ๋ ํ๊ณ , ํ์์ ์ฑ ์ฌ์ ๊ณต๋ถํ๋ ๊ฒ์ ์ข์ํด์ ํค๋ํผ์คํธ ๋์์ธํจํด ์ด๋ผ๋ ์ฑ ์ ๊ตฌ๋งคํ๊ฒ ๋์์ต๋๋ค. ์ด ์ฑ ์ ๋ฐํ์ผ๋ก ์ฌ๋ฌ ๋์์ธ ํจํด์ ์ ๋ฆฌํด๋ณด๊ณ , ์ฑ ์ ๋์์๋ ์์ ์ฝ๋๋ฅผ Swift๋ก ์ง์ ๋ฐ๊ฟ๋ณด๋ ค๊ณ ํฉ๋๋ค ! ์ค๋์ ๋์์ธ ํจํด์ด ๋ญ์ง, ๊ทธ๋ฆฌ๊ณ ์ ์ฌ์ฉํ๋์ง, ์ข ๋ฅ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์ง ๊ฐ๋จํ๊ฒ ์ฐพ์๋ณธ ๋ด์ฉ๋ค์ ๊ธฐ๋กํ์์ต๋๋ค. ๋์์ธ ํจํด์ด๋ ? ๋์์ธ ํจํด์ ์ํํธ์จ์ด ์ค๊ณ์์ ๊ณตํต์ผ๋ก ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํด ์์ฃผ ์ฐ์ด๋ ์ค๊ณ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ ํจํด ! ์ ๋๋ค. ๋ฌธ์ ์ํฉ์ ๋ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํด๊ฒฐ๋ฐฉ๋ฒ์ผ๋ก์จ, ์ผ์ข ์ ์์ด๋์ด๋ผ๊ณ ์๊ฐํ ์ ์์ ๊ฑฐ ๊ฐ์ต๋๋ค ! ์ฆ, ์ ํฌ๊ฐ ์ํ..
Dynamic programming(๋์ ๊ณํ๋ฒ)์ด๋ ? ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํ ์ฌ์ฉํ์ฌ ์ํ์๊ฐ ํจ์จ์ฑ์ ๋น์ฝ์ ์ผ๋ก ํฅ์์ํค๋ ๋ฐฉ๋ฒ -> ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ต๋ํ์ผ๋ก ํ์ฉํ ์ ์๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์์ฑ ! ๋ํ์ ์ธ ์์ : ํผ๋ณด๋์น ์์ด - n ๋ฒ์งธ ํผ๋ณด๋์น ์ = (n-1)๋ฒ์งธ ํผ๋ณด๋์น ์ + (n-2)๋ฒ์งธ ํผ๋ณด๋์น ์ - ๋จ, 1๋ฒ์งธ ํผ๋ณด๋์น ์ = 1,2 ๋ฒ์งธ ํผ๋ณด๋์น ์ = 1 # ํผ๋ณด๋์น ํจ์ ์์ค์ฝ๋ def fibo(x): if x == 1 or x == 2: return 1 return fibo(x-1) + fibo(x-2) print(fibo(4)) -> But, ํผ๋ณด๋์น ์์ด์ ์์ค์ฝ๋๋ฅผ ์ด๋ ๊ฒ ์์ฑํ๋ฉด ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. ๋ฐ๋ก f(n) ํจ์์์ n์ด ์ปค์ง๋ฉด ์ปค์ง์๋ก ์ํ ์๊ฐ์ด ๊ธฐํ..