SWIFT
-
defer (async throwing contexts)Swift 2025. 5. 30. 09:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ค๋ ํฌ์คํ ์์๋ async ๋ฐ throws ์ปจํ ์คํธ์์ defer๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ๋ฒ ์์ฑํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ์ต๊ทผ Swift by Sundell ์ฌ์ดํธ์์ ํด๋น ๊ด๋ จํ ํฌ์คํธ๋ฅผ ์ ํ๊ฒ ๋์๊ณ ๊ฝค ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ด๋ผ ํ๋ฒ ๋ณด๊ณ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํด์! ํด๋น ์๋ณธ ์ํฐํด์ ๋ณด์๋ ค๋๋ถ์ ์๊ฑธ ๋ณด์๋ฉด ๋ฉ๋๋ค ๐ Using Swiftโs defer keyword within async and throwing contexts | Swift by SundellHow Swiftโs defer keyword can be incredibly useful when working with code scopes that have multiple exit points, such as throw..
-
Oblivious HTTP support in Swift (feat. privacy)Swift 2025. 5. 17. 07:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftNIO Oblivious HTTP์ ๋ํด ์์๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป๋ถ์ ๋ฅผ ๋ถ์ฌ๋ณด์๋ฉด Swift์์ ๊ตฌํํด๋ณด๋ ํ๋ผ์ด๋ฒ์ ๋ณดํธ HTTP ํ๋กํ ์ฝ์ผ๊ฒ ๊ฐ์์!Oblivious HTTP support in Swift์ต๊ทผ ์ ํ์ ๋น๋กฏํ ์ฌ๋ฌ ๊ธฐ์ ๊ธฐ์ ๋ค์ด ํ๋ผ์ด๋ฒ์ ์ค์ฌ์ ๋คํธ์ํฌ ์ํคํ ์ฒ๋ฅผ ๊ฐํํ๋ ์ถ์ธ ์์์, Swift ์ปค๋ฎค๋ํฐ ์ญ์ ์ด์ ๋ฐ๋ง์ถ ์๋ก์ด ์๋๋ค์ ๋ด๋๊ณ ์์ด์.๋ฐ๋ก SwiftNIO ๊ธฐ๋ฐ์ Oblivious HTTP ๊ตฌํ์ด ๊ทธ ์ค ํ๋์ ๋๋ค.์ด๊ฑด ์ฌ์ฉ์์ ์๋ณ ์ ๋ณด๋ฅผ ์๋ฒ๋ก๋ถํฐ ์จ๊ธฐ๊ธฐ ์ํ ์๋ก์ด HTTP ํต์ ๋ชจ๋ธ๋ก ์ฌ์ฉ์ ์ถ์ ์ ์ฐจ๋จํ๋ฉด์๋ HTTP ์์ฒญ์ ์์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ํต์ฌ ํ์ค: RFC 9292 & RF..
-
gRPC Swift 2Swift 2025. 5. 10. 08:11
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ gRPC Swift 2์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ปgRPC Swift 2์์ํ๋ค๊ณ ๋๊ปด์ง๊ณ ๋์ฒด ๋ฌด์์ธ์ง ๊ฐ์ด ์์ฌ ์ ์๋๋ฐ, swift ๊ณต์ ๋ธ๋ก๊ทธ์ ๋์จ ๋ด์ฉ์ ํ ๋๋ก ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํด๋ด ๋๋ค. gRPC?gRPC๋ Google์ด ๊ฐ๋ฐํ ์คํ์์ค ์๊ฒฉ ํ๋ก์์ ํธ์ถ(Remote Procedure Call) ํ๋ ์์ํฌ๋ก, Protocol Buffers๋ฅผ ํตํด ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ API ํต์ ์ ์ง์ํฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ๋ง์น ๋ก์ปฌ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฏ ์๋ฒ์ ๋ฉ์๋๋ฅผ ์คํํ ์ ์๊ฒ ํด์ฃผ๊ธฐ ๋๋ฌธ์, ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๋ชจ๋ฐ์ผ ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.Swift์์๋ ์ด๋ฅผ ํ์ฉํ๊ธฐ ์ํด ์ง๋ ๋ช ๋ ๊ฐ gRPC Swift๊ฐ ๊ฐ๋ฐ๋์ด ์๊ณ , ์ด๋ฒ 2...
-
swiftly 1.0Swift 2025. 5. 6. 07:40
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Swiftly 1.0์ ๋ํด ์ด๋ค๊ฑด์ง ๊ฐ๋ตํ ํบ์๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ํด๋น ๋ด์ฉ์ ์๋ Swift.org์์ ์๊ฐ๋ Introducing swiftly 1.0์ ๊ธ์ ๊ฐ์ง๊ณ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ํต์ฌ์ ์์ฝํ์์ต๋๋ค.์ ๋ฌธ์ด ๊ถ๊ธํ์๋ค๋ฉด ์๋ ์๋ฌธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์ ๐ Introducing swiftly 1.0Today weโre delighted to introduce the first stable release of swiftly, a Swift version manager that takes the pain out of installing, managing and updating your Swift toolchain.www.swift.orgswiftly..
-
Swift 6.1Swift 2025. 4. 25. 18:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Swift 6.1 ๋ฆด๋ฆฌ์ฆ ์ฌํญ์ ๋ํด ํ๋ฒ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ๊ณต์ Swift.org์ ๋ธ๋ก๊ทธ์์ Swift 6.1์ ๋ํ ์๊ฐ๋ฅผ ๋ฐํ์ผ๋ก ์ ๋ฆฌํฉ๋๋ค. ์ ๋๋ฆ๋๋ก ๋ฒ์ญ ๋ฐ ์์ฝ ์ ๋ฆฌ๋ฅผ ํ๊ธฐ์ ํน์ ์๋ชป๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์ธ์ ๐๐ป๊ฐ์ธ์ ์ผ๋ก ์ ๋ฆฌํด๋ณธ๊ฑฐ๋ผ ๋จ์ํ ๋ฒ์ญ๋ณธ์ ์๋๋๋ค. Swift 6.1 ReleasedSwift 6.1 is now available!www.swift.org ์ค์ ์๋ฌธ์ ๊ฐ์ง๊ณ ํด์ํ๊ณ ์ถ๋ค๋ฉด ์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์!Swift 6.1Swift 6.1์ ์ธ์ด ๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋์์ฑ ๋ชจ๋ธ, ํจํค์ง ๊ด๋ฆฌ, ํ ์คํ , ๋ฌธ์ํ ๋๊ตฌ๊น์ง ๋ค์ํ ์ธก๋ฉด์์ ์์ฐ์ฑ๊ณผ ์์ ์ฑ์ ํฅ์์์ผฐ์ต๋๋ค. ๊ทธ๋ผ ํ๋์ฉ ์์๋ณผ๊น์? Concurre..
-
Nimble - Behavior Driven DevelopmentLibrary 2025. 4. 12. 06:36
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ฒ Quick์ ์ด์ Behavior Driven Development 2ํ์ธ Nimble์ ๋๋ค ๐๐ป์ฌ์ค, Nimble๋ถํฐํ๊ณ Quick์ ํ๋๊ฒ ๋ง๋ ์ถ๊ธดํ์ง๋ง ๋ญ ์๋ก ์ฐ๊ด์ด ์์๋ฟ ๋ญ๊ฐ ๋จผ์ ๋ค ๊ทธ๋ฐ๊ฑด ์์ผ๋ ๊ด์ฐฎ์๊ฑฐ๋ผ ์๊ฐํด์!๊ทธ๋ผ ๋ฐ๋ก ์์๋ณผ๊น์? Nimble?XCTest๋ง์ผ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ณด๋ฉด ๋ง์ ๋ถ๋ค์ด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค๊ณ ๋๋๋๊ฐ ๋ง์์.๋น๊ตํ๋ ํํ ์์ฒด๊ฐ ์ ํ์ ์ด์ฌ์ ๊ทธ๋ด ์ ์์ฃ .XCTAssertEqual, XCTAssertTrue, XCTAssetNil๊ณผ ๊ฐ์ ๋ฉ์๋๋ค์ ๊ธฐ๋ฅ์ผ๋ก๋ ์ ๋์ํ์ง๋ง ํํ์ด ์ ํ์ ์ด๊ธฐ์ BDD ์คํ์ผ์์๋ ์กฐ๊ธ ์ด๋ ค์ธ ์ ์์ต๋๋ค.์ฆ, ๋ช ํํ๊ฒ ์ฌ์ฉ์ ํ๋ ์์์ ํ ์คํธ ์๋๋ฅผ ๋ํ๋ด๊ธฐ ์ด๋ ค์์ ?..
-
Swift Protocol ๋ค์ค ์ฑํSwift 2025. 2. 26. 19:54
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Swift Protocol๊ณผ ๋ค์ค ์ฑํ์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค, ๋ด์ฉ ์์ฒด๋ ๊ธฐ์ด์ ์ด๊ณ ๊ฐ๋จํ์ง๋ง ์ฒ์ ๊ฐ๋ฐ์ ์์ํ๊ณ Swift๋ฅผ ๋ฐฐ์ฐ์๋ ๋ถ๋ค์ ํท๊ฐ๋ ค ํ๊ฑฐ๋ ์๋ฌธ์ ํ๋ ์ง์ ์ด ๊ฐํน ์์ด ํ๋ฒ ์ฝ๊ฒ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค!Protocol?Swift์์ ํ๋กํ ์ฝ์ ํน์ ์๊ตฌ์ฌํญ์ ์ ์ํ๋ ์ฒญ์ฌ์ง์ด์ฃ .ํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ์ด ํด๋น ํ๋กํ ์ฝ์ ์ฑํํ๋ฉด ํ๋กํ ์ฝ์ด ์ ์ํ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค. protocol Greetable { var name: String { get } func greet() -> String}struct Person: Greetable { var name: String func greet() -> S..
-
RxSwift - withUnretainedRxSwift 2025. 2. 21. 07:54
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ RxSwift์ withUnretained์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ปRxSwift๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ๋์ ํน์ ๊ฐํ ์ํ ์ฐธ์กฐ ๋ฌธ์ ๋ฅผ ๋ง๋ ์ ์๋ ์ํฉ์ด ๋ง์ต๋๋ค.๋ฌผ๋ก ์ด๋ฅผ ์ํด weak self๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ง๋ง, ๊ท์ฐฎ์์์..?๊ทธ๋์ ๋ณด๋ค ๊ฐ๋ ์ฑ์ด ์ข๊ณ ํธ๋ฆฌํ๊ฒ withUnretained๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ผ ํ๋ฒ withUnretained๊ฐ ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์๋ณผ๊น์? withUnretained?withUnretained๋ RxSwift์์ weak self ํจํด์ ๋ณด๋ค ๋ช ํํ๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ์ฐ์ฐ์์ ๋๋ค.์ฆ, ๊ธฐ์กด weak self ์ฌ์ฉ ์ ๋ฐ์์ํค๋ ์ต์ ๋์ ์ฒ๋ฆฌํ๋๊ฒ์ ๋ํด ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋ฅผ ..