์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- SnapKit
- MVVM
- CollectionView
- designpattern
- raywenderlich
- Xcode
- RxSwift
- arkit
- TCA
- ํจ์คํธ์บ ํผ์ค
- Lv2
- reactorkit
- ๋ฐฑ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- Kuring
- node.js
- Swfit
- BFS
- XCTest
- ios
- BOJ
- UIKit
- SwiftUI
- combine
- tableView
- swift
- rxcocoa
- visionOS
- Flutter
- realm
Archives
- Today
- Total
lgvv98
iOSInterviewquestions - Rx ๋ณธ๋ฌธ
โ ๏ธ deprecated โ ๏ธ/๐ง๐ป๐ป iOSInterviewquestions
iOSInterviewquestions - Rx
๐ฅ ์บ๋ฟ๋งจ 2022. 4. 2. 03:02iOSInterviewquestions - Rx
๋ชฉ์ : ๋ฐฐ์ธ๋๋ ์ํ๋๋ฐ, ๋์ด๊ฐ ๋จน์ผ๋๊น ์๊พธ ๊น๋จน์ด์ ์๋ ๊นํ๋ธ ๊ธ์ ๋ฐํ์ผ๋ก ๊พธ์คํ ์ด๋ก ๊ณต๋ถ๋ฅผ ํ๊ณ ์ ํจ. ๋ฌผ๋ก ์ค๋ช ์ ๋ด๊ฐ ์ ์๋๊ฒ ๋ชฉ์ ์ด๋ผ ์ฒ ์ ํ ๋๋ฅผ ์ดํด์ํฌ ์ ์๋ ๋์ ์ธ์ด๋ก ์์ฑ.
์์ฑ์ผ : 2022๋ 4์ 2์ผ
- README: ์ถํ์ ์์ ์ด ์์ ๊ฒฝ์ฐ ์๋์ ๋ ์ง์ ์๊ฐ์ ์์ฑํ๊ณ , ์์ ๋ด์ฉ์ ๊ฐ๋ตํ ์ ๋ฆฌํด์ฃผ์ธ์.
์์)
(์์ ) oooo๋ oo์ oo์ผ oo์ oo๋ถ
- ๋ณ๊ฒฝ๋ด์ฉ : xxx์ ๋ํ ์๋ฃ๋ฅผ ๋ณด๊ฐ
โ ๊ณต๋ถ์ ๊ธฐ์ค์ด ๋๋ ๊นํ๋ธ ๊ธ
https://github.com/JeaSungLEE/iOSInterviewquestions
โ Rx
- Reactive Programming์ด ๋ฌด์์ธ์ง ์ค๋ช
ํ์์ค.
- ๋น๋๊ธฐ์ ์ธ ๋ฐ์ดํฐ ํ๋ฆ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๊ด์ฐฐ(observe)ํ๊ณ ์๋ค๊ฐ ๋ฌด์ธ๊ฐ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ๊ทธ์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ํน์ UI๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ด ํ์ํ ์ด์ ๋ ์๋ฅผ ๋ค์ด ์ฌ์ฉ์์ ์ธํ ์ด๋ฒคํธ๊ฐ ์์๋, ๊ทธ์ ๋ฐ๋ฅธ ์ก์
- RxSwift๋ฅผ ์ ์ฌ์ฉํ๋์ง ์ค๋ช
ํ์์ค.
- ์ Rx๋ฅผ ์ฌ์ฉํ๋๋ฉด iOS SDK์์ ํด๋ก์ , ๋ ธํฐํผ์ผ์ด์ , ๋๋ฆฌ๊ฒ์ดํธ ๋ฑ์ ์ด์ฉํด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ํ์ง๋ง UI ์ ๋ฐ์ดํธ๋ฅผ ๋ช ์์ ์ผ๋ก ํธ์ถํด์ผ ํ๊ฑฐ๋ ์ฝ๋ฐฑ ์ง์ฅ์ด ์๊ธฐ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. ์ฝ๋ ๊ฐ๋ ์ฑ์ด๋ ํธ๋ฆฌ์ฑ์ ์ํด ์ฌ์ฉํ๋ค. ๋ํ ์ด๋ ๊ฒ rx๋ฅผ ์ด์ฉํด์ ์ผ๊ด๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ํ์ฅ์ด ๋ถ๊ฐ๋ฅํ ์์ผํ ์ณ ํจํด์ ์ค๊ณํ ์ ์๋ค.
- RxSwift์ ๋จ์ ์ ์ค๋ช
ํ์์ค.
- ์ฐ์ ๋ฌ๋์ปค๋ธ๊ฐ ๋งค์ฐ ๋๋ค. ๋๋ ๋ฐฐ์ฐ๊ณ ์ฌ์ฉํ๋๋ฐ ์ ๋ง ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค. ๋ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๋ฝ๋์ด์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ ์ข ์ข ์๊ธฐ๋๋ฐ, ์ฆ ์ํ ์ฐธ์กฐ ์ฌ์ดํด์ ํผํ ์ ์๋ ๋ถ๋ถ์ ์์ฑํ์ฌ ํผํด์ผํ๋ค. ๊ทธ ๋ฟ๋ง์ด ์๋๋ค. ์ด๋ฌํ ๋ฌ๋์ปค๋ธ๋ก ์ธํ์ฌ ํ์ ์์ ๋ค๋ฅธ ์ฌ๋๋ค๋ ์ถฉ๋ถํ ์ด ์์ค์ ์ฌ๋ผ์ผ ํ๋ค๋ ์ ์ด๋ค.
- RxSwift์์ Hot Observable๊ณผ Cold Observable์ ์ฐจ์ด๋ฅผ ์ค๋ช
ํ์์ค.
- Hot์ ๊ตฌ๋ ํ๋ ์๊ฐ๋ถํฐ ์ํ์ค์ ์ค๊ฐ์ ์์ดํ ์ ๋ฐฉ์ถํด๋ ๊ทธ ์๊ฐ๋ถํฐ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ - UI์ด๋ฒคํธ
- Cold๋ ๊ตฌ๋ ํ๋ ์๊ฐ์ ์ํ์ค์ ์ฒ์๋ถํฐ ๋๊น์ง ์ ๋ถ ์ ๋ฌ - HTTP
- Subject์ ์ข
๋ฅ์ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช
ํ์์ค.
- Publish : ์ด๊ธฐ๊ฐ์ ๊ฐ์ง ์๊ณ ์๋ก์ด ๊ฐ์ ๋ฐฉ์ถ. ๊ตฌ๋ ํ์ ๋ฐฉ์ถ๋ ๊ฐ๋ง ์์ ๊ฐ๋ฅ
- Behavior : ํ๋์ ์ด๊ธฐ๊ฐ์ ๊ฐ์ง ์ํ๋ก ์์ํ๊ณ ์ด๊ธฐ๊ฐ ํน์ ์ต์ ๊ฐ์ ๋ฐฉ์ถ
- Replay : ๋ฒํผ๋ฅผ ๋๊ณ ์์ผ๋ฉฐ, ์ ํด์ง ๋ฒํผ๋งํผ ์ด์ ๊ฐ๋ ๋ฐฉ์ถํจ
- Subject์ drive์ ์ฐจ์ด๋ฅผ ์ค๋ช
ํ์์ค.
- Observable์ด์ Observer๊ธฐ๋ฅ์ ํ ์ ์์ด์ ๊ตฌ๋ ๋ ํ ์ ์๊ณ ์ด๋ฒคํธ๋ฅผ ๋ฐฉ์ถํ ์๋ ์๋ค.
- Relay๋ Suject๋ฅผ ๋ํํด์ error๋ complete๊ฐ ์์ด์ ๋๊ธฐ์ง ์๋๋ค.
- Driver๋ UI์ ํนํ๋ Observable์ด๋ค ์ด๋ฌํ ๊ฒ์ Traits์ด๋ผ๊ณ ํ๋ค. ์๋ฌ๋ฅผ ๋ฐฉ์ถํ ์ ์๊ณ ๋ฉ์ธ ์ค์ผ์ค๋ฌ์์ ๊ด์ฐฐ ๋ฐ ๊ตฌ๋ ํ๋ค.
- Single, Completable, Maybe์ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช
ํ๊ณ , ์ธ์ ์ ์ฉํ๋ฉด ์ข์์ง ์ค๋ช
ํ์์ค
- Single์ ํน์ํ Observable๋ก .success, .error ์ค ํ๋ฒ๋ง ๋ด๋ณด๋ผ ์์๋ ์ํ์ค ๋ด๋ถ์ ์ผ๋ก succes๋ next + completed๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ํ์ผ ์ ์ฅ, ๋ค์ด๋ก๋, ๋์คํฌ์์ ๋ฐ์ดํฐ ๋ก๋ ๋ฑ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ์์ฑํ๋ ๋ชจ๋ ๋น๋๊ธฐ ์์ ์์ ์ ์ฉํ๋ค. ์ฑ๊ณต ์ ์ ํํ ํ๋์ ์์๋ฅผ ๋ด๋ณด๋ด๋ ๋ํ ์์ ์ ์ฌ์ฉ๋๋ค. ์ํ์ค์์ ๋จ์ผ ์์๋ฅผ ์ฌ์ฉํ๋ ค๋ ์๋๋ฅผ ๋ ์ ํํํ๊ณ ์ํ์ค๊ฐ ๋ ์ด์์ ์์๋ฅผ ๋ฐฉ์ถํ๋์ง ํ์ธํ๊ธฐ ์ํด ๊ตฌ๋ ์ค๋ฅ๊ฐ ๋ฐ์๋๋ค.
- Maybe๋ Observable์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ๊ฐ์ ๋ฐฉ์ถํ์ง ์์ ์๋ ์๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ Single๊ณผ ์ ์ฌ
- Completable์ ๊ตฌ๋ ์ด ์ญ์ ๋๊ธฐ ์ ์ ๋จ์ผ completed ๋๋ error ์ด๋ฒคํธ๋ง ์์ฑ๋๋๋ก ํ์ฉํ๋ค. ๋น๋๊ธฐ ์์ ์ด ์ฑ๊ณตํ๋์ง ์ฌ๋ถ๋ง ์๋ฉด ๋๋ ์ฌ์ฉ ์ฌ๋ก๊ฐ ๋ง์์ ์๊ฒจ๋ฌ๋ค.
- (์ฐธ๊ณ ) https://jwonylee.tistory.com/152
'โ ๏ธ deprecated โ ๏ธ > ๐ง๐ปโ๐ป iOSInterviewquestions' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
iOSInterviewquestions - iOS (0) | 2022.04.06 |
---|---|
iOSInterviewquestions - ARC (0) | 2022.04.02 |
iOSInterviewquestions - Swift (0) | 2022.04.02 |
iOSInterviewquestions - Autolayout (0) | 2022.04.02 |
Comments