์ ์ฒด ๊ธ
-
[SE-0504] Task Cancellation ShieldsSwift 2026. 1. 17. 09:03
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SE-0504 Task Cancellation Shields์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป์ฌ๊ธฐ์๋ ์ ๊ฐ ์ดํดํ๊ฑธ ๋ฐํ์ผ๋ก ์์ฝํ๊ณ ๋๋ฆ๋๋ก ์ ๋ฆฌํ๊ฒ์ผ๋ก ์ ์ฒด ์์ฝ์์ด ๋ํ ์ผํ ๋ถ๋ถ๊น์ง๋ ์๋ณธ์ด ๊ถ๊ธํ์๋ฉด ์๋ ์๋ฌธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!IntroSwift Concurrency ํ๊ฒฝ์์ Task ์ทจ์๋ ํ๋ ฅ์ (cooperative)์ผ๋ก ๋์ํฉ๋๋ค.ํ๋ฒ ์ทจ์๋๋ฉด ๋๋๋ฆด ์ ์๊ณ , ์์ Task๊น์ง ์ ํ๋์ฃ . ๊ทธ๋ฐ๋ฐ ๋ฌธ์ ๋ ๋ฆฌ์์ค ์ ๋ฆฌ ๊ฐ์ ์ฝ๋๋ ์ทจ์ ์ฌ๋ถ์ ์๊ด์์ด ๋ฐ๋์ ์คํ๋์ด์ผ ํ๋ค๋ ์ ์ ๋๋ค. ์ง๊ธ๊น์ง๋ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด unstructured task๋ฅผ ์์ฑํ๋ ๊ผผ์๋ฅผ ์จ์ผ ํ๋๋ฐ, ์ด๋ฒ SE-0504๋ ์ด ๋ฌธ์ ๋ฅผ ์ ๋ฉด์ผ๋ก ํด๊ฒฐํ๋ ์ ์์ ๋๋ค. ์ต๊ทผ ์น์ธ๋..
-
[SE-0502] Exclude private initialized properties from memberwise initializerSwift 2026. 1. 11. 09:51
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SE-0502 Exclude private initialized properties from memberwise initializer์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ปIntroSwift์์ struct๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด, ์์ํ์ง ์์๋ ์์ฐ์ค๋ฝ๊ฒ ํ์ฉํ๊ฒ ๋๋ ๊ธฐ๋ฅ ์ค ํ๋๊ฐ ๋ฐ๋ก memberwise initializer์ ๋๋ค. ์ ์ฅ ํ๋กํผํฐ๋ฅผ ์ ์ธํ๊ธฐ๋ง ํ๋ฉด, ์ปดํ์ผ๋ฌ๊ฐ ์์์ ์ด๋์ ๋ผ์ด์ ๋ฅผ ๋ง๋ค์ด ์ฃผ๋ ๊ธฐ๋ฅ์ด์ฃ . ํ์ง๋ง ์ด ํธ๋ฆฌํ ๊ธฐ๋ฅ์, ์ ๊ทผ ์ ์ด์(private, fileprivate)์ ์ฎ์ด๊ธฐ ์์ํ๋ฉด ์๊ฐ๋ณด๋ค ๋ง์ ๋ถํธํจ๊ณผ ํจ์ ์ ๋๋ฌ๋ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ Swift Evolution Proposal SE-0502 – Exclude private in..
-
Recap 2025ํ๊ณ 2026. 1. 3. 11:16
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์ 2025๋ ๋ ํ๊ณ ๊ฒฐ์ฐ ํฌ์คํ ์ ๋๋ค ๐ ๋ค๋ค ์ํด๋ ๋ณด๊ณ ์ค์ จ๋์?์ ๋ ๋ ์ค๋ฅด๋ ํ์์ ๋ฐ๋ผ๋ณด๋ฉด์ ๋ค์ ์ฌํด ๋ค์ง์ ํ๋ ์๊ฐ์ ๊ฐ์ง๋ ค๊ณ ์ผ์ถ ์คํ์ผ๋ก ๊ฐ๋๋ฐ ๋๋ฌด ์ถฅ๋๋ผ๊ตฌ์ ๐ฅฒ๊ทธ๋์ ํ์์ด ๋ ์ค๋ฅด๋๊ฑธ ๋ค ๋ณด์ง ๋ชปํ๊ณ ์ฐ๋จนํ๋ฏ์ด ๋ณด๋ฉด์ ์์ ๋ค์ง์ ์ง๊ธ ์ด๊ฑธ ์ฐ๋ฉด์ ํด๋ณด๊ฒ ๋์์ต๋๋คใ ใ ..๊ทธ๋๋ ์ด๊ทธ์ ๊ฐ ์ํด ์์ผ๋ ์ฌํด๋ ๋ฆ์ง ์๊ฒ ํ๊ณ ๋ฅผ ํด๋ณด๋๊ฒ ๊ฐ์์. ์๋ ๊น์ง๋ ์ฌ์ค์ ํ๊ณ ๋ ๋ญ๊ฐ ์ธ๋งํ ํฌ์ธํธ๋ค์ด ์ ๋ง ๋ง์๋๋ฐ ์ฌํด๋ ์ ๋ฌด์ ๊ฑฐ์ ์ฌ์ธ์ ํ์ฌ ์์ดํ ์ ์ด์ ๋ณด๋ค๋ ๋ช๊ฐ ์์ง๋ง ํ๋ฒ ์ ๋ฆฌํด๋ณด๋ ค ํฉ๋๋ค ๐ ๋น์ฐํ๊ฒ๋ ๋ ๊ทธ๋ฌ๋ฏ์ด ์ด๋ฒ 2025๋ ํ๊ณ ๋ ๋ฌดํ์ & ๋ฌด๊ทผ๋ณธ ํ๊ณ ์ ๋๋ค. ์ด๋ป๊ฒ ํ๊ณ ๋ฅผ ํด๋ณผ๊น? ๐ค1๏ธโฃ 2025๋ ๋ชฉํ ๋ฌ์ฑ ์ฒดํฌ2๏ธโฃ 20..
-
Embedded Swift Improvements Coming in Swift 6.3Swift 2025. 12. 26. 08:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Swift 6.3์ Embedded Swift ๊ฐ์ ์ฌํญ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป(์ง๊ธ์ ์์ง Swift 6.3 ๋ฆด๋ฆฌ์ฆ ์ ์ ๋๋ค ๐)Swift 6.3์์ Embedded Swift๊ฐ ๋ํญ ์ ๊ทธ๋ ์ด๋๋ฉ๋๋ค.๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ ๊ฐ๋ฐ์ด ๋์ฑ ํธํด์ง ์์ ์ด์์!Embedded Swift?Embedded Swift๋ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ฒ๋ผ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ํ๊ฒฝ์์ ๋์ํ๋๋ก ์ค๊ณ๋ Swift์ ๋ถ๋ถ ์งํฉ์ ๋๋ค.ํน๋ณํ ์ปดํ์ผ ๋ชจ๋๋ฅผ ์ฌ์ฉํด์ ์ผ๋ฐ Swift๋ณด๋ค ํจ์ฌ ์์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์์ฑํ์ฃ .Swift ์ธ์ด์ ๋๋ถ๋ถ์ Embedded Swift์์๋ ๋๊ฐ์ด ๋์ํ๊ตฌ์. ์ง๋ ๋ช ๋ฌ๊ฐ C ์ํธ์ด์ฉ์ฑ๋ถํฐ ๋๋ฒ๊น , ๋งํค์ง ๋ชจ๋ธ๊น์ง ๋ค์ํ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ก๋๋ฐ ํ๋์ฉ ์ดํด๋ณผ๊ฒ์. ..
-
Nonexhaustive enums - Swift 6.2.3Swift 2025. 12. 20. 10:08
์๋ ํ์ธ์! ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Nonexhaustive enums์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป Swift 6.2.3์ ์ ๋ง ์ค์ํ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ฉ๋๋ค. SE-0487: Extensible Enums! ์ง๊ธ๊น์ง Swift ํจํค์ง๋ฅผ ๋ง๋ค ๋ enum์ case๋ฅผ ์ถ๊ฐํ๋ฉด breaking change๊ฐ ๋ฐ์ํ์ฃ ?์ด์ ๊ทธ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ ์์ต๋๋ค. AS-IS Problem// Version 1.0public enum HTTPStatus { case ok, notFound, serverError}// Version 1.1 - ์ case ์ถ๊ฐpublic enum HTTPStatus { case ok, notFound, serverError case earlyHints // ๐..
-
SwiftUI View hierarchy DebuggingSwiftUI 2025. 12. 13. 07:42
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI View hiearchy Debugging์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ปXcode View Debugging์ฐ์ , Xcode์๋ ViewDebug๋ฅผ ํ ์ ์๊ฒ View Hiearchy๋ฅผ ํด๋ณผ ์ ์์ด์. ๋ง์ด ์ฌ์ฉํ๊ณ ๊ณ์ค ์ด ๊ธฐ๋ฅ์ด์ฃ .๋ฌผ๋ก , Reveal, Lookin, Rocketsim ๋ฑ ์์๋ ๋ค์ํ๊ฒ ๋ทฐ ๋๋ฒ๊น ์ ์ํ ํด์ด ๋์์ ๋ ์ ์ธ ์ ์์ง๋ง ํต์ฌ ๋ณธ์ง์ ๊ฐ๊ธดํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ญ๊ฐ ์ค์ํ๋ํ๋ฉด, ์ด ๊ณ์ธต ๊ตฌ์กฐ๊ฐ ์ด๋ค ์ปดํฌ๋ํธ๋ก ์ด๋ค์ก๋์ง๋ฅผ ๋ณผ๋์์. ์ข์ธก ๊ณ์ธต ๊ตฌ์กฐ ์คํ์ ๋ณด๋ฉด ์ฌ๊ธฐ์ SwiftUI๋ก ๊ทธ๋ ค์ง ContentView๊ฐ ํธ์คํ ๋์ด์ ๋ํ๋์ฃ .์ ๊ฐ ์ฝ๋์์ ์ฌ์ค ContentView์ ChildView๋ผ๋ ์ปดํฌ๋ํธ๋ก ..
-
NSAttributedString Performance OptimizationSwift 2025. 12. 6. 08:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐UITextView๋ UILabel์์ ์์ฒ ์ค์ ํ ์คํธ๋ฅผ ๋ค๋ฃฐ ๋ ์ฑ์ด ๋ฒ๋ฒ ์ด๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฐ์ง๋ ๊ฒฝํ ์์ผ์ ๊ฐ์?์ด๋ฒ ํฌ์คํ ์์๋ NSAttributedString์ ์ฑ๋ฅ ์ต์ ํ์ ๋ํด ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค. Apple ์์ง๋์ด์ ๊ณต์ ๋ต๋ณ์ ํ ๋๋ก ๋ฐฉ๋ฒ๋ค์๋ฅผ ์ ๋ฆฌํด๋ดค์ด์.Attribute Dictionary๋ ์๋์ผ๋ก ์ค๋ณต ์ ๊ฑฐ๊ฐ์ฅ ๋จผ์ ์์์ผ ํ ์ฌ์ค์ NSAttributedString์ ๋ด๋ถ์ ์ผ๋ก ๋์ผํ attribute dictionary๋ฅผ ์๋์ผ๋ก uniquifyํฉ๋๋ค.Apple ์์ง๋์ด์ ๊ณต์ ๋ต๋ณ2015๋ , Apple์ TextKit ์์ง๋์ด Aki Inoue๊ฐ ๊ณต์ ํ์ธํด์ค ๋๋ชฉ์ด ์์ต๋๋ค. Memory optimization of NSAttributedStringD..
-
SwiftUI Preview - ThunkSwiftUI 2025. 11. 29. 21:38
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI Preview๊ฐ ์ด๋ป๊ฒ ์ฝ๋ ๋ณ๊ฒฝ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ๋์ง ๊ทธ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊น๊ฒ ํํค์ณ๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ปPreview is not magicSwiftUI Preview๋ ๋ง์น ๋ง๋ฒ์ฒ๋ผ ์์์ ์ง ํ๊ณ ์๋ํ๋๊ฒ์ฒ๋ผ ๋ณด์ด์ฃ .struct ContentView: View { var body: some View { Text("Hello") // If you change this }}#Preview { ContentView() // It will be update immediately} ์ฑ ์ ์ฒด๋ฅผ ๋ค์ ๋น๋ํ์ง ์์๋ Preview๊ฐ ์ฆ์ ๋ฐ์๋๋ ์ด์ ๋ ๋ฐ๋ก Xcode๊ฐ ์๋ ์์ฑํ๋ Preview-Thunk ํ์ผ(.prev..