SWIFT
-
Nib & Xib (feat. storyboard)iOS 2022. 12. 29. 10:20
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Nib์ Xib์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ UI ๊ตฌํ ์ข ๋ฅ ์ฐ๋ฆฌ๊ฐ iOS ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด UI ์ฆ, ํ๋ฉด์ ๊ทธ๋ฆฌ๋๊ฒ์ ๋นผ๋์ ์๊ฐ ์์ต๋๋ค. iOS์์๋ ์ด UI๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด 3๊ฐ์ง๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค. 1. ์คํ ๋ฆฌ๋ณด๋๋ก ๊ตฌํํ๊ธฐ 2. ์ฝ๋๋ก ๊ตฌํํ๊ธฐ 3. Nib, Xib๋ก ๊ตฌํํ๊ธฐ ์ฌ๊ธฐ์ ์ค๋ ์์๋ณผ ๊ฒ์ด ์ธ๋ฒ์งธ Nib, Xib๋ก ๊ตฌํํ๋๊ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐บ๐ป ์ฐ์ ๊ทธ๋ผ Nib์ Xib์ ์ ์๋ถํฐ ์์๋ณด์์ฃ ! Nib Nib๋ Nextstep Interface Builder์ ์ฝ์์ ๋๋ค. iOS / MacOS์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ฅํ๋ ํ์ผ์ด์ฃ . Nib๋ UI๋ฅผ ๊ทธ๋ฆฌ๋๊ฒ์ ์์ด์ ๋ฐ์ด๋๋ฆฌ ํ์์ ์์ถ ํ์ผ์ ์ด์ฉํด ํ์ํ ํด๋์ค๋ค..
-
RxSwift๋ก ์๋ฒ ํต์ ํ๊ธฐRxSwift 2022. 12. 19. 10:51
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ RxSwift๋ฅผ ์ฐ๋ ํ๊ฒฝ์์ ์๋ฒ ํต์ ์ ํ๋ ํ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ฐ์ ์๋ฒ ํต์ ์ด ํ์ํ ํ๊ฒฝ์ด ์ ๋ง ํ์์ ์ด๊ณ ๋ง์๋ถ๋ค์ด RxSwift๋ฅผ ์ฌ์ฉํ๊ณ ์์๊ฑฐ์์. ๊ทธ๋ ๊ธฐ์ ์ ๋ ๋๋ฆ์ ๋ฐฉ์์ผ๋ก RxSwift๋ฅผ ์ฌ์ฉํ๋ฉด์ ์์ง์ฌ์ง ์๋ฒ ํต์ ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ ์ฝ๊ฒ ์ฌ์ฉํด๋ณด๋ คํฉ๋๋ค! ๋จผ์ ๋ค์ด๊ฐ๊ธฐ์ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๊ฐ์ง์ ๋๋ค. Alamofire์ RxSwift Alamofire๋ฅผ ํตํด ์กฐ๊ธ ๋ ๊ฐํธํ๊ฒ ์๋ฒ ํต์ ์ ์ํต๋๋ค. Moya๋ฅผ ํ์ฉํ์ง ์์ ์ด์ ๋ ๋คํธ์ํฌ ๋ ์ด์ด๋ฅผ ์ถ์ํํ๊ฒ๋ฟ์ด๋ผ ์ด ๋ถ๋ถ์ ์ง์ ๊ตฌํํ๋ฉด์ ์กฐ๊ธ ๋ ์ฅ์ ์ ๊ฐ์ ธ๊ฐ์ต๋๋ค. ๊ทธ๋ผ ํ๋ฒ ๋ณด์์ฃ ๐ฅธ ์ฐ์ ๊ฐ์ฅ ๋จผ์ ๋ง๋ค์ด๋ณผ๊ฒ์ธ ์๋ฒ ํต์ ๊ท์ฝ์ ์ ํด๋ณด๋ Router ํ๋กํ ์ฝ๊ณผ ํด๋น ํ๋กํ ..
-
ํ๋ก๊ทธ๋๋จธ์ค - ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ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๊ฐ ์ํฐ ..
-
ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ฐ๊ธฐAlgorithm 2022. 12. 3. 09:23
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ ์ฐ๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋๋ณด๊ธฐ ์ขํํ๋ฉด์ ์ข์ํ๋ ์ง์๋ x์ถ๊ณผ y์ถ์ด ์ง๊ตํ๋ 2์ฐจ์ ์ขํํ๋ฉด์ ์ ์ ์ฐ์ผ๋ฉด์ ๋๊ณ ์์ต๋๋ค. ์ง์๋ ๋ ์์ ์ ์ k, d๊ฐ ์ฃผ์ด์ง ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์์ (0, 0)์ผ๋ก๋ถํฐ x์ถ ๋ฐฉํฅ์ผ๋ก a*k(a = 0, 1, 2, 3 ...), y์ถ ๋ฐฉํฅ์ผ๋ก b*k(b = 0, 1, 2, 3 ...)๋งํผ ๋จ์ด์ง ์์น์ ์ ์ ์ฐ์ต๋๋ค. ์์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ d๋ฅผ ๋๋ ์์น์๋ ์ ์ ์ฐ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, k๊ฐ 2, d๊ฐ 4์ธ ๊ฒฝ์ฐ์๋ (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0) ์์น์ ์ ์ ์ฐ์ด ์ด 6๊ฐ์ ์ ์ ์ฐ์ต๋๋ค. ์ ์ k์ ์์ ๊ณผ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๋ ์ ์ d๊ฐ ์ฃผ์ด์ก..