ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
-
ETag ์บ์ฑ์ผ๋ก ์ฑ ์ฑ๋ฅ ์ต์ ํํ๊ธฐSwift 2024. 11. 26. 18:51
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ETag๋ฅผ ์ด์ฉํด ๋คํธ์ํฌ ์บ์ฑ์ ํ์ฌ ์ฑ ์ฑ๋ฅ์ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ๊ป์ ๐๐ป ETag ์บ์ฑ์ผ๋ก ์ฑ ์ฑ๋ฅ ์ต์ ํํ๊ธฐ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์์ ๋คํธ์ํฌ ์ต์ ํ๋ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ํต์ฌ ์์์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์ HTTP ํ๋กํ ์ฝ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ ์ค ํ๋์ธ ETag(Entity Tag)์ ๋ํด ์์ธํ ์์๋ณด๊ณ , iOS ์ฑ์์ ์ด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ETag?ETag๋ ์น ๋ฆฌ์์ค์ ํน์ ๋ฒ์ ์ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ์๋ณ์์์.์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฆฌ์์ค๋ฅผ ์๋ตํ ๋ ETag ํค๋๋ฅผ ํจ๊ป ์ ์กํ๋ฉฐ, ํด๋ผ์ด์ธํธ๋ ์ดํ ์์ฒญ ์ ์ด ๊ฐ์ ์ฌ์ฉํด ๋ฆฌ์์ค๊ฐ ๋ณ๊ฒฝ๋์๋์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์๋์ ๊ฐ์ด ์๋ฅผ ๋ค์ด์, ์๋ฒ์ ์๋ต ํค๋๋..
-
SwiftUI - refreshable ScrollViewSwiftUI 2024. 11. 22. 20:40
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ refreshable ๊ธฐ๋ฅ์ ๊ฐ์ง ScrollView๋ฅผ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ฌ์ค, ์ด์ SwiftUI์์ refreshable์ด๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด๊ฐ ์กด์ฌํฉ๋๋ค. ๊ด๋ จํด์ ํฌ์คํ ์ ์๋์์ ์ ๋ฆฌํด๋ดค์ด์! SwiftUI - refreshable์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ List์์ ์ฌ์ฉ ๊ฐ๋ฅํ refreshable์ด๋ผ๋ ์๋ก ๊ณ ์นจ ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ํด๋น ๊ธฐ๋ฅ์ iOS 15 ๋ถํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์! ์ฐธ๊ณ ๋ก WWDCgreen1229.tistory.com ์์ฝํ์๋ฉด, ์ฌ์ค ์์ฃผ ์ ์ฉํ ๋ชจ๋ํ์ด์ด์์.์คํฌ๋กค ํ๊ฒฝ์์ ์ต์๋จ์์ ์๋๋ก ๋๋๊ทธ ํ์ ์ ์๋ก๊ณ ์นจ ๋๋ ๊ธฐ๋ฅ์ ์์ฃผ ์์ฝ๊ฒ ๊ตฌํํด์คฌ์ผ๋๊น์..!! ๊ทธ๋ฐ..
-
Consume noncopyable types in Swift (feat. WWDC 2024)Swift 2024. 11. 18. 18:58
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์ WWDC 2024์ Consume noncopyable types in Swift์ด๋ผ๋ ์ธ์ ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ธ์ ์ฃผ์ ๋ง ๋ณด๋ฉด Swift์์ ๋ณต์ฌํ ์ ์๋ ์ ํ ์๋นํ๊ธฐ๋ผ๊ณ ํด์ํด๋ณผ ์ ์์ด์ ๐ ๊ทธ๋ผ, Swift์์ ๋ณต์ฌ๊ฐ ๋ญ๊ณ ์ธ์ ๋ณต์ฌ ๋ถ๊ฐ๋ฅํ ์ ํ์ ์๋นํด์ผํ๋์ง ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์ ๊ถ์ ํตํด ์๋๋ฅผ ๋ช ํํ ์ด๋ป๊ฒ ํํํ ์ ์๋์ง ๋ฑ์ ์ง์ค์ ์ผ๋ก ๋ค๋ค๋ณด์์ฃ ๐๐ป Consume noncopyable types in Swift์ต๊ทผ Swift์์ ๋ณต์ฌํ ์ ์๋ ์ ํ์ ๋์ ํ์ต๋๋ค. ์์ธํ ์์๋ณด๊ธฐ ์ ๋ณต์ฌ๋ ๋ฌด์์ธ์ง๋ถํฐ ์์๋ณด์์ฃ ! Copying ํด๋น ํ๋ ์ด์ด๋ผ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ฐ์ง ์ธ์คํด์ค๊ฐ ์๊ณ ๊ทธ ์ธ์คํด์ค๋ฅผ player2์ ํ ๋นํ๋ฉด ๋ณต์ฌ๊ฐ ์ผ์ด..
-
Pagination (feat. SwiftUI & MVVM)SwiftUI 2024. 11. 15. 18:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ํ์ด์ง๋ค์ด์ ๊ธฐ์ด์ ๋ํด ๊ตฌํํด๋ณด๋ ค ํฉ๋๋ค ๐๐ป๊ทผ๋ฐ, SwiftUI์ MVVM์ ๊ณ๋ค์ธ.. ๊ฑฐ๊ธฐ๋ค Concurrency๋ ๊ณ๋ค์ธ~ ์ฌ์ค ๊ฐ๋ ์ ์ผ๋ก ์ด๋ ค์ด๊ฒ ์ ํ ์๋๊ธฐ์ ๋ฐ๋ก ๋ค์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค! Pagination?ํ์ด์ง๋ค์ด์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ํ์ด์ง๋ก ๋๋ ์ ๋ค๋ฃจ๋ ๊ธฐ์ ์ด์ฃ .์๋ฅผ ๋ค์ด, ์๋ฒ์ ํต์ ์ํด์ ๊ฒ์๊ธ์ ๋ณด์ฌ์ค์ผํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์ํ ํ ๋ง๊ฐ์ฏค ๋ง๋ค๊ณ ์๊ฐํด๋ณผ๊ป์.๊ทธ๋ฌ์๋ ์ด ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ๋ฒ์ ๋ค ๊ฐ์ ธ์ค๊ณ ๋ ๋ณด์ฌ์ค๋ค๋๊ฑด ๊ต์ฅํ ์ฑ๋ฅ ๋ญ๋น์ผ๊ฑฐ์์.ํ ํ๋ฉด์ ์คํฌ๋กค์ ๋ด๋ฆฌ๊ฑฐ๋ ๋ค์ ํ์ด์ง๋ก ๋์ด๊ฐ์ง ์๋ ์ด์ 10๊ฐ์ ๋๋ง ๋ณด์ฌ์ค ์ ์์๋ ๋จ๋์ง 9990๊ฐ๋ ์์ง ๋ณด์ฌ์ค์๋ ์๋๋ฐ๋ ๋ค๊ณ ์์ด์ผ ํ๋๊น์ ๐ฅฒ ๊ทธ๋์, ํ์ด์ง๋ค์ด์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์..
-
SwiftUI๋ก ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ ๋ง๋ค๊ธฐ (feat. ZStack)SwiftUI 2024. 11. 14. 15:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ตฌํํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป SwiftUI๋ก ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ ๋ง๋ค๊ธฐ์ฌ์ค ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ๋ผ๊ณ ํ๋ฉด ์ด๋ค๊ฑด์ง ๊ฐ์ด ์์ฌ ์ ์์ฃ !ํ ๋๋ฆฌ์ ์๋์ฐ๋ฅผ ์ ํ๊ฑฐ๋ ์ด๋ค ๋ทฐ๋ฅผ ์ค๋ฒ๋ ์ด๋ก ๊น๋๊ฒ์ ๋งํ ์๋ ์๊ณ , ๋๋ฌด ์ฌ์ฉ๋ฒ์ด ๋ค์ํ๊ธฐ์ ๊ตฌํ๋๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ํ์๋ ๋๋ฌด ๋ฌด๊ถ ๋ฌด์งํ์ฃ ! ๊ทธ๋์, ๋จผ์ ์์๋ฅผ ๋ณด์ด๊ณ ์ด๋ฐ๊ฑธ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํ๋ค~ ์๊ฐํด๋ณผ๊น ํฉ๋๋ค ๐ ์๋ฐ ๋ทฐ๋ฅผ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํด์.์ฝ๊ฐ ๊ณต์ฑ ๋์์ธ ๊ฐ๊ธฐ๋ํ์ฃ ?์ฌ๊ธฐ์ ์ค๋์ ์ฑ๋ฆฐ์ง๋ ์ ์ด๋ก์ ๋ทฐ๋ฅผ ํ ๋๋ฆฌ ์์ ๊ฒน์ณ ์ฌ๋ฆฌ๋๊ฒ๋๋ค.์ฆ, ๊ณต์ฑ ์์๋ ์คํ๋ง ๋ถ๋ถ์ด ์๋๋ฐ, ์ด๋ป๊ฒ ๋ณด๋ฉด ์ ์ด๋ก์ ๋ทฐ๊ฐ ์คํ๋ง์ ํํํ๋๊ฑฐ๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์์. ๊ฐ์ฅ ..
-
SwiftUI์ Text์ stroke ์ ์ฉํ๊ธฐSwiftUI 2024. 11. 7. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ Text์ ํ ๋๋ฆฌ์ stroke๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ๋ฒ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๊ฐ๋จํ๊ธฐ๋ ํ๊ณ ์ ๊ฐ ํ์ํด์ ํ๋ฒ ๋ชจ๋ํ์ด์ด๋ก ๋นผ๋ณด๋ฉด์ ๋ง๋ค์ด๋ณผ๊นํด์! SwiftUI์ Text์ stroke ์ ์ฉํ๊ธฐSwiftUI์์๋ Text์ stroke๋ฅผ ๋ฃ์ ์ ์๋ ๋ชจ๋ํ์ด์ด๊ฐ ์๋๊ฑธ๋ก ์๋๋ค ๐ฅฒ ๊ทธ๋์ ์ฐ๋ฆฌ๋ UIKit์ ํ์ฉํ๊ฑฐ๋ SwiftUI์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ํ์ด์ด๋ค์ ์ด์ฉํด stroke๋ฅผ ๋ง๋ค์ด ๋ณผ ์ ์์ด์! ์ฐ์ shadow๋ฅผ ์ด์ฉํด์ ํ ๋๋ฆฌ๋ฅผ ๊ตฌํํด๋ณผ ์ ์์ด์. shadow๋ ๊ทธ๋ฆผ์๋ฅผ ์ฃผ๋ ํจ๊ณผ๋ฅผ ๋งํ์ฃ ? struct ContentView: View { var body: some View { Text("ํ ๋๋ฆฌ ํจ๊ณผ") ..