profile
Make a better world
post-thumbnail

Explore Xcode Cloud Workflows

ํŒ€์—์„œ PR๋กœ ํ•ฉ์ณ์ง€๋Š” ๊ฒฝ์šฐ ์ด์— ํ•ด๋‹นํ•˜๋Š” worflow ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•Workflow ์ƒ์„ฑํ•˜๋Š” ๊ณณ์ •ํ•ด์ง„ ์‚ฌ๋žŒ๋งŒ์ด editํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.๋˜ํ•œ ์ •ํ•ด๋‘” ๋ ˆํผ์ง€ํ† ๋ฆฌ, ์›Œํฌ์ŠคํŽ˜์ด์Šค๊ฐ™์€ ๊ฒƒ์„ ๋ณ€๊ฒฝ์ด ์žˆ์œผ๋ฉด ์ˆ˜์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.๋ชจ๋“  PR๊ณผ main branch๋กœ ํ•ฉ

2023๋…„ 1์›” 29์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Meet Xcode Cloud

Apple Platform์—์„œ CI/CD๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!๊นƒ ๋ ˆํผ์ง€ํ† ๋ฆฌ์— pushํ•˜๋ฉด CI์—์„œ Build - Test๊ฐ€ ์ด๋ฃจ์–ด์ง„ ๋‹ค์Œ ์ด๊ฒƒ์ด ์„ฑ๊ณตํ•˜๊ฒŒ ๋˜๋ฉด Artifacts๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฉ”์ผ๋กœ ์•Œ๋ฆผ ํ•ด์ค€๋‹ค.Build and Test๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ญ‰ ์ด์–ด์ง€๋Š” ํ”„๋กœ์„ธ

2023๋…„ 1์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Explore structured concurrency in Swift

Swift 5.5์—์„œ ์ƒˆ๋กœ์šด concurrency ์ œ๊ณตํ•œ๋‹ค. ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์  ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ์ด๋™ํ•œ๋‹ค block -> Static code์ด๋‹ค. Static code๋ž€? ๋ธ”๋ก์•ˆ์—์„œ๋งŒ ์ •์˜๋˜์–ด์žˆ์–ด์„œ ์•ˆ์—์„œ๋งŒ ๋ณด์ด๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. lifetime๋„ block

2023๋…„ 1์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Swift Concurrency Behind the Scenes

์ด์•ผ๊ธฐํ•  ๊ฒƒ Threading model Synchronization Threading model GCD Swift Concurrency ์˜ˆ์‹œ: ํ”ผ๋“œ์—์„œ๋ถ€ํ„ฐ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ๋‚ด์šฉ๋“ค์„ ๊ฐ€์ ธ์˜ค๋Š” ํ™”๋ฉด GCD queue ์‚ฌ์šฉํ•ด์„œ ํ•œ๋‹ค ์œ ์ €๊ฐ€ ์ตœ๊ทผ ๋‰ด์Šค ๋ณด๋Š” ๊ฒƒ์„ ์š”์ฒญํ•œ๋‹ค.

2023๋…„ 1์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Use async/await with URLSession

Swift์˜ concurrency ํŠน์ง•๋„คํŠธ์›Œํฌ๋Š” ๋น„๋™๊ธฐ๋กœ ๋˜์–ด์žˆ๋‹ค์ด ํ™”๋ฉด์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช… ํ•  ๊ฒƒ์ด๋‹ค์ผ๋ฐ˜์ ์ธ Completion handler๋ฅผ ํ†ตํ•ด ์‚ฌ์ง„ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒํ•˜์ง€๋งŒ 3๊ฐ€์ง€์˜ ๋ฌธ์ œ์ ์ด ์กด์žฌํ•œ๋‹ค.ํ๋ฆ„ํ๋ฆ„์„ ๋ณด๋ฉด ์ด๊ณณ ์ €๊ณณ์œผ๋กœ jumpํ•˜๊ณ  ์žˆ๋‹ค๋‹ค์Œ์œผ๋กœ๋Š”

