์ ์ฒด ๊ธ
-
SwiftUI - ViewSwiftUI 2022. 12. 24. 12:16
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ View Protocol์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ SwiftUI๋ก ๋ทฐ๋ฅผ ๋ง๋ค๋ฉด์ ๊ผญ ๋ง๋๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ๋ฐ๋ก View๋ฅผ ์ฑํํ๋๊ฒ์ธ๋ฐ์. ๊ทธ๋ฌ๋๊น ์ด View๋ ํ๋กํ ์ฝ์ ๋๋ค. ์ด ํ๋กํ ์ฝ์ ๋ณ ๊ณ ๋ฏผ์์ด ์ฑํํ๊ณ ๋ทฐ๋ฅผ ๊ทธ๋ ค์คฌ์๋๋ฐ ์ค๋์ ์ด ํ๋กํ ์ฝ์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ๋ฐ๋ก ๋ณด์์ฃ ๐บ๐ป View ๊ณต์๋ฌธ์์์๋ View ํ๋กํ ์ฝ์ ์ฑ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์ผ๋ถ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๋๋ฐ ์ฌ์ฉํ๋ ๋ชจ๋ํ์ด์ด ์ฆ ์์ ์๋ฅผ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํฉ๋๋ค. ์ฝ๊ฒ ์ ๋ฆฌํ๋ฉด, ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ํด์ ์ฑํํ๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ์ดํดํ๊ณ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง ๋ณด์์ฃ ~! public protocol View { associatedty..
-
RxSwift๋ก ์๋ฒ ํต์ ํ๊ธฐRxSwift 2022. 12. 19. 10:51
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ RxSwift๋ฅผ ์ฐ๋ ํ๊ฒฝ์์ ์๋ฒ ํต์ ์ ํ๋ ํ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ฐ์ ์๋ฒ ํต์ ์ด ํ์ํ ํ๊ฒฝ์ด ์ ๋ง ํ์์ ์ด๊ณ ๋ง์๋ถ๋ค์ด RxSwift๋ฅผ ์ฌ์ฉํ๊ณ ์์๊ฑฐ์์. ๊ทธ๋ ๊ธฐ์ ์ ๋ ๋๋ฆ์ ๋ฐฉ์์ผ๋ก RxSwift๋ฅผ ์ฌ์ฉํ๋ฉด์ ์์ง์ฌ์ง ์๋ฒ ํต์ ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ ์ฝ๊ฒ ์ฌ์ฉํด๋ณด๋ คํฉ๋๋ค! ๋จผ์ ๋ค์ด๊ฐ๊ธฐ์ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๊ฐ์ง์ ๋๋ค. Alamofire์ RxSwift Alamofire๋ฅผ ํตํด ์กฐ๊ธ ๋ ๊ฐํธํ๊ฒ ์๋ฒ ํต์ ์ ์ํต๋๋ค. Moya๋ฅผ ํ์ฉํ์ง ์์ ์ด์ ๋ ๋คํธ์ํฌ ๋ ์ด์ด๋ฅผ ์ถ์ํํ๊ฒ๋ฟ์ด๋ผ ์ด ๋ถ๋ถ์ ์ง์ ๊ตฌํํ๋ฉด์ ์กฐ๊ธ ๋ ์ฅ์ ์ ๊ฐ์ ธ๊ฐ์ต๋๋ค. ๊ทธ๋ผ ํ๋ฒ ๋ณด์์ฃ ๐ฅธ ์ฐ์ ๊ฐ์ฅ ๋จผ์ ๋ง๋ค์ด๋ณผ๊ฒ์ธ ์๋ฒ ํต์ ๊ท์ฝ์ ์ ํด๋ณด๋ Router ํ๋กํ ์ฝ๊ณผ ํด๋น ํ๋กํ ..
-
ํ๋ก๊ทธ๋๋จธ์ค - ๋กค์ผ์ดํฌ ์๋ฅด๊ธฐAlgorithm 2022. 12. 10. 11:12
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ๋กค์ผ์ดํฌ ์๋ฅด๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋๋ณด๊ธฐ ์ฒ ์๋ ๋กค์ผ์ดํฌ๋ฅผ ๋ ์กฐ๊ฐ์ผ๋ก ์๋ผ์ ๋์๊ณผ ํ ์กฐ๊ฐ์ฉ ๋๋ ๋จน์ผ๋ ค๊ณ ํฉ๋๋ค. ์ด ๋กค์ผ์ดํฌ์๋ ์ฌ๋ฌ๊ฐ์ง ํ ํ๋ค์ด ์ผ๋ ฌ๋ก ์ฌ๋ ค์ ธ ์์ต๋๋ค. ์ฒ ์์ ๋์์ ๋กค์ผ์ดํฌ๋ฅผ ๊ณตํํ๊ฒ ๋๋ ๋จน์ผ๋ ค ํ๋๋ฐ, ๊ทธ๋ค์ ๋กค์ผ์ดํฌ์ ํฌ๊ธฐ๋ณด๋ค ๋กค์ผ์ดํฌ ์์ ์ฌ๋ ค์ง ํ ํ๋ค์ ์ข ๋ฅ์ ๋ ๊ด์ฌ์ด ๋ง์ต๋๋ค. ๊ทธ๋์ ์๋ฆฐ ์กฐ๊ฐ๋ค์ ํฌ๊ธฐ์ ์ฌ๋ ค์ง ํ ํ์ ๊ฐ์์ ์๊ด์์ด ๊ฐ ์กฐ๊ฐ์ ๋์ผํ ๊ฐ์ง์์ ํ ํ์ด ์ฌ๋ผ๊ฐ๋ฉด ๊ณตํํ๊ฒ ๋กค์ผ์ดํฌ๊ฐ ๋๋์ด์ง ๊ฒ์ผ๋ก ์๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋กค์ผ์ดํฌ์ 4๊ฐ์ง ์ข ๋ฅ์ ํ ํ์ด ์ฌ๋ ค์ ธ ์๋ค๊ณ ํฉ์๋ค. ํ ํ๋ค์ 1, 2, 3, 4์ ๊ฐ์ด ๋ฒํธ๋ก ํ์ํ์ ๋, ์ผ์ดํฌ ์์ ํ ํ๋ค์ด [1, 2, 1, 3, 1, 4, 1, 2] ์..
-
ํ๋ก๊ทธ๋๋จธ์ค - ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐAlgorithm 2022. 12. 9. 14:13
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋๋ณด๊ธฐ ์์ ์ ์ n์ด ์ฃผ์ด์ง๋๋ค. ์ด ์ซ์๋ฅผ k์ง์๋ก ๋ฐ๊ฟจ์ ๋, ๋ณํ๋ ์ ์์ ์๋ ์กฐ๊ฑด์ ๋ง๋ ์์(Prime number)๊ฐ ๋ช ๊ฐ์ธ์ง ์์๋ณด๋ ค ํฉ๋๋ค. 0P0์ฒ๋ผ ์์ ์์ชฝ์ 0์ด ์๋ ๊ฒฝ์ฐ P0์ฒ๋ผ ์์ ์ค๋ฅธ์ชฝ์๋ง 0์ด ์๊ณ ์ผ์ชฝ์๋ ์๋ฌด๊ฒ๋ ์๋ ๊ฒฝ์ฐ 0P์ฒ๋ผ ์์ ์ผ์ชฝ์๋ง 0์ด ์๊ณ ์ค๋ฅธ์ชฝ์๋ ์๋ฌด๊ฒ๋ ์๋ ๊ฒฝ์ฐ P์ฒ๋ผ ์์ ์์ชฝ์ ์๋ฌด๊ฒ๋ ์๋ ๊ฒฝ์ฐ ๋จ, P๋ ๊ฐ ์๋ฆฟ์์ 0์ ํฌํจํ์ง ์๋ ์์์ ๋๋ค. ์๋ฅผ ๋ค์ด, 101์ P๊ฐ ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 437674์ 3์ง์๋ก ๋ฐ๊พธ๋ฉด 211020101011์ ๋๋ค. ์ฌ๊ธฐ์ ์ฐพ์ ์ ์๋ ์กฐ๊ฑด์ ๋ง๋ ์์๋ ์ผ์ชฝ๋ถํฐ ์์๋๋ก 211, 2, 11..
-
SwiftUI - refreshableSwiftUI 2022. 12. 8. 10:16
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ List์์ ์ฌ์ฉ ๊ฐ๋ฅํ refreshable์ด๋ผ๋ ์๋ก ๊ณ ์นจ ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ํด๋น ๊ธฐ๋ฅ์ iOS 15 ๋ถํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์! ์ฐธ๊ณ ๋ก WWDC2021์์ ์๊ฐ๋์์ต๋๋ค. ๋น๊ต์ ์ด๋ป๊ฒ ๋ณด๋ฉด ์ต์ ๋ฉ์๋์ด๊ธฐ์ ํ์ ์์ 13, 14๋ถํฐ ์ง์์ ํ๋ค๋ฉด ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง๋ง ์์ผ๋ก ๋ฏธ๋๋ฉ ํ๊ฒ์ ์ ์ฐจ ์ฌ๋ ค๊ฐ๊ฒ์ด๊ณ ๋ฐฐ์๋๋ฉด ์ข๊ธฐ์ ์ด์ฐธ์ ํ๋ฒ ํธ๋ผ์ด ํด๋ด ๋๋ค๐ ์ฌ๋ฌ๋ถ ๋ชจ๋ ํ ์ด๋ธ๋ทฐ ํน์ ์ปฌ๋ ์ ๋ทฐ๋ก ๋ ์ฆ, ๋ฆฌ์คํธ๋ก ๋ฐ์ดํฐ๊ฐ ๋ฟ๋ ค์ง ๋ทฐ์ ๊ฒฝ์ฐ ์ต์๋จ์์ ์๋๋ก ๋๋๊น ์ ์๋ก ๊ณ ์นจ์ด ๋๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ต์ ์ผ๋ก ๊ฐฑ์ ํ๋ ๊ทธ๋ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง ์ฑ์ ์์ฃผ ๋ง์ด ๋ณด์ จ๊ณ ์ต์ํ์ค๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค. ๋ชจ๋์๊ฒ ์ฌ์ค์ ์น์ํ ๊ธฐ๋ฅ์ด๊ธดํ๋ฐ SwiftUI..
-
ํ๋ก๊ทธ๋๋จธ์ค - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐAlgorithm 2022. 12. 7. 15:22
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋๋ณด๊ธฐ ์์ ์ ์ n์ด ์ฃผ์ด์ง๋๋ค. ์ด ์ซ์๋ฅผ k์ง์๋ก ๋ฐ๊ฟจ์ ๋, ๋ณํ๋ ์ ์์ ์๋ ์กฐ๊ฑด์ ๋ง๋ ์์(Prime number)๊ฐ ๋ช ๊ฐ์ธ์ง ์์๋ณด๋ ค ํฉ๋๋ค. 0P0์ฒ๋ผ ์์ ์์ชฝ์ 0์ด ์๋ ๊ฒฝ์ฐ P0์ฒ๋ผ ์์ ์ค๋ฅธ์ชฝ์๋ง 0์ด ์๊ณ ์ผ์ชฝ์๋ ์๋ฌด๊ฒ๋ ์๋ ๊ฒฝ์ฐ 0P์ฒ๋ผ ์์ ์ผ์ชฝ์๋ง 0์ด ์๊ณ ์ค๋ฅธ์ชฝ์๋ ์๋ฌด๊ฒ๋ ์๋ ๊ฒฝ์ฐ P์ฒ๋ผ ์์ ์์ชฝ์ ์๋ฌด๊ฒ๋ ์๋ ๊ฒฝ์ฐ ๋จ, P๋ ๊ฐ ์๋ฆฟ์์ 0์ ํฌํจํ์ง ์๋ ์์์ ๋๋ค. ์๋ฅผ ๋ค์ด, 101์ P๊ฐ ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 437674์ 3์ง์๋ก ๋ฐ๊พธ๋ฉด 211020101011์ ๋๋ค. ์ฌ๊ธฐ์ ์ฐพ์ ์ ์๋ ์กฐ๊ฑด์ ๋ง๋ ์์๋ ์ผ์ชฝ๋ถํฐ ์์๋๋ก 211, 2,..
-
ํ๋ก๊ทธ๋๋จธ์ค - ๊ทค ๊ณ ๋ฅด๊ธฐAlgorithm 2022. 12. 6. 23:20
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ๊ทค ๊ณ ๋ฅด๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋๋ณด๊ธฐ ๊ฒฝํ๋ ๊ณผ์์์์ ๊ทค์ ์ํํ์ต๋๋ค. ๊ฒฝํ๋ ์ํํ ๊ทค ์ค 'k'๊ฐ๋ฅผ ๊ณจ๋ผ ์์ ํ๋์ ๋ด์ ํ๋งคํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ํํ ๊ทค์ ํฌ๊ธฐ๊ฐ ์ผ์ ํ์ง ์์ ๋ณด๊ธฐ์ ์ข์ง ์๋ค๊ณ ์๊ฐํ ๊ฒฝํ๋ ๊ทค์ ํฌ๊ธฐ๋ณ๋ก ๋ถ๋ฅํ์ ๋ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ์๋ฅผ ์ต์ํํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฒฝํ๊ฐ ์ํํ ๊ทค 8๊ฐ์ ํฌ๊ธฐ๊ฐ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ ํฉ์๋ค. ๊ฒฝํ๊ฐ ๊ทค 6๊ฐ๋ฅผ ํ๋งคํ๊ณ ์ถ๋ค๋ฉด, ํฌ๊ธฐ๊ฐ 1, 4์ธ ๊ทค์ ์ ์ธํ ์ฌ์ฏ ๊ฐ์ ๊ทค์ ์์์ ๋ด์ผ๋ฉด, ๊ทค์ ํฌ๊ธฐ์ ์ข ๋ฅ๊ฐ 2, 3, 5๋ก ์ด 3๊ฐ์ง๊ฐ ๋๋ฉฐ ์ด๋๊ฐ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ๊ฐ ์ต์์ผ ๋์ ๋๋ค. ๊ฒฝํ๊ฐ ํ ์์์ ๋ด์ผ๋ ค๋ ๊ทค์ ๊ฐ์ k์ ๊ทค์ ํฌ๊ธฐ๋ฅผ ๋ด์ ๋ฐฐ์ด ..
-
SwiftUI - antialiased & interpolationSwiftUI 2022. 12. 6. 14:47
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ ์ด๋ฏธ์ง๋ฅผ ์กฐ๊ธ ๋ ๋งค๋๋ฝ๊ฒ ๋ณด๊ฐํ๋ ๋ฉ์๋๋ค์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค๐ ์ค๋ ์๊ฐํ ๋๊ฐ์ง๋ antialiased์ interpolation์ ๋๋ค. ๊ทธ๋ผ ์์ฐจ์ ์ผ๋ก ์์๋ณด๊ฒ ์ต๋๋ค! antialiased? ์ํฐ ์์ผ๋ฆฌ์ด์ฑ์ด ๋ญ๊น์? ์ฌ์ ์ ์ธ ์๋ฏธ๋ถํฐ ํ๋ฒ ํ์ ํด๋ณด์ฃ . ์ฐ์ ์์ผ๋ฆฌ์ด์ฑ์ ๋์งํธ ์ํ๋ง์์ ์ถ๋ ฅ์ด ์๊ณก๋๋ ํ์ ์ฆ, ๊ณ๋จ ํ์์ ์๋ฏธํฉ๋๋ค. ์ด๋ฏธ์ง ๊ฐ์ด ๋ ๋๋ง๋ ์ปจํ ์ธ ๋ฅผ ๋ณด์ฌ์ค๋ ์ถ๋ ฅ๋๋ ์ด๋ฏธ์ง์ ํฝ์ ์ด ๊นจ์ง๊ฑฐ๋ ๊ฐ์ฅ์๋ฆฌ๊ฐ ์ธํ๋ถํ ํด์ง๊ฒ ๋ํ๋๋ ํ์์ ๋๋ค. ์ฌ๊ธฐ์ ์ํฐ๊ฐ ๋ถ์์ผ๋ ์ด๋ฌํ ๋งค๋๋ฝ์ง ๋ชปํ ์ถ๋ ฅ์ ๋งค๋๋ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ๋ฉ์๋๊ฒ ์ฃ ? ์ค์ ๊ณต์๋ฌธ์์์๋ ์๋์ ๊ฐ์ด ์๊ฐํ๊ณ ์์ต๋๋ค. "์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํ ๋ SwiftUI๊ฐ ์ํฐ ..