๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
์ค๋์ ๋ฐฐ์ #67
์ค๋์ ๋ฐฐ์ #67
2021.10.202021.10.19 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ถ์บ ๋ฏธ์
ํ๊ธฐ ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. - ์ค๋ ๋๋ ๊ฒ. ํ ๊ฒ ๋๋ฌด ๋ง๋ค.. ๋จ์ ์ดํ๋์ ๋ฏธ์
์ ๋ง๋ฌด๋ฆฌํ ์ ์์๊น.. ๊ตฌํ์ ํ๋ค๋ณด๋ ๋ด๊ฐ ํ์ต์ด ๋๋๊ฑด๊ฐ ์ถ์ ์์ฌ์ด ๋ ๋ค. ๋ง์ง๋ง ์ฃผ์ฐจ์ธ๋ฐ ์ด๋ ๊ฒ ๋ณด๋ด๋ ๋๋๊ฑด๊ฐ? ์์ผ๋ก์ ๊ณํ. ํ์ต ์คํ๋ฆฐํธ๋ฅผ ์ ๋ง๋ฌด๋ฆฌํ๊ณ ๊ทธ๋ฃน ํ๋ก์ ํธ ๋์
ํ๊ธฐ. ํ์ต ์คํ๋ฆฐํธ์ ๋ง์์ ์ ์ ๋ฆฌํ๊ณ ๊ธฐ๋กํด๋์. ์ค๋์ ๊ฐ์ฌ. 8์ฃผ๋์ ๋ฌ๋ ค์ค๋ฉด์ ์ง์น์ง ์๊ฒ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์ค๋์ ๋ฐฐ์ #66
์ค๋์ ๋ฐฐ์ #66
2021.10.172021.10.16 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ถ์บ ๋ฏธ์
. ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์ ๊ณผ ๋ฆฌํฉํ ๋ง ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. ๋ ์ด์์์ ๋ณ๊ฒฝ์ draw ์์ ํ์ง ๋ง๊ฒ! ๋ทฐ๊ฐ ๊ทธ๋ ค์ง๋ ์ฃผ๊ธฐ์ ๋ฉ์๋์ ๋ํด ๊ณต๋ถํ์. ๋ทฐ ๋ชจ๋ธ์ ํจ์์ด๋ฆ๋ค์ ๋ทฐ์์ ๋ฐ์ํ๋ ์ก์
์ผ๋ก ์ ์ํ์. ๋ ํ์งํ ๋ฆฌ๋ ํ๋กํ ์ฝ๋ก ์ถ์ํํด๋๋ฉด mock ์ ๋ง๋ค์ด์ ํ
์คํธ๊ฐ ๊ฐ๋ฅํ๋ค. ์ค๋ ๋๋ ๊ฒ. ์ข์ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋๊ฑด ์ง์ง ์ด๋ ต๋ค. ํด๋ฆฐ ์ํคํ
์ณ ์ด๋ ค์.. ์ปด๋ฐ์ธ๋ ์ด๋ ค์.. ์์ผ๋ก์ ๊ณํ. ๋จ์ ํ ์ฃผ, ํ์ต ์คํ๋ฆฐํธ๋ฅผ ์ ๋ง๋ฌด๋ฆฌํ์! ์ค๋์ ๊ฐ์ฌ. ๋ฏธ์
์ ์ํํ๋ฉด์ ์กฐ๊ธ์ฉ ์ฑ์ฅํ๊ณ ์์์ ๋๋ผ๊ฒ ํด์ฃผ์ฌ์ ๊ฐ์ฌํฉ๋๋ค!
์ค๋์ ๋ฐฐ์ #65
์ค๋์ ๋ฐฐ์ #65
2021.10.142021.10.13 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ถ์บ ๋ฏธ์
์งํํ๊ธฐ Compositional Layout ๊ณต๋ถํ๊ธฐ ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. Compositional Layout ์ Section -> Group -> Item ์์ผ๋ก ๋ฐฐ์น๋๋ค. ์น์
์์ ๊ทธ๋ฃน์ ์ฌ๋ฌ๊ฐ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅ! fractionalWidth, fractionalHeight๋ก ์์ ๊ณ์ธต์ ๋ํ ํฌ๊ธฐ ๋น๋ฅผ ์ค์ ํ ์ ์๋ค. ์ค๋ ๋๋ ๊ฒ. ๋ ์ด์์์ ์ฌ๋ฐ๊ธดํ๋ฐ, ์ง์ง ์ด๋ ต๋ค. ํนํ ๋ชจ๋ ๋๋ฐ์ด์ค์ ๋ค ์ ์ฉ๊ฐ๋ฅํ๊ฒ ๋ง๋๋๊ฑฐ.. ์์๋ฅผ ์ฌ์ฉํ ๋๋ง๋ค ์ฃ์ฑ
๊ฐ์ด ๋ ๋ค.. ์์ผ๋ก์ ๊ณํ. ๋ฏธ์
์งํ ์๋๊ฐ ์ข ๋๋ฆฐ ๊ฒ ๊ฐ๋ค. ๋นก์ธ๊ฒ ํด๋ณด์! ์ค๋์ ๊ฐ์ฌ. ๋ค ๋ชปํ ๊ฒ ๊ฐ์๋ ๋ ์ด์์์ ์ด๋์ ๋ ๋ง๋ฌด๋ฆฌํ ์ ์๊ฒ ํด์ฃผ์ฌ์ ๊ฐ์ฌ!
์ค๋์ ๋ฐฐ์ #64
์ค๋์ ๋ฐฐ์ #64
2021.10.122021.10.11 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ถ์บ ์๋ก์ด ๋ฏธ์
์ ์์! MVVM, ์ปด๋ฐ์ธ ๊ณต๋ถํ๊ธฐ ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. MVVM์์ ViewModel์ ๊ฒฐ๊ตญ ๋ทฐ์์ ์ฌ์ฉํ๊ธฐ ์ํ ๋ชจ๋ธ. View -> ViewModel -> Usecase -> Model -> ViewModel -> View ๋ก ๋จ๋ฐฉํฅ ํ๋ฆ์ ์ ์งํ๋ค. ์ด๋ ViewModel -> View ์ ์ง์ ์ ์ธ ์์กด๊ด๊ณ๋ฅผ ๋์ด๋ด๊ธฐ ์ํด์ ์ปด๋ฐ์ธ์ด๋ Rx ๊ฐ์ ํจ๋ฌ๋ค์์ ์ฌ์ฉ! ์ปด๋ฐ์ธ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ ์ชฝ์ด Publisher, ๋ฐ๋ ์ชฝ์ด Subscriber์ด๋ค. ์์ชฝ์ Output/Input ํ์
๊ณผ ์๋ฌ ํ์
์ด ์ผ์นํด์ผ ํ๋ค. ์ค๋ ๋๋ ๊ฒ. WWDC ์๊ทผ ์ฌ๋ฐ๋ค! ํ์
์ ์ง์ง ์ด๋ ต๋ค. ๋๊ตฐ๊ฐ์ ๊ฐ์ด ๊ณํ์ ์ธ์ฐ๊ณ ๊ณต๋ถํ๊ณ ๊ตฌํํ๋ค๋ ๊ฒ์ ์ง..
[iOS-WWDC2019] Combine ์ฌ์ฉํ๊ธฐ (1) - Publisher
[iOS-WWDC2019] Combine ์ฌ์ฉํ๊ธฐ (1) - Publisher
2021.10.12Combine in Practice ์ค๋์ WWDC์์ ๋ฐํ๋ ์ปด๋ฐ์ธ์ ๋ํด ๋ฒ์ญํ๋ฉฐ ๊ณต๋ถํด๋ณด๊ฒ ์ต๋๋ค! ์ค์ญ์ด๋ ์์ญ์ด ์์ ์ ์์ผ๋ ๋ ์์ธํ๊ณ ๋ช
ํํ ๋ด์ฉ์ ์๋ ์ธ์
์์ ํ์ธํด๋ณด์ธ์...! ๊ทธ๋ผ ์์ํฉ๋๋ค~! Combine in Practice - WWDC19 - Videos - Apple Developer Expand your knowledge of Combine, Apple's new unified, declarative framework for processing values over time. Learn about how to... developer.apple.com ์ปด๋ฐ์ธ์ด ๋ญ๋ฐ? ์ฐ๋ฆฌ์ ์ฝ๋์์ ์ฐ๋ฆฌ๋ ์์ฃผ ์ด๋ค ์ด๋ฒคํธ๋ ๊ฐ์ ๋ฐํํ๋ Publisher์ ์ด ๋ฐํ๋ ๊ฐ์ด๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ๋..
[Swift] ์ค์ํํธ์ ๊ณ ์ฐจํจ์๋ค(High Order Functions)
[Swift] ์ค์ํํธ์ ๊ณ ์ฐจํจ์๋ค(High Order Functions)
2021.10.10๊ณ ์ฐจ ํจ์ (High Order Function) ๊ณ ์ฐจํจ์๋ ๋ค๋ฅธ ํจ์๋ฅผ ์ธ์๋ก ๋ฐ๊ฑฐ๋, ํจ์์ ๊ฒฐ๊ณผ๋ก ํจ์๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ์๋ฏธํฉ๋๋ค. ์ค์ํํธ์์๋ map, filter, reduce ๊ฐ ์ฝ๋ ์
ํ์
๋ด์ ์ ์๋์ด ์์ต๋๋ค. ์ง์ง ์์ฃผ์ฐ๋ ๊ณ ์ฐจํจ์๋ค(map, filter, reduce) map map ์ ์ฝ๋ ์
๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ์ฌ ์๋ก์ด ์ฝ๋ ์
์ ์์ฑํฉ๋๋ค. let numbers = [1, 2, 3, 4, 5] let numbersPlusOne = numbers.map({ $0 + 1 }) map ๋ฉ์๋๋ ์ธ์๋ก ํด๋ก์ ๋ฅผ ๋ฐ์ ์ปจํ
์ด๋ ๋ด๋ถ์ ๋ค์ด์๋ ์์๋ค์ ๊ฐ์ ์ด๋ป๊ฒ ๋ฐ๊ฟ ๊ฒ์ธ์ง ๊ฒฐ์ ํฉ๋๋ค. filter filter ๋ ์ฝ๋ ์
๋ด๋ถ์์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ค๋ง ๊ณจ๋ผ ์๋ก์ด ์ฝ๋ ์
์ ์์ฑํฉ๋..
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ๊ธฐ์ง๊ตญ ์ค์น
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ๊ธฐ์ง๊ตญ ์ค์น
2021.10.10๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/12979# ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ธฐ์ง๊ตญ ์ค์น N๊ฐ์ ์ํํธ๊ฐ ์ผ๋ ฌ๋ก ์ญ ๋์ด์ ์์ต๋๋ค. ์ด ์ค์์ ์ผ๋ถ ์ํํธ ์ฅ์์๋ 4g ๊ธฐ์ง๊ตญ์ด ์ค์น๋์ด ์์ต๋๋ค. ๊ธฐ์ ์ด ๋ฐ์ ํด 5g ์์๊ฐ ๋์์ ธ 4g ๊ธฐ์ง๊ตญ์ 5g ๊ธฐ์ง๊ตญ์ผ๋ก ๋ฐ๊พธ๋ ค ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ 5 programmers.co.kr ๋ฌธ์ ์ค๋ช
N๊ฐ์ ์ํํธ๊ฐ ์ผ๋ ฌ๋ก ์ญ ๋์ด์ ์์ต๋๋ค. ์ด ์ค์์ ์ผ๋ถ ์ํํธ ์ฅ์์๋ 4g ๊ธฐ์ง๊ตญ์ด ์ค์น๋์ด ์์ต๋๋ค. ๊ธฐ์ ์ด ๋ฐ์ ํด 5g ์์๊ฐ ๋์์ ธ 4g ๊ธฐ์ง๊ตญ์ 5g ๊ธฐ์ง๊ตญ์ผ๋ก ๋ฐ๊พธ๋ ค ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ 5g ๊ธฐ์ง๊ตญ์ 4g ๊ธฐ์ง๊ตญ๋ณด๋ค ์ ๋ฌ ๋ฒ์๊ฐ ์ข์, 4g ๊ธฐ์ง๊ตญ์ 5g ๊ธฐ์ง๊ตญ์ผ๋ก ๋ฐ๊พธ๋ฉด ์ด๋ค ์ํํธ์๋ ์ ํ๊ฐ ๋๋ฌํ์ง ์์ต๋๋ค..
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ํ ํธ์ง
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ํ ํธ์ง
2021.10.10๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/81303 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํ ํธ์ง 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr [๋ณธ ๋ฌธ์ ๋ ์ ํ์ฑ๊ณผ ํจ์จ์ฑ ํ
์คํธ ๊ฐ๊ฐ ์ ์๊ฐ ์๋ ๋ฌธ์ ์
๋๋ค.] ์
๋ฌด์ฉ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๋๋์ฆ์์ค์ ์ธํด์ธ ์๋ชฌ๋๋ ๋ช
๋ น์ด ๊ธฐ๋ฐ์ผ๋ก ํ์ ํ์ ์ ํ, ์ญ์ , ๋ณต๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ณผ์ ๋ฅผ ๋งก์์ต๋๋ค. ์ธ๋ถ ์๊ตฌ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค ์ ๊ทธ๋ฆผ์์ ํ๋์์ผ๋ก ์น ํด์ง ์นธ์ ํ์ฌ ์ ํ๋ ํ์ ๋ํ๋
..
์ค๋์ ๋ฐฐ์ #63
์ค๋์ ๋ฐฐ์ #63
2021.10.092021.10.09 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ์ค์ ์ ๋ค์ด๋ฒ ์ฝ๋ฉํ
์คํธ๋ฅผ ๋ณด๊ณ ํ๋ฃจ์ข
์ผ ํน ์ฌ์๋ค. ๋๋ฌด ์๋ฌด๊ฒ๋ ์ํ๋๊น ์ฃ์ฑ
๊ฐ์ด ๋ค์ด์ ์๊ณ ๋ฆฌ์ฆ์ ํ ๋ฌธ์ ํ์๋ค. ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. ๋ฐ๋ณต๋ฌธ ๋ ์ด๋ธ๋ง์ ํตํด์ ์ฝ๊ฒ ์ธ๋ถ์ ์๋ ๋ฃจํ์ continue๋ break๋ฅผ ๊ฑธ ์ ์๋ค! outer: for i in 0..
์ค๋์ ๋ฐฐ์ #62
์ค๋์ ๋ฐฐ์ #62
2021.10.082021.10.08 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ถ์บ ์ฐธ์ฌํ๊ธฐ - ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์๊ณ , ํผ์ด์ธ์
๊ณผ ํ์ดํ๋ก๊ทธ๋๋ฐ ์ฐ๋จน๊น์ง ์ ์ ์๋ ํ๋ฃจ์๋ค! ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. ๋ด๊ฐ ์ง๊ธ๊น์ง ํด์ค๋ Presenter๊ฐ ViewModel์ ์ผ๋ถ๋ค! ์ค๋ ๋๋ ๊ฒ. ์ด๋ฒ์ฃผ ํ๊ท ์ทจ์นจ์๊ฐ์ด ์๋ฒฝ 4์, ๊ธฐ์์๊ฐ์ด 9์์๋ค. ๊ทธ๋๋ ๋ฐค์๋ฉด์ ํ ๋งํผ ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ๋ค์ ๋ง๋ค ์ ์์ด์ ๋คํ์ด๋ค. ์ด์ ์ผ ํด๋ฆฐ ์ํคํ
์ณ์ ๋ํด ์กฐ๊ธ์ฉ์ด๋๋ง ์ดํดํ๊ณ ์๋ ๊ฒ ๊ฐ๋ค. ๊ณ์ํด์ ์ํ์ฐฉ์ค๋ฅผ ๋ง์ด ๊ฑฐ์น๊ณ ์๊ณ , ์คํจํ๊ณ ๋ค์ ๋ณต๊ธฐํ ๋๋ง๋ค ๋ ๋์ ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์๊ฐ๊ณ ์๋ค๊ณ ์๊ฐํ๋ค. 1์ฃผ์ฐจ ๋ฉค๋ฒ์ญ ๋ฏธ์
๋๋ ๋น๊ตํ๋ฉด.. ์ฌ์ฉ์๊ฐ ๋ถํธํจ์ ๋๋ผ์ง ๋ชปํ๋ ํ๋ฉด์ ๋ง๋ ๋ค๋๊ฑด ์ง์ง ์ด๋ ค์ด ์ผ์ด๋ค. ์ค๋ ํ ์ค๋ฑ
ํฌ ๊ฐ์
์ด ์ด๋ ธ๊ธธ๋ ์ฑ์ผ๋ก ๊ฐ์
ํ๋๋ฐ, ์ง์ง..
์ค๋์ ๋ฐฐ์ #61
์ค๋์ ๋ฐฐ์ #61
2021.10.082021.10.07 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ฏธ์
๋ง๋ฌด๋ฆฌํ๊ธฐ ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. ์ค๋ ๋๋ ๊ฒ. ํ๋ค๋ค.. ๋ฐฐ์ด๊ฑด ๋ง์๋ฐ ์ ๋ฆฌ๊ฐ ์๋๋ค. ์์ผ๋ก์ ๊ณํ. ์ค๋์ ๊ฐ์ฌ. ์ด๋ป๊ฒ๋ ๋ง๋ฌด๋ฆฌํ ์ ์๋ ์ง์ค๋ ฅ์ ํ๋ฝํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
์ค๋์ ๋ฐฐ์ #60
์ค๋์ ๋ฐฐ์ #60
2021.10.062021.10.05 ์ค๋์ ๋ฐฐ์ ์ค๋ ํ ์ผ. ๋ฏธ์
๊ณผ ํจ๊ปํ ํ๋ฃจ.. ๋ ํ์งํ ๋ฆฌ ํจํด ํ์ตํ๊ธฐ. ์ค๋ ์๋ก ๋ฐ๊ฒฌํ ๊ฒ. ์ฌ๋ฌ ๋น๋๊ธฐ ์์
์ด ๋ชจ๋ ๋๋ ๋ค์ ์คํํ ์ฝ๋๋ฅผ ์ง์ ํ๊ณ ์ถ์ ๋ DispatchGroup๊ณผ notify๋ฅผ ํ์ฉํ์! ์ค๋ ๋๋ ๊ฒ. ์ด๋ฒ์ฃผ ๋ฏธ์
์ด ์ง์ง ๋ง๋ง์น์๋ค.. ๋น๋๊ธฐ์ ์ํคํ
์ณ๊น์ง ๊ณ ๋ฏผํ๋๋ผ ๊ตฌํ์ ๋ง์ด ๋ชปํ๋ ๊ฒ ๊ฐ๋ค. ์์ผ๋ก์ ๊ณํ. ๊ณต๋ถํ ๊ฒ ์ฐ๋๋ฏธ.. ๊ตฌํ์ด๋ ํ์ต์ด๋ ๊ท ํ์ ์ข ๋ง์ถ๊ณ ์ถ์๋ฐ ์ ์๋๋ค.. ๋ด์ผ์ ์ด์์ฒด์ ๋ฅผ ์กฐ๊ธ์ด๋ผ๋ ์ฝ์ด๋ณด์! ์ค๋์ ๊ฐ์ฌ. ๋๋ฆฌ์ง๋ง ์กฐ๊ธ์ฉ์ด๋ผ๋ ์ฑ์ฅํ๊ณ ์์์ ๋๋ผ๊ฒ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!