2022๋…„ 12์›” 24์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Meet async/await in Swift

UIkit ์—์„œ ์ด๋ฏธ์ง€ ์ธ๋„ค์ผ์„ ๊ฐ€์ ธ์˜ค๋Š” ์ฝ”๋“œ์—์„œ ๋น„๋™๊ธฐ, ๋™๊ธฐ์ ์œผ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.์“ฐ๋ ˆ๋“œ์—์„œ syncํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋ฉด ํ•˜๋‚˜ ํ•˜๊ฒŒ๋˜๋ฉด ๋ฉˆ์ถ”๊ณ  ๊ทธ ๋‹ค์Œ ์ž‘์—…์€ ์ด์ „ ๊ฒƒ์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผํ•œ๋‹ค.๋ฐ˜๋Œ€๋กœ ๋น„๋™๊ธฐ๋Š” ๋‹ค๋ฅธ ๋™์ž‘์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋น„๋™๊ธฐ ์žฅ์  ๋‹ค๋ฅธ ์ž‘์—… ๋ง‰์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‹œ์ž‘

2022๋…„ 12์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Advanced in UI Data Source

wwdc Advances in UI Data Sources์ˆœ์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹คํ˜„์žฌ UI Data ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž์ปฌ๋ ‰์…˜๋ทฐ ๋ฐ์ดํ„ฐ์†Œ์Šค์„น์…˜ ์ˆ˜, ์•„์ดํ…œ ์ˆ˜์— ๋Œ€ํ•ด ์•Œ๋ ค์ค€๋‹คsimple, flexibleํ•˜๋‹คUI ์—…๋ฐ์ดํŠธ ํ•˜๋Š”๋ฒ•Web service respo

2022๋…„ 10์›” 24์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Swift Generics (Expanded)

์ œ๋„ค๋ฆญ์ด ๋ฐœ์ „ํ•ด๊ฐ€๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ค€๋‹ค.์˜ค๋Š˜ ํ•  ๊ฒƒ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.์ œ๋„ค๋ฆญ์ด ์™œ Swift์—์„œ ์ค‘์š”ํ• ๊นŒ?์ œ๋„ค๋ฆญ์„ ์•ˆ์“ฐ๋ฉด ๋ฆฌํ„ดํƒ€์ž…์„ ์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.ํƒ€์ž…์„ ํ•˜๋‚˜๋กœ ๊ณ ์ •ํ•ด๋‘์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํƒ€์ž…์„ ๋„ฃ์„ ์ˆ˜๊ฐ€ ์—†๋‹ค.์ด๋ ‡๊ฒŒ Any ํƒ€์ž…์œผ๋กœ ๋˜์–ด์žˆ์œผ๋ฉด ๋งค๋ฒˆ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์–ด๋–ค ํƒ€์ž…์ธ์ง€

2022๋…„ 9์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

shallow copy vs deep copy in Swift

https://medium.com/@cseankurbuet/understanding-deep-copy-and-shallow-copy-in-swift-8df201375611๊ธ€์„ ๋ฒˆ์—ญํ•œ ๊ฒƒ์ด๋‹ˆ ์›๋ฌธ์„ ๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์—ฌ ๋ณต์‚ฌํ•œ ๋‘ ๋ฐ์ดํ„ฐ

2022๋…„ 9์›” 2์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Protocol and Value Oriented Programming in UIKit Apps

Protocol and Value Oriented Programming in UIKit Apps๋ฅผ ๋ณด๊ณ  ํ•ด์„ํ•œ ๊ฒƒ์ด๋‹ค.๋” ์ž์„ธํ•œ ๊ฒƒ์€ wwdc ์˜์ƒ์„ ๋ณด๊ณ  ํ™•์ธํ•ด๋ณด๋ฉด ์ข‹๋‹ค!์ฝ”๋“œ๋ฅผ ๋ณด์•˜์„ ๋•Œ ์•ž์— ์žˆ๋Š” ํ•จ์ˆ˜์˜ ์ฝ”๋“œ๋งŒ ๋ณผ๋ฟ ๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€๋ฅผ ๋ณด์ง€์•Š๋Š”๋‹ค.L

