ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ฒ์ ํค์๋์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ ธ์ถํ ๋,
ํค์๋์ ๋ณ๊ฒฝ์ฌํญ์ ๋ํ emit์ ์ ์ดํ๋ ค๊ณ Debounce๋ผ๋ ์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
RxSwift๋ฌธ๋ฒ์ ๊ณต๋ถํ๋ฉด์ Throttle์ด๋ผ๋ ์คํผ๋ ์ดํฐ๋ฅผ ์ ํ๋๋ฐ, Debounce์ ๋น์ทํ๋ฉด์๋ ๋ช ํํ ์ฐจ์ด๊ฐ ์์ด ์ ๋ฆฌํ๊ฒ ๋์์ต๋๋ค.
Debounce์ Throttle์ ์ด๋ฒคํธ๋ฅผ (์์ ์ธ ์ธก๋ฉด์์) ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ตฌ์ฒด์ ์ธ ์ ์์ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์ฐ์ ๋๋ฐ์ด์ค์ ๋ํ ์ ์์ ๋๋ค.
์ง๊ด์ ์ธ ๋ง๋ธ ๋ค์ด์ด๊ทธ๋จ์ ๋จผ์ ๋ณด์๋ฉด.
์ด๋ ์ต๋๋ค.
์ฌ๋ฌ๊ฐ๊ฐ ๋ค์ด์๋๋ฐ ๋ง์ง๋ง item๋ง emit ๋ฉ๋๋ค.
์ฆ, ์ผ์ ํ ์๊ฐ ๊ฐ๊ฒฉ์ด ์ง๋๊ธฐ ์ ์ ๊ฐ์ด ๋ค์ด์ค๋ฉด ๊ทธ ๊ฐ๋ค์ emit ๋์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋๊น ๊ฐ๊ฒฉ์ด 1์ด๋ผ๊ณ ํ์ ๋! ๊ฐ์ ๋ฐ๊ณ ๋ ํ 1์ด๊ฐ ์ง๋์ผ ๋ง ๋ฐ์ ๊ฐ๋ค ์ค ๊ฐ์ฅ ์ต์ ๊ฐ์ ๋ฐฉ์ถํฉ๋๋ค.
์ ์ ์์ ๋ฅผ ํ๋ฒ ๋ณด์ธ์.
ํค์๋๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ ์ ๋ ฅ๋ฐ์ ํค์๋๋ค์ ๋ํ์ฌ ์ ๋ ฅ์ ๋ฉ์ถ๊ณ ๋ ๋ค 1์ด ๋ค์ ๊ฐ์ emit ํ๋ ์์ ์ ๋๋ค.
๋ง์ฝ ๋ ๋ฐ์ด์ค๊ฐ ์์ ๋ apple์ด๋ผ๊ณ ํค์๋๋ฅผ ์น๋ฉด (๋น ๋ฅด๊ฒ ํ์ดํํ๋ค๋ ๊ฐ์ )
'a', 'ap', 'app', 'appl', 'apple' 5๊ฐ์ ํค์๋์ ๋ํ์ฌ emit์ด ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ Debounce๋ฅผ ๊ฑธ์๋ค? ๊ทธ๋ฌ๋ฉด ๋งจ๋ง์ง๋ง 'apple'์ ๋ํ ํค์๋๋ง emit ํ๋๋ก ํด์ค์.
ํ์คํ ์์ ์ธ ์ธก๋ฉด์์ ํจ์จ์ ์ ๋๋ค.
Debounce ์ดํด๊ฐ ๋์ จ์ผ๋ฆฌ๋ผ ์๊ฐํฉ๋๋ค.
๋ค์์ Throttle.
Throttle์ ์ผ์ ์๊ฐ ๋์ ์์ฒญ์ด ํ ๋ฒ๋ง ์ํ๋๋๋ก ํฉ๋๋ค.
๊ทธ๋ฌ๋๊น ์๊ฐ ๊ฐ๊ฒฉ์ 2์ด๋ก ๋๋ฉด 2์ด ๋์ ํ ๋ฒ๋ง ์ํํ๋๋ก ํ๋ ๊ฑฐ์ฃ .
??? : Debounce๋ ๋น์ทํ๋ฐ? ๊ตฌ๋ถ์ด ์๊ฐ๋ค..
Debounce์ Throttle์ 10์ด ๋์ ์ฐ์๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํจ๋ค๊ณ ํ๋ฉด (๋ ๋ค ์๊ฐ ๊ฐ 2s)
Debounce๋ 10์ด + 2์ด ํ 1๋ฒ ์ด๋ฒคํธ ๋ฐ์
Throttle์ 10์ด ๋์ 5๋ฒ ์ด๋ฒคํธ๋ฅผ ๋ฐฉ์
(์ฐจ์ด์ ์์๊ฒ ๋์?)
ํธ์ํฐ์์ ์คํฌ๋กค ๊ด๋ จ ๋ฒ๋ฒ ๊ฑฐ๋ฆผ์ด ๋ฐ์ํ์ ๋ ํด๊ฒฐ์ฑ ์ผ๋ก์จ ์ ์ํ ๋ฐฉ๋ฒ๋ก ์ด๋ผ๊ณ ๋ ํฉ๋๋ค.
Throttle์ ๋ํด์ ์ ๋ ์ด๋ฒ์ ์๊ฒ ๋์ต๋๋ค.
ํ์ด์ง ๋ง์ง๋ง ์คํฌ๋กค์์ ์๋๋ก ๋ ๋ด๋ฆฌ๋ ์คํฌ๋กค(์ธํผ๋ํฐ ์คํฌ๋กค)์ ํ ๋ 1๋ฒ๋ง ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ ค๊ณ
์ด๋ป๊ฒ ํด์ผ ํ ์ง ๊ณ ๋ฏผํ๋ค๊ฐ if-flag๋ก ์ฒ๋ฆฌํด์ฃผ์๋๋ฐ, ๋ ์ข์ ๋ฐฉ๋ฒ์ ์๊ฒ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฒ์ ํค์๋์ ๋ํ ์ด๋ฏธ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์คํฌ๋กค ๋๋ง๋ค 30๊ฐ์ฉ fetch ํด์ฃผ๋ ๊ธฐ๋ฅ ๊ตฌํ ์์์ ๋๋ค.
ํค์๋ ๊ฒ์ ์ด๋ฒคํธ ์ ์ด๋ Debounce, ์คํฌ๋กค ์ด๋ฒคํธ ์ ์ด๋ Throttle๋ก ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
www.youtube.com/watch?v=IcKxjbDUwKY
์ด๋ ๊ฒ ์ฌ์ฉ๋ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ถ์กฑํ ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค:)
- Total
- Today
- Yesterday
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- deep timer
- swift network refactoring
- swift filemanager excel
- swift urlsession module
- swift ์์ ์ฝ๊ธฐ
- swift excel read
- swift filemanager get excel
- rag llm pdf
- swift urlsession network module
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
- focus timer ์ดํ
- llm csv
- swift network ๊ณตํตํ
- ์๋์ํํธ ๋ ์ด์ธ์ด
- ๋ ๋์ธ์ด ์ดํ
- swift urlsession ๊ณตํตํ
- swift network module
- rag ๊ธฐ๋ฐ llm
- swift urlsession refactoring
- swift queryitem encode
- filemanager excel read
- chatgpt rag llm
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- swift urlcomponent encode
- swift ์๊ฐ
- ๋ ๋์ธ์ด
- llm pdf rag
- swift get excel
- readysay
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |