Notice
Recent Posts
Recent Comments
Link
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กswift (148)

lgvv98

[Swift] plain ol' data(POD)

plain ol' data(POD) ๐Ÿ‘‡ ์• ํ”Œ ๋ฌธ์„œ์— ๋‚˜์™€์žˆ๋Š” ์„ค๋ช… [apple swift docs](https://github.com/apple/swift/blob/main/docs/ABIStabilityManifesto.md#type-properties) - ์–ด๋–ค ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ถ”๊ฐ€์ ์ธ ๋ณต์‚ฌ, ์ด๋™ ๋˜๋Š” ์†Œ๋ฉธ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ฆ‰, trivial(ํ˜น์€ POD)์œผ๋กœ ์•Œ๋ ค์ง„ ์ด ๋ฐ์ดํ„ฐ๋Š” ๊ทธ๋“ค์˜ ๋น„ํŠธ๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ฒƒ์œผ๋กœ copyํ•  ์ˆ˜ ์žˆ๊ณ , deallocation๋ฅผ ํ†ตํ•ด ์†Œ๋ฉธ๋œ๋‹ค. ๋งŒ์•ฝ ๋ชจ๋“  ๋ฉค๋ฒ„์˜ ํƒ€์ž…์ด trivial์ด๋ผ๋ฉด ๊ทธ๊ฒƒ๋˜ํ•œ ๋˜ํ•œ trivial ํƒ€์ž…์ž…๋‹ˆ๋‹ค. - ์–ด๋–ค ํƒ€์ž…์ด ๋น„ํŠธ ๋‹จ์œ„๋กœ ์ด๋™๊ฐ€๋Šฅํ•˜๋‹ค ๋ผ๋Š” ๊ฒƒ์€ ๊ทธ๊ฒƒ์˜ ์ฃผ์†Œ์— ์˜์กดํ•˜๋Š” ์–ด๋– ํ•œ ์‚ฌ์ด๋“œ ํ…Œ์ด๋ธ”์˜ ์ฐธ์กฐ๋„ ์—†์„ ๋•Œ๋ฅผ ์˜๋ฏธ..

[XCode] Instruments - Network

[XCode] Instruments - Network ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ์ด ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์— ์žˆ์–ด์„œ ์–ด๋–ค Request์™€ Response๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. Xcode์˜ ์ขŒ์ธก์˜ ์ด๋ฏธ์ง€์—์„œ ์‚ผ๊ฐํ˜• ๋ฒ„ํŠผ์„ ๊พน ๋ˆ„๋ฅด๋ฉด ์šฐ์ธก์˜ ๋ฉ”๋‰ดํŒ์—…์ด ๋‚˜ํƒ€๋‚˜๊ณ  ์˜ค๋ฅธ์ชฝ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค. 2. Network๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. 3. ๊ธฐ๋ก์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋กํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ์œ„์™€๊ฐ™์€ ์ด๋ฏธ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 4. ๋‚ด๊ฐ€ ํ™•์ธํ•˜๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ถ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. - ์ด๋ฏธ์ง€ ์ขŒ์ธก ์ƒ๋‹จ์— List: HTTP Transaction์œผ๋กœ ์„ธํŒ…ํ•œ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. 5. ์‘๋‹ต๊ณผ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด์‹œ๋ฉด ๋”์šฑ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

apple/๐Ÿ—ฝ XCTest 2023. 4. 18. 22:16
[Swift] ์ปค๋ง(Currying)

# Currying ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ Currying ํ•™์Šต. # ๊ณ„๊ธฐ - SwiftUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ View๋ฅผ ๋ชจ๋“ˆํ™”๋ฅผ ์‹œ๋„. - ๋” ์ž˜ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ด๋‹น ๊ฐœ๋…์— ๋Œ€ํ•œ ํ•™์Šต์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋Š๋‚Œ. # ๋ชฉํ‘œ - ๊ฐ„๋‹จํ•œ ๋ง์…ˆ ๊ตฌํ˜„ (Level 1) - ์ •๊ทœํ‘œํ˜„์‹ ๊ตฌํ˜„ (Level 2) - Reduce, Map, Filter ๊ตฌํ˜„ - FlatMap, CompactMap ๊ตฌํ˜„ (โš ๏ธ ์‹คํŒจํ•œ ๊ตฌํ˜„) : ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ ์–ด๋‘ . # ์ฐธ๊ณ ์—์„œ๋Š” UI์™€ ๊ด€๋ จํ•œ ํด๋กœ์ €๋ฅผ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ›์•„์„œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์˜ˆ์ œ๋„ ์žˆ์œผ๋‹ˆ ํ™•์ธํ•˜๋ฉด ์ข‹์Œ. โ—๏ธ ์‹คํŒจํ•œ ๊ตฌํ˜„์ธ ์ด์œ  : ๊ฒฐ๊ณผ๊ฐ’์ด ๋‹ค๋ฅด๊ฒŒ ๋‚˜ํƒ€๋‚จ. # ํŒŒ์ผ # ๊ฐ„๋‹จํ•œ ๋ง์…ˆ ๊ตฌํ˜„ (Level 1) import Foundation public class LEVE..

[XCTest] Test Double (Swift)

## ์‹œ์ž‘ - sut (system under test): ํ…Œ์ŠคํŠธ ๋Œ€์ƒ - doc (depended-on component): sut์ด ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ๊ตฌ์„ฑ์š”์†Œ ํ…Œ์ŠคํŠธ ๋”๋ธ”์ด๋ž€, doc์™€ ๋™์ผํ•œ API๋ฅผ ์ œ๊ณต ## ์™œ ํ•„์š”ํ• ๊นŒ? Solitary or Sociable? ํ…Œ์ŠคํŠธ ์ค‘์ธ ๋‹จ์œ„๊ฐ€ Sociableํ•œ์ง€ ํ˜น์€ Solitary์ธ์ง€์˜ ์—ฌ๋ถ€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. Sociable์˜ ๊ฒฝ์šฐ์— ํ…Œ์ŠคํŠธํ•˜๋Š” Unit์˜ ๊ฒฐํ•จ์ด ์•„๋‹Œ ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค์˜ ๊ฒฐํ•จ์œผ๋กœ ์ธํ•ด ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ์‹ค์ œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋ณ„๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค. ## ํ…Œ์ŠคํŠธ ๋”๋ธ”์˜ ์ข…๋ฅ˜ - Dummy: ์•„๋ฌด๋Ÿฐ ๋™์ž‘์„ ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ธ์Šคํ„ด์Šคํ™” ๋œ ๊ฐ์ฒด๋งŒ ํ•„์š”ํ•˜๊ณ , ๊ธฐ๋Šฅ๊นŒ์ง€๋Š” ํ•„์š”ํ•˜..

apple/๐Ÿ—ฝ XCTest 2023. 1. 9. 01:40
Swift HTML ์ฝ”๋“œ ๋กœ๋“œํ•˜๊ธฐ

Swift HTML ์ฝ”๋“œ ๋กœ๋“œํ•˜๊ธฐ ๐Ÿšจ ๋ฌธ์ œ์ƒํ™ฉ ๐Ÿšจ ๋…ธ์…˜ ์›น ํŽ˜์ด์ง€๋ฅผ webView๋ฅผ ํ†ตํ•ด ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ๋กœ๋”ฉ์ด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ์Œ. ์ด๋ฅผ ๊ฐœ์„ ํ•ด๋ณด๊ณ ์ž ํ–ˆ๊ณ , ๋…ธ์…˜ ํŽ˜์ด์ง€๋ฅผ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ํ†ตํ•ด HTML, PDF๋กœ ๋ฐ”๊พธ์–ด์„œ ์„œ๋ฒ„์—์„œ ๋‚ด๋ ค์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์‹œ๋„ํ•ด๋ณด๊ธฐ๋กœ ํ•จ. ๋…ธ์…˜ ํŽ˜์ด์ง€๋ฅผ PDF๋กœ ๋‚ด๋ณด๋‚ด์„œ, PDFKit์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š”, ๋ณด์—ฌ์ฃผ๊ณ ์ž ํ•˜๋Š” ํŽ˜์ด์ง€์˜ ํŠน์„ฑ์ด๋ž‘ PDF๋กœ ๋š๋š ๋Š๊ธฐ๋Š” ๊ฒƒ์ด ๋งž์ง€ ์•Š์•„์„œ ์–ด์ƒ‰ํ–ˆ์œผ๋ฉฐ, ๋ฌด์—‡๋ณด๋‹ค๋„ mac์˜ ์•„์ด์ฝ˜์ด windowํ™” ๋˜์–ด์„œ ์˜ˆ์˜์ง€ ์•Š๋‹ค๋ผ๋Š” ํฐ ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ์Œ ๊ฒฐ๊ตญ ์ง์ ‘ notion ์ฃผ์†Œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ html์ฃผ์†Œ๋ฅผ ํ˜ธ์ถœํ•ด๋ณด๊ณ ์ž ํ•จ. ๐ŸŒฟ ๊ฒฐ๊ณผ๋ฌผ UI ๐ŸŒฟ - ์™ผ์ชฝ: ๋…ธ์…˜ํŽ˜์ด์ง€๋ฅผ webView๋ฅผ ํ†ตํ•ด loadํ•œ ๊ฒƒ โœ… ์žฅ์ : ๋…ธ์…˜์— ๊ตฌ์„ฑํ•œ UI๋ฅผ ๊ทธ๋Œ€..