2022๋…„ 8์›” 29์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

RunLoop

RunLoop๋ž€? ๋Ÿฐ๋ฃจํ”„๋Š” thread์™€ ๊ด€๋ จ์žˆ๋Š” ์ค‘์š”ํ•œ ์ธํ”„๋ผ ๋ถ€๋ถ„์ด๋‹ค. ๋Ÿฐ๋ฃจํ”„๋Š” ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ loop๋กœ ์ž‘์—…์„ ์Šค์ผ€์ฅดํ•˜๊ฑฐ๋‚˜ ๋‹ค๊ฐ€์˜ค๋Š” ์ด๋ฒคํŠธ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๋Ÿฐ๋ฃจํ”„์˜ ๋ชฉ์ ์€ ์ž‘์—…์ด ์žˆ์„ ๊ฒฝ์šฐ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋ฐ”์˜๊ฒŒ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผํ•  ์ž‘์—…์ด ์—†์„ ๊ฒฝ์šฐ ์“ฐ๋ ˆ๋“œ๋ฅผ

2022๋…„ 8์›” 27์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Optimizing Swift Performance

WWDC Optimizing Swift Performance WWDC 2015 Optimizing Swift Performance๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ–ˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ๋Š” ARC์™€ ํ•จ๊ป˜ Flexible, Safe ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋‹ค. ์Šค์œ„ํ”„ํŠธ์—๋Š” ์ข‹์€ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ๋‹ค(ex, ํด๋กœ

2022๋…„ 8์›” 25์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Understanding Xcode Build System

ํ•ด๋‹น Understanding Xcode Build System๋ฅผ ๋ณ€์—ญํ•ด์„œ ์˜ฌ๋ฆฌ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.์ €์˜ ๊ธ€๋ณด๋‹ค ์‹ค์ œ ์˜๋ฌธ์„ ๋ณด์‹œ๋Š” ๊ฒƒ์„ ๋” ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค!๋ชจ๋“  Swift ํ”„๋กœ๊ทธ๋žจ์€ ์‹ค์ œ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰๋˜๊ธฐ ์ „์— ๋งŽ์€ ๋ณ€ํ™˜์ด ์ด๋ฃจ์–ด์ง„๋‹ค.์ด ๊ณผ์ •์€ ๋ณดํ†ต Xcode Build Syste

2022๋…„ 8์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Lottie ํ†บ์•„๋ณด๊ธฐ

Lottie๋Š” ์—์–ด๋น„์•ค๋น„์—์„œ ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ iOS, ์•ˆ๋“œ๋กœ์ด๋“œ, ์›น์—์„œ vector ๊ธฐ๋ฐ˜์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. Lottie๋Š” JSON ํฌ๋งท์œผ๋กœ ๋ชจ์…˜์„ ๋งŒ๋“ค์–ด์„œ ๋ฒกํ„ฐ์™€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค๊ณ  ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์š”๋ฒˆ์— ์ ์šฉํ•  ๊ท€์—ฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์•„๋ž˜์™€

2022๋…„ 8์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

RxSwift Basic 4ํƒ„

๋จผ์ € ๋‘ Observable์˜ ์ฐจ์ด์ ์€ ์–ธ์ œ ๋ฐฉ์ถœ์„ ์‹œ์ž‘ํ•˜๋ƒ์— ๋‹ฌ๋ ค ์žˆ๋‹คHot Observable๋Š” ์ด Observable์ด ๋งŒ๋“ค์–ด์ง€์ž๋งˆ์ž ๋ฐฉ์ถœ์‹œ์ž‘ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ๋งŒ์•ฝ์— ์ค‘๊ฐ„์— ์–ด๋–ค observer๊ฐ€ ์ด๊ฒƒ์„ ๊ตฌ๋…ํ•˜๊ฒŒ ๋˜๋ฉด sequence์˜ ์ค‘๊ฐ„์—์„œ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค.๊ทธ๋ฆฌํ•˜์—ฌ

2022๋…„ 8์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Mysteries of Auto Layout, Part 2

Mysteries of Auto Layout, Part 22๋ฒˆ์งธ ํŒŒํŠธ์ž…๋‹ˆ๋‹ค.The Layout Cycle์•ฑ ์‹คํ–‰ํ•˜๊ณ  ์—”์ง„ ๊ฑธ์ณ์„œ ๋ ˆ์ด์•„์›ƒ์ด ์™„์„ฑ๋œ๋‹ค. ์ด์ „์— ๋ณด์—ฌ์ค€ ํ”„๋กœ์„ธ์Šค๋‹ค.์‚ฌ์ดํด์ด ์ด๋ ‡๊ฒŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.Run loop์œผ๋กœ ์‹œ์ž‘ํ•ด์„œ ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ•˜๋Š”๊ฒƒ์„ ๊ณ„์‚ฐํ•˜๊ณ  ๊ทธ๋‹ค์Œ

2022๋…„ 8์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Mysteries of Auto Layout, Part 1

WWDC Mysteries of Auto Layout, Part 1Auto Layout is a powerful constraint-based layout engine that can drive complex and dynamic interfaces on both iO

2022๋…„ 8์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Subscript

subscript์—์„œ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ค์ •์ด๋‚˜ ์–ป๋Š”๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๋ฉ”์„œ๋“œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ’๋“ค์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.๋ณดํ†ต Array๋‚˜ ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ๊ฐ’์„ ์–ป์œผ๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์จ์•ผํ•œ๋‹ค.ํ•˜๋‚˜์˜ ํƒ€์ž…์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ subscripts์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ

2022๋…„ 8์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Singleton ํŒจํ„ด

static ํƒ€์ž… ํ”„๋กœํผํ‹ฐ๋กœ ์ „์—ญ์œผ๋กœ ํ•˜๋‚˜์˜ Class๋ฅผ ์ƒ์„ฑํ•˜์—ฌ, ๊ณต์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค.์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ๋ณด์ฆํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.iOS์—์„œ๋Š” ์•ฑ ์„ค์ •์ด๋‚˜ ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ์ €์žฅํ•˜๋Š” UserDefaults๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ธ์Šคํ„ด์Šค

2022๋…„ 8์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

iOS ๊ฐœ๋ฐœ 6๊ฐœ์›” ํšŒ๊ณ 

์˜ค์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์€ ์‹œ๊ฐ„์ด ์™”๋‹ค. ๊ณ ์ƒํ–ˆ๋‹ค๊ณ  ์ž˜ ๋ฐฐ์› ๋‹ค๊ณ  ์ด์•ผ๊ธฐ ํ•˜๊ณ ์‹ถ์€ ๋‚ ์ด๋‹ค. ๋ฏธ๋ จ์— ๋Œ€ํ•œ ๋„์ „์ด ์–ด๋Š์ƒˆ ์ผ์ƒ์ด ๋˜๋ฒ„๋ฆฌ๋‹ˆ ํ•˜๋ฃจ๋ผ๋„ ๊ฐœ๋ฐœ์„ ์•ˆํ•˜๋ฉด ์–ด์ƒ‰ํ•˜๋‹ค. ์ฒ˜์Œ ์‹œ์ž‘ํ• ๋•Œ์—๋Š” 6๊ฐœ์›” ์ง€๋‚˜๋ฉด ์ถฉ๋ถ„ํ•œ ์‹ค๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒ ์ง€ ๋ผ๋Š” ์ƒ๊ฐ์ด ์ปธ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ƒ๊ฐํ•ด๋ณด๋ฉด 6๊ฐœ์›”๋งŒ์—

2022๋…„ 8์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท