์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Decodable
- AVAudioPlayer
- ExpressJS
- Core Data
- String.Index
- ์ฑ๋ง๋ค๊ธฐ
- map
- components
- ์ง๋ฒ๋ณํ
- UIRefreshController
- ์๊ณ ๋ฆฌ์ฆ
- mongoose
- Figma
- ํ๋ก๊ทธ๋๋จธ์ค
- Firestore
- CRUD
- MongoDB
- Encodable
- RxSwift
- ios
- ์ฑ๋์์ธ
- Reduce
- nodejs
- SWiFT
- Filter
- Firestore CRUD
- Codable
- DispatchQueue
- Cloud Firestore
- Mac
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (67)
Focus On Develop ๐ค๐ค
๋ค๋ค Codable์ ๋ง์ด ์ฌ์ฉํ์์ฃ ~~~?? Codable์ ๋ํ ์ค๋ช ์ ๐ ์ฌ๊ธฐ์ ๊ฐ๋จํ ์์ฝํ๋ฉด ๋คํธ์ ํต์ ๋ฑ์ ํตํด ์ธ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฐ์ฅ ๋ณดํธ์ ์ธ ๋ฐ์ดํฐ ํฌ๋งท์ด json์ด์ฃ !! ์ด jsonํ์ผ์ ์ฑ์์ ์ฌ์ฉ๊ฐ๋ฅํ๋๋ก Object๋ก ๋ง๋๋ ๊ณผ์ ์ Decoding, ์ฑ์ Object๋ฅผ jsonํ์ผ๋ก ๋ง๋๋ ๊ณผ์ ์ Encoding ์ด๋ผ๊ณ ํ์์ฃ ! ๊ทธ๋ฆฌ๊ณ Encoding, Decoding ํ๋กํ ์ฝ์ ๋ ๋ค ํฌํจํ๋๊ฒ Codable ํ๋กํ ์ฝ์ด์์ต๋๋ค ๐ค Codable ํ๋กํ ์ฝ์ ํตํด Encoding, Decoding์ ์๊ณ ์๋ค๊ณ ์๊ฐํ๊ณ ํ ํ ์ง๋๊ฐ๋๋ค!! ์ฌ๊ธฐ ๊ผญ ๋ณด๊ณ ์ค์ธ์๐ Codable์ Swift์์ ๊ต์ฅํ ๊ฐ๋ ฅํ! ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋ ๊ฒ์ ๋ง์ต๋๋ค๋ง,,,, ๊ทธ๋ฅ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ธ๋ถ์..
๋ค๋ค ํ์ ์ ์ํด ์์ค๊ด๋ฆฌ ํ์์ฃ ~~? (Git, Github ๋ฑ๋ฑ ์ฌ์ฉํ์ค๊ฑฐ์์!) ๋ธ๋์น๋ฐ์ ์์ ํ๊ณ ์ปค๋ฐ, ํธ์ฌํ ๋! ํน์๋ ๋ญ๊ฐ ๋ด๊ฐ ๋ฐ๊ฒฌํ์ง ๋ชปํ ๋น๋ ์๋ฌ๋ฅผ ํ์งํด์ฃผ๋๊ฒ ์๋ค๋ฉด ์ข๊ฒ ์ฃ ..!? ๊ทธ๊ฒ ๋ฐ๋ก Bitrise๋ผ๋ ๋ ์์ด์์! Github๊ณผ Bitrise๋ฅผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณผ๊ฒ์! ๐ ์ด ํฌ์คํ ์ iOS App๊ฐ๋ฐํด์ธ XCode ํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค! ์ด๋ ๊ฒ ๋์ํ๋๋ก ๊ตฌ์ฑํด๋ณผ๊ฑฐ์์. ๋ก์ปฌ Repository์์ ๋ญ๊ฐ ์์ ํ๊ณ , ์๊ฒฉ Repository์ Commit, Push ํ๊ณ ๋๋ฉด ์๋์ผ๋ก Bitrise๊ฐ Push๋ ์์ค๋ฅผ ๊ฐ์ ธ๊ฐ์ ๋น๋๋ฅผ ์๋ํ๋ต๋๋ค. ๋ง์ฝ ์ด๋ค ์ด์ ์์ ๋น๋๋ฅผ ์คํจํ๋ฉด ๊ฐ๋ฐ์๊ฒ์ Noti๋ฅผ ๋ณด๋ด์ค๋๋ค! ์์ํด๋ณผ๊ฒ์! ๐ 1. Github Repos..
์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์(์ต๋๊ฐ) ์ธ์๋ฌผ์ ์ฐพ๊ณ , ๊ทธ๊ฒ ๋ฌธ์ ์์ ์๊ตฌํ ์ธ์๋ฌผ๊ณผ ๋์ผํ๋ค๋ฉด ๋ช๋ฒ์งธ๋ก ์ถ๋ ฅ๋์๋์ง๋ฅผ ์์์ผ ํ๋ค. ์ฆ ์ฐ์ ์์๋ง ๋๋ค๊ณ ๋๋๊ฒ ์๋๋ผ, ์ฐ์ ์์์ ์ธ์๋ฌผ๋ฒํธ๋ฅผ ์์ผ๋ก ์๊ณ ์์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. ํํ๋ก (์ธ์๋ฌผ์์น, ์ฐ์ ์์)๋ฅผ ๊ฐ์ง๊ณ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค์, ๋ฌธ์ ์ ์ฃผ์ด์ง ๋๋ก ๊ฐ์ฅ ์์ ์ธ์๋ฌผ์ด ์ถ๋ ฅํ ์์์ธ์ง ํ์ธํ๊ณ , ๋ง๋ค๋ฉด ์ด๊ฒ ์๊ตฌํ๋ ์ธ์๋ฌผ๋ฒํธ์ ์ผ์นํ๋์ง ํ๋ฒ๋ ๊ฒ์ฆํ๋ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ณ , ์ผ์นํ๋ฉด ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค. func solution(_ priorities:[Int], _ location:Int) -> Int { var printArray: [(Int, Int)] = [] var res = 1 for (i, x) in priorities.enumerated(..
ใ ใ ๋ฌธ์ ๊ฐ ๋๊ธธ๋ค.๐ ๋ฌธ์ ์์ ์ํค๋๋๋ก ํฌ๋ ์ธ์ ์์น๋ฅผ ์ฐพ๊ณ , ํฌ๋ ์ธ์ ์ญ ๋ด๋ ธ์๋ ์ง์ ์ธํ์ด ์๋ค๋ฉด ๋ฐ๊ตฌ๋์ ์ฎ๊ฒจ์ ์ ์ผ ์์์๋ ์ธํ๊ณผ ๊ฐ์ ์ธํ์ด๋ฉด ๋๊ฐ๋ฅผ ํฐํธ๋ฆฌ๋ฉด ๋๋ค. ๊ทผ๋ฐ ๋ฌธ์ ๋.. ์ฃผ์ด์ง๋ board๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ธํ์ ์ง์ด์ฌ๋๋, ํด๋น ๋ผ์ธ์ด ๋น์ด์๋์ง ์ฒดํฌํ๊ธฐ๊ฐ ์ข ์ ๋งคํด์ง๋ค. board[ํ][์ด]๋ก ๋ฐ๋ก ์ ๊ทผํ๊ธฐ๊ฐ ์ข.. ๐ญ ๊ทธ๋์ ๋๋ board๋ฅผ ์ข ๋ ์ฝ๊ฒ ๋ณด๊ธฐ์ํด ์กฐ๊ธ ํ์ ์์ผ์ ์๋ก์ด dolls๋ก ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. ์๋์ฒ๋ผ ๋๋ฆฌ๋ฉด, ํด๋น๋ผ์ธ์ด ๋น์๋์ง์ ์ ์ผ ์์์๋ ์ธํ์ ๊ฐ์ ธ์ค๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค! func solution(_ board:[[Int]], _ moves:[Int]) -> Int { var dolls = Array(repeating: Array(..
์ง๋ ํฌ์คํ ์์๋ ๊ฐ๋จํ๊ฒ Cloud Firestore์ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋๋์ง ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด์๋๋ฐ์~!! ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ๋ชจ๋ฅด๋ฉด ๋จผ์ ๊ตฌ์กฐ๋ถํฐ ํ์คํ๊ฒ ์๊ณ ์ค์ต์ ์์ํ๋๊ฒ ์ข์ต๋๋ค ๐๐ ๐ 2021/02/08 - [iOS [Swift]/๊ธฐ์ด๋ฅผ ํํํ!] - [Swift] Cloud Firestore(1) ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ด๋ฒ์๋ ์ค์ ๋ก XCode์์ ์ด๋ป๊ฒ Firestore๋ฅผ ํตํด CURD๋ฅผ ํ ์ ์๋์ง ์ค์ตํด๋ณผ๊ฑฐ์์. ๋จผ์ ์ค์ต์ ์ํด์, Firestore๋ฅผ ๋น์ด์๊ฒ ์ค๋นํ๊ณ , Console์ ๋ฐ๋ก๋ฐ๋ก ํ์ธํ ์ ์๋๋ก ๋์์ค์๋ค! Database ์ฐธ์กฐ ๋ณธ๊ฒฉ CRUD ์ค์ต์ ์์, ์ฐ๋ฆฌ๊ฐ Cloud์ Firestore์ด ์ด๋์๋์ง ์์น์ ๋ณด๋ฅผ ์์์ผ CRUD๋ฅผ ์งํํ๊ฒ ์ฃ ~? ์๋ ์ฝ๋๋ก..
์ค๋์ Google Firebase Cloud Firestore์ ๋ํด์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ์๊ธฐ ๋ค์ด๊ฐ์ ๊ตฌ๊ธ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๊ณ ๋๋ฌ๋ณด์๊ธธ!! ใ ใ ใ console.firebase.google.com/ ๋ก๊ทธ์ธ - Google ๊ณ์ ํ๋์ ๊ณ์ ์ผ๋ก ๋ชจ๋ Google ์๋น์ค๋ฅผ Google ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ accounts.google.com ์ฐ๋ฆฌ๊ฐ ์ฑ์ ๊ฐ๋ฐํ ๋ ๋ก์ปฌ ์ ์ฅ์์ธ UserDefault, CoreData๋ง ํ์ํ ๊ฒฝ์ฐ๋ ์ ์ธํ๊ณ , ๋ถ๋ช ํ ์๊ฒฉ Database๊ฐ ํ์ํ๊ฒ ์ฃ ? ์๋ฅผ ๋ค์ด์ ์นด์นด์คํก ์ฑํ ์ด๋, ๊ณต์ ๋ฌธ์ํจ ๋ฑ์ ์ฌ์ฉ์ A์ B๊ฐ ์๋ก ๋๊ธฐํ๋๋ ์ฑํ๋ฉด์ ๋ด์ผํ๋ค๋ฉด, ๋ก์ปฌ ์ ์ฅ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ๋ช ํ ๋ถ์กฑํ๊ฒ ์ฃ ! A๊ฐ ์ฑํ ์ ๋ณด๋ด๋ฉด ์ด๋๊ฐ Database์ ๋ด์ฉ์ด ์ ์ฅ๋..
Storyboard์ ๋ณด๋ฉด pageControl์ด ์๋๋ฐ, ๊ทธ๊ฒ๋ง ๋ฃ์ผ๋ฉด ์๋์ผ๋ก ์ข/์ฐ๋ก swipeํ ์ ์๊ฒ ๋๋?? ์ถ์๋๋ฐ.. ์๋๋๋ผ๊ตฌ์ ใ ใ ใ ์.. ๊ทธ๋ผ ์ด๊ฑฐ๋ ์ด๋ป๊ฒ ์ฐ๋๊ฑฐ์ง? ํ๋ค๊ฐ Tutorial Sample์ ๋ง๋ค์ด๋ดค์ด์~ ScrollView + PageControl์ด๋, CollectionView + PageControl์ ๋ง์ด ์ฐ๋ ๊ฒ ๊ฐ๋๋ผ๊ตฌ์. ๊ทธ ์ค์ ScrollView๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋จํ๊ฒ ๊ตฌํํด๋ดค์ต๋๋ค. Storyboard๋ ๊ฐ๋จํ ์ด๋ ๊ฒ ๊ตฌ์ฑํ์ด์. ScrollView ์์ View๋ฅผ ๋ฃ๊ณ Constraint๋ฅผ ๋ง์ถ๋๋ ๋ญ๊ฐ ์๋ฌ๊ฐ ๋ง์ด ๋ฐ์ํ์์ฃ ?ใ ใ ์ด๋ฒ์๋ ๋ฐ๋ก ๋ฐ์ดํฐ ์์ด ๋ทฐ๋ง ๋ฑ ์ก์์ฃผ๊ธฐ!! ์ ๊น ํ์๋ก ์ฌ๊ธฐ์ ScrollView์ View๋ฅผ ๋ฃ์๋ Constra..
๊ณต๋ถ๋ฅผ ํ๋ฉด ํ ์๋ก Interface Builder ๋ก๋ง UI์์ ์ ํ๋๊ฒ ํ๊ณ๊ฐ ์๋๋ผ๊ตฌ์! ๐ Storyboard vs Programmatic UI ๋ฐ๋ก๋ณด๊ธฐ ๊ทธ๋์ ์ ๋ Programmatically AutoLayout์ ์ ๋ฌธํ์ต๋๋ค!! ์ด๋ฐ ์ ๋ฐ ์์ค๋ฅผ ๋ณด๋ฉด CG ์ด์ฉ๊ตฌ ์ ์ฉ๊ตฌ..๊ฐ ๋์ค๋๋ฐ, ๋ด๊ฐ ์๋ CG๋ ์ํ๋ณด๋ฉด์ "์์ด~์ ๊ฑฐ CG๋ค" ๋ผ๊ณ ํ๋ ๊ฒ ๋ฟ์ธ๋ฐ..๐๐ ๊ทธ๋์ ํ๋ํ๋ ๊ธฐ์ด์ ์ธ ๊ฒ๋ถํฐ ์ ๋ฆฌํด๊ฐ๋ ค๊ณ ํฉ๋๋ค!! ๋จผ์ , CG CG ํ๋๋ฐ CG๊ฐ ๋ญ๊น์~? ๊ทธ๋ ๋์. ๊ฐ๋จํ ๋งํ๋ฉด Swift์์ 2์ฐจ์์์ ํ๋ฉด์ ๊ทธ๋ฆด๋ ์ฌ์ฉํ๋ Framework๋ผ๊ณ ํฉ๋๋ค! ๋ง์ด ๋ค์ด๋ณธ CGFloat, CGPoint, CGSize, CGRect, CGColor, CGFont ๋ฑ๋ฑ ๋ค์ํ ์์๊ฐ ์ Fra..