๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๐Ÿ’ป Programming ๊ฐœ๋ฐœ35

[iOS] ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปคํŒฉ ๋ฒ„์ „ ์ŠคํŠธ๋ง์ด ์•ˆ ๋ฐ”๋€Œ๋Š” ์ด์Šˆ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•! + ์—…๋ฐ์ดํŠธ ์‹œ์ž‘ํ•˜๋ฉฐ ์–ผ๋งˆ์ „์— ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปคํŒฉ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค. https://kimdee.tistory.com/entry/iOS-iMessage-%EC%8A%A4%ED%8B%B0%EC%BB%A4%ED%8C%A9-%EB%A7%8C%EB%93%A4%EA%B8%B0 [iOS] iMessage ์Šคํ‹ฐ์ปคํŒฉ ๋งŒ๋“ค๊ธฐ (+ ์†์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ”ผ๊ทธ๋งˆ ํ…œํ”Œ๋ฆฟ ๋ฌด๋ฃŒ์ œ๊ณต!) ์‹œ์ž‘ํ•˜๋ฉฐ ์ €๋Š” ์˜ˆ์ „์— ๊ณ ์–‘์ด ์‚ฌ์ง„์œผ๋กœ ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปค๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ์š”. ์ฃผ๋ณ€์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฌผ์–ด๋ณด์‹œ๋Š” ๊ฒŒ, ์•„๋ฌด๋ž˜๋„ iOS ์•ฑ๊ฐœ๋ฐœ๋ณด๋‹ค๋Š” ์ด๋Ÿฐ ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปค๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€๋ฅผ ๊ฐ€์žฅ kimdee.tistory.com ๊ทธ๋Ÿฐ๋ฐ ๋ง‰์ƒ ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปค 1.0 ๋ฒ„์ „์„ ์ œ์ถœํ•˜๊ณ  ๋‚˜์„œ, ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ๋กœ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ์Šคํ‹ฐ์ปค ํฌ๊ธฐ๊ฐ€ ์ข€ .. 2024. 4. 3.
[iOS] iMessage ์Šคํ‹ฐ์ปคํŒฉ ๋งŒ๋“ค๊ธฐ (+ ์†์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ”ผ๊ทธ๋งˆ ํ…œํ”Œ๋ฆฟ ๋ฌด๋ฃŒ์ œ๊ณต!) ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ํ•จ๊ป˜ ๋งŒ๋“ค์—ˆ๋˜ย ์ƒˆ๋กœ์šด '์šฉ์ž์˜ ์—ฌํ–‰' ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปค๋ฅผ ์ถœ์‹œํ•˜์˜€๋Š”๋ฐ์š”. ์˜ค๋Š˜(2024.04.20) ์Šคํ‹ฐ์ปค์•ฑ ์ค‘ 6์œ„์— ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค!!ย ๋งŽ์€ ๋‹ค์šด๋กœ๋“œ, ๊ด€์‹ฌ์— ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!!ย ํ˜น์‹œ ๋‹ค์šด๋กœ๋“œ ์•ˆํ•˜์‹  ๋ถ„๋“ค์€ ๋‹ค์šด๋กœ๋“œํ•˜์‹œ๊ณ  ๊ท€์—ฌ์šด ์šฉ์ž ์Šคํ‹ฐ์ปค๋ฅผ ์•„์ด๋ฉ”์‹œ์ง€์—์„œ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š”!!ย ย ย https://apps.apple.com/kr/app/%EC%9A%A9%EC%9E%90%EC%9D%98-%EC%97%AC%ED%96%89/id6479955955ย โ€Ž์šฉ์ž์˜ ์—ฌํ–‰โ€Ž์—ฌํ–‰์„ ๋– ๋‚˜๋Š” ์šฉ์ž์˜ ๋ชจ์Šต ์Šคํ‹ฐ์ปค์ž…๋‹ˆ๋‹ค.apps.apple.comย ย ์‹œ์ž‘ํ•˜๋ฉฐ์ €๋Š” ์˜ˆ์ „์— ๊ณ ์–‘์ด ์‚ฌ์ง„์œผ๋กœ ์•„์ด๋ฉ”์‹œ์ง€ ์Šคํ‹ฐ์ปค๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ์š”.ย ย ย ์ฃผ๋ณ€์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฌผ์–ด๋ณด์‹œ๋Š” ๊ฒŒ, ์•„๋ฌด๋ž˜๋„ iOS .. 2024. 3. 31.
[Swift][์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€ ๋•Œ ํ•„์š”ํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ๋ชจ์Œ ์‹œ์ž‘ํ•˜๋ฉฐ ์š”์ฆ˜ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฐฑ์ค€, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋ฅผ ์ž์ฃผ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฒฝ์šฐ func solution(_:) ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ์ง€๋งŒ, ๋ฐฑ์ค€์˜ ๊ฒฝ์šฐ ์ž…, ์ถœ๋ ฅ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ํ”Œ๋žซํผ์„ ์™”๋‹ค๊ฐ”๋‹คํ•˜๋‹ค๋ณด๋‹ˆ ํ—ท๊ฐˆ๋ ค์„œ, ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค. ์ž…๋ ฅ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ• readLine() readLine()์€ String? ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 1. ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด String ๋ฌธ์ œ์˜ ์ธํ’‹ ์กฐ๊ฑด์ด ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด !๋ฅผ ์ด์šฉํ•˜์—ฌ ์˜ต์…”๋„์ด ์•„๋‹ˆ๋ผ String์œผ๋กœ ๋ฐ›์•„์˜ค๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ๊ตณ์ด ์˜ต์…”๋„ ํ•ธ๋“ค๋ง์„ ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. let string = readLine()! // String 2. ํ•˜๋‚˜์˜ ์ˆซ์ž Int let integer = Int(readLine()!)! // In.. 2024. 2. 12.
[SwiftUI] Focus ์— ๊ด€ํ•˜์—ฌ 2 - WWDC 2023 ์˜์ƒ ์ •๋ฆฌ ์ด ๊ธ€์€ ์•„๋ž˜ WWDC2023 ์˜์ƒ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://developer.apple.com/wwdc23/10162 The SwiftUI cookbook for focus - WWDC23 - Videos - Apple Developer The SwiftUI team is back in the coding developer.apple.com ํฌ์ปค์Šค API์™€ ๊ด€๋ จ ์š”์†Œ๋“ค์€ ์•„๋ž˜ 1ํŽธ์—์„œ ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. https://kimdee.tistory.com/entry/SwiftUI-Focus-%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC-1-WWDC-2023-%EC%98%81%EC%83%81-%EC%A0%95%EB%A6%AC [SwiftUI] Focus ์— ๊ด€ํ•˜์—ฌ 1 -.. 2023. 10. 1.
[SwiftUI] Focus ์— ๊ด€ํ•˜์—ฌ 1 - WWDC 2023 ์˜์ƒ ์ •๋ฆฌ ์‹œ์ž‘ํ•˜๋ฉฐ SwiftUI ๋ฅผ ์กธ์—…ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๊ณ  ๋‚˜์„œ, ์ข€ ๋” ๊นŠ์ด์žˆ๊ฒŒ, ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํƒ„ํƒ„ํžˆ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ๊ฒฐ์‹ฌ๋งŒ ํ•œ ์ง€ ์–ด์–ธ 5๊ฐœ์›”์ด ์ง€๋‚ฌ๊ณ , ๊ฐœ์ธ์‚ฌ์™€ ํšŒ์‚ฌ์ผ์— ํœฉ์“ธ๋ฆฌ๋ฉฐ ์‚ด๋‹ค๊ฐ€ ์ด์ œ์•ผ ์ •์‹ ์ฐจ๋ฆฌ๊ณ  SwiftUI๋ฅผ ๋‹ค์‹œ ๊ณต๋ถ€ํ•˜๊ณ ์ž WWDC 2023 ์˜์ƒ ์ค‘์— SwiftUI ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ด๋ฒˆ์— SwiftUIํŒ€์—์„œ ์•ฑ์˜ Focus(์ดํ•˜ ํฌ์ปค์Šค, ์ดˆ์ ์ด๋ผ๋Š” ์ข‹์€ ํ•œ๊ตญ์–ด๊ฐ€ ์žˆ์ง€๋งŒ API ์ด๋ฆ„ ์ž์ฒด๊ฐ€ ํฌ์ปค์Šค์ด๊ธฐ ๋•Œ๋ฌธ์—) ๊ฒฝํ—˜์„ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํˆด์„ ๊ฐ€์ง€๊ณ  ๋Œ์•„์™”๋‹ค. ํฌ์ปค์Šค ๋“œ๋ฆฌ๋ธ ๊ฒฝํ—˜์ด๋ผ๋Š”๊ฒŒ ์–ด๋–ค๊ฑด์ง€, ์ปค์Šคํ…€ ๋ทฐ์˜ ํฌ์ปค์Šค ์ธํ„ฐ๋ž™์…˜๊ณผ ํ‚ค๋ณด๋“œ ์ธํ’‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ด ๊ธ€์€ ์•„๋ž˜ WWDC2023 ์˜์ƒ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://developer.apple.com/v.. 2023. 9. 9.
2ํŽธ - iOS ์•ฑ์„ 2๊ฐœ ์ถœ์‹œํ•˜๊ณ  ๋‚˜์„œ ๋Œ์•„๋ณธ 10๊ฐœ์›”๊ฐ„์˜ iOS ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•(2022) - ์ƒˆ์‹น ๋ถ€ํŠธ์บ ํ”„, ๊ฐœ์ธ์•ฑ ์ถœ์‹œ, ์—ฐํ•ฉ๋™์•„๋ฆฌ UMC, ์‚ฌ์ด๋“œํ”„๋กœ์ ํŠธ, ์ฝ”๋”ฉํ…Œ์ŠคํŠธ, ๋ถ€ํŠธ์บ ํ”„ ์†Œ๊ฐœ ์ฒ˜์Œ ๊ณต๋ถ€ ์‹œ์ž‘, ๋…ํ•™ ๋ฐฉ๋ฒ•, ์ธ๊ฐ• ๋ฐ ์ฑ…, ๋ฌธ์„œ ์ถ”์ฒœ ๋“ฑ์„ ๋‹ค๋ฃฌ ์ฒซ๋ฒˆ์งธ ํŽธ์€ ์•„๋ž˜ ๋งํฌ์ž…๋‹ˆ๋‹ค. iOS ์•ฑ์„ 2๊ฐœ ์ถœ์‹œํ•˜๊ณ  ๋‚˜์„œ ๋Œ์•„๋ณธ 10๊ฐœ์›”๊ฐ„์˜ iOS ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•(2022) - 1.๋…ํ•™, ๊ฐœ์ธํ”„๋กœ์ ํŠธ, ์ฑ… 0. ์ œ ์†Œ๊ฐœ ์ €๋Š” ์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ์™€ ๋””์ž์ด๋„ˆ๋กœ ์ผ์„ ํ•˜๋‹ค๊ฐ€ 2022๋…„, ์˜ฌํ•ด 2์›”๋ถ€ํ„ฐ iOS ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•ด์„œ ํ˜„์žฌ๋Š” ์—ฐ๊ทน๊ณผ ๋ฎค์ง€์ปฌ ํ›„๊ธฐ๋ฅผ ์“ฐ๋Š” โ€˜์—ฐ๋ฎค๋กœ๊ทธโ€™์™€ ์ฃผ๋‘”๊ตฐ๊ณผ ํ•œ๊ตญ๊ตฐ์ธ์„ ์œ„ํ•œ ์•ฝ์–ด ๋ฐ ์šฉ์–ด kimdee.tistory.com 6. ๋ถ€ํŠธ์บ ํ”„ ์ฐธ์—ฌ 7์›”๋ถ€ํ„ฐ 12์›”๊นŒ์ง€ ์ƒˆ์‹น iOS ๋ฉ”๋ชจ๋ฆฌ์Šค 2๊ธฐ ์–ผ๋งˆ์ „์— ์ˆ˜๋ฃŒ์‹์„ ๋งˆ์ณค์Šต๋‹ˆ๋‹ค. ์ˆ˜๋ฃŒ์‹์„ ๋‹ค๋…€์˜ค๊ณ  ์–ผ๋งˆ๋‚˜ ๋ฒ…์ฐผ๋Š”์ง€ ๋ชฐ๋ผ์š”. ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ํž˜๋“ค์—ˆ๋˜ ๊ฑด, ๋ญ˜ ๋ชจ๋ฅด๋Š”์ง€์กฐ์ฐจ ๋ชจ๋ฅธ๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ์‹น ๊ณผ์ •์—์„œ๋Š” iOS ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ๋กœ๋“œ๋งต์„ ํ•˜๋‚˜ํ•˜๋‚˜.. 2023. 7. 31.
1ํŽธ - iOS ์•ฑ์„ 2๊ฐœ ์ถœ์‹œํ•˜๊ณ  ๋‚˜์„œ ๋Œ์•„๋ณธ 10๊ฐœ์›”๊ฐ„์˜ iOS ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•(2022) - ๋…ํ•™, ๊ฐœ์ธํ”„๋กœ์ ํŠธ, ์ฑ… ์ถ”์ฒœ 0. ์ œ ์†Œ๊ฐœ ์ €๋Š” ์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ์™€ ๋””์ž์ด๋„ˆ๋กœ ์ผ์„ ํ•˜๋‹ค๊ฐ€ 2022๋…„, ์˜ฌํ•ด 2์›”๋ถ€ํ„ฐ iOS ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•ด์„œ ํ˜„์žฌ๋Š” ์—ฐ๊ทน๊ณผ ๋ฎค์ง€์ปฌ ํ›„๊ธฐ๋ฅผ ์“ฐ๋Š” โ€˜์—ฐ๋ฎค๋กœ๊ทธโ€™์™€ ์ฃผ๋‘”๊ตฐ๊ณผ ํ•œ๊ตญ๊ตฐ์ธ์„ ์œ„ํ•œ ์•ฝ์–ด ๋ฐ ์šฉ์–ด ๊ฒ€์ƒ‰์‚ฌ์ „ โ€˜ํ•œ๋ฏธ์—ฐํ•ฉ์‚ฌ์ „โ€™, ์ด๋ ‡๊ฒŒ 2๊ฐœ์˜ ์•ฑ์„ ์ถœ์‹œํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์•„์ง ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด๊ฐ€๋Š” ์ž…์žฅ์ด์ง€๋งŒ ์ฃผ๋ณ€์˜ ํ•™์šฐ๋“ค๊ณผ ์ง€์ธ๋“ค์ด ์•ฑ ์ถœ์‹œ๊นŒ์ง€ ์–ด๋–ป๊ฒŒ iOS ๊ณต๋ถ€๋ฅผ ํ–ˆ๋Š”์ง€๋ฅผ ๋งŽ์ด ๊ถ๊ธˆํ•ดํ•ด์„œ ์ด๋ ‡๊ฒŒ ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์€, ๋ฏธ๋””์—„๊ณผ doy.oopy.io ์— 2022๋…„ 12์›” ๋ฐœํ–‰ํ•œ ๊ธ€๋กœ, ํ‹ฐ์Šคํ† ๋ฆฌ์— ์˜ฎ๊ฒจ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๊ณต๋ถ€ ํƒ€์ž„๋ผ์ธ ์ €๋Š” ์˜ฌํ•ด 2์›”๊นŒ์ง€๋Š” ํ’€ํƒ€์ž„ ๋””์ž์ด๋„ˆ๋กœ ๊ทผ๋ฌด๋ฅผ ํ•˜๊ณ , 3์›”๋ถ€ํ„ฐ 6์›”๊นŒ์ง€๋Š” ํ•™๊ต์ˆ˜์—… (12ํ•™์ )๊ณผ ๋ณ‘ํ–‰ํ•˜๊ณ , ์ดํ›„์—๋Š” ํœดํ•™ํ•˜๊ณ  iOS ๊ฐœ๋ฐœ ๊ณต๋ถ€์— ์ „๋…ํ–ˆ์Šต๋‹ˆ๋‹ค. 1. iOS ๊ฐœ๋ฐœ์„.. 2023. 7. 31.
RelativeTimeFormatter๋กœ ์ƒ๋Œ€์‹œ๊ฐ„ ํ‘œ๊ธฐํ•˜๊ธฐ ์ง€๊ธˆ ํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์—์„œ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ฌ ๋•Œ ISO8601 ํ˜•ํƒœ๋กœ ๋ฐ›์•„์˜ค๋Š”๋ฐ, ์ด๋ฅผ ํ˜„์žฌ ๋‚ ์งœ, ์‹œ๊ฐ„๊ณผ ๋น„๊ตํ•˜์—ฌ ์ƒ๋Œ€์‹œ๊ฐ„์œผ๋กœ ํ‘œ๊ธฐํ•ด์•ผ ํ–ˆ๋‹ค. ๋ณด์—ฌ์ฃผ๋Š” ํ˜•ํƒœ๋Š” ์•„๋ž˜ ํ˜•ํƒœ๋Œ€๋กœ ๋ณด์—ฌ์ฃผ๊ณ ์ž ํ–ˆ๋‹ค. ์ง€๊ธˆ, 5๋ถ„ ์ „, 3์‹œ๊ฐ„ ์ „, 2์ผ ์ „ Foundation ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ RelativeDateTimeFormatter ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒ๋Œ€์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ์–ด์„œ ์ด๋ฅผ ์ด์šฉํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•˜์˜€๋‹ค. ์„œ๋ฒ„์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ฐ›์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์„ Date ํฌ๋งท์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ String ์— extension ์œผ๋กœ ์„ ์–ธํ•ด์ฃผ๊ณ , ์ด๋ ‡๊ฒŒ ๋ฐ”๊พผ ๋‚ ์งœ๋ฅผ Date extension ์—์„œ ์ƒ๋Œ€์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์˜€๋‹ค. ๋‚ ์งœ ๋ฌธ์ž์—ด์„ Date ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ // ๋ฌธ์ž์—ด -> ๋‚ ์งœ extension Stri.. 2023. 3. 7.
Moya ๊ฐ„๋‹จ ์‚ฌ์šฉ๋ฒ• - Request sample๋ถ€ํ„ฐ ์‹ค์ œ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์‚ฌ์šฉ๊นŒ์ง€ ์ €๋Š” ์ตœ๊ทผ 2์›”์— ์ˆ˜๋ฃŒํ•œ ์—ฐํ•ฉ๋™์•„๋ฆฌ UMC 3๊ธฐ์—์„œ ํ˜‘์—… ํ”„๋กœ์ ํŠธ ์™€์šฐ๋ฉ”์ดํŠธ์—์„œ iOS ํŒŒํŠธ ๋ฆฌ๋“œ๋ฅผ ๋งก์•˜์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋‹ด๋‹นํ•œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ Moya ๋ฅผ ์ด์šฉํ•ด์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ์ •๋ณด๋ฅผ ์ถ”์ƒํ™”ํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”. UMC 3๊ธฐ์˜ ํ•™๊ธฐ์ค‘ ์ˆ˜์—…์—์„œ๋Š” Alamofire ๋งŒ ์ฃผ๋กœ ๋‹ค๋ค˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋‘” ๊ฒƒ์„ ๊ณต์œ ํ•ด๋ด…๋‹ˆ๋‹ค. Moya๋กœ ๋” ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ์ž‘์—…์„ ํ•ด๋‘์—ˆ๋Š”๋ฐ ์ฒ˜์Œ ํ•ด๋ณด์‹ ๋‹ค๋ฉด ๋งŽ์ด ํ—ท๊ฐˆ๋ฆด ๊ฒƒ ๊ฐ™์•„์š”. ํ•œ ๋ฒˆ ๋ณด๊ณ  ํ•ด๋ณด์‹œ๋ฉด ์ˆ˜์›”ํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค. 1. Codable ๊ตฌ์กฐ์ฒด๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์„œ๋ฒ„ ์ธก์—์„œ ์ „๋‹ฌ๋ฐ›์€ API ๋ช…์„ธ์— ๋ณด๋ฉด JSON ์˜ˆ์‹œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๊ธ€์„ ๋“ฑ๋กํ•˜๋Š” API๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ด…์‹œ๋‹ค. { "postTitle":"1๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€", "cate.. 2023. 2. 23.
defer๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ์ˆœ์„œ / defer๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ defer ๊ตฌ๋ฌธ์€, defer ๊ตฌ๋ฌธ์ด ์žˆ๋Š” ๊ณณ์—์„œ, ํ”„๋กœ๊ทธ๋žจ ์ปจํŠธ๋กค์„ ์Šค์ฝ”ํ”„ ๋ฐ”๊นฅ์œผ๋กœ ์˜ฎ๊ธฐ๊ธฐ ๋ฐ”๋กœ ์ง์ „์— ์‹คํ–‰ํ•˜๋ ค๋Š” ์ฝ”๋“œ์— ์‚ฌ์šฉํ•œ๋‹ค. defer { // statements } defer ๋ฌธ ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์€ ํ”„๋กœ๊ทธ๋žจ ์ œ์–ด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด๋™๋˜๋Š”์ง€์™€๋Š” ๊ด€๊ณ„ ์—†์ด ์‹คํ–‰๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆ˜๋™์ ์œผ๋กœ ์ž์›๊ด€๋ฆฌ๊ฐ€ ๋“ค์–ด๊ฐˆ ๋•Œ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ๋˜๋”๋ผ๋„ ์•ก์…˜์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. Defer๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ defer๋ฌธ์ด ์žˆ์„ ๋•Œ ๊ฐ™์€ ์Šค์ฝ”ํ”„ ๋‚ด์— ์—ฌ๋Ÿฌ๊ฐœ์˜ defer ๋ฌธ์ด ์žˆ์œผ๋ฉด, ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ๋Š” ๋ณด์ด๋Š” ์ˆœ์„œ์˜ ์—ญ์ˆœ. ๋งˆ์ง€๋ง‰ defer ๋ฌธ์„ ์ฒซ๋ฒˆ์งธ๋กœ ์‹คํ–‰ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š”, ๋งˆ์ง€๋ง‰ defer ๋ฌธ ์•ˆ์˜ ๋‚ด์šฉ์€ ๋‹ค๋ฅธ defer ๋ฌธ์— ์˜ํ•ด์„œ ์ •๋ฆฌ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป. func ๋””ํผํ•จ์ˆ˜() { defer { p.. 2023. 2. 15.
[WWDC 2022] Embrace Swift Generics ๐Ÿ’ก ์šฉ์–ด ์ •๋ฆฌ concrete type ๊ตฌ์ฒดํƒ€์ž… opaque type ๋ถˆํˆฌ๋ช…ํƒ€์ž… underlying type ๊ธฐ๋ฐ˜ํƒ€์ž… existential type ์‹ค์กดํƒ€์ž… type erasure ํƒ€์ž… ์ด๋ ˆ์ด์„œ boilerplate code ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ Swift 5.7์—์„œ์˜ ์ œ๋„ค๋ฆญ ์ œ๋„ค๋ฆญ์€ Swift์—์„œ ์ถ”์ƒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํˆด. ์ฝ”๋“œ๊ฐ€ ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ๋งค์šฐ ์ค‘์š”. where T: Idea ์ œ๋„ค๋ฆญ์€ ํŠน์ • ํƒ€์ž…์˜ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ถ”์ƒํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ ์ค‘๋ณต๋˜๋Š” ๊ตฌํ˜„์ด ์žˆ๋Š” ์˜ค๋ฒ„๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ผ๋ฐ˜ํ™”ํ•ด์•ผํ•  ๋•Œ ๊ตฌ์ฒด ํƒ€์ž…์œผ๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•„์š”ํ•  ๋•Œ ์ผ๋ฐ˜ํ™” ํ•˜๊ธฐ ๋‹คํ˜•์„ฑ Polymorphism ๋‹คํ˜•์„ฑ์€ ๋‹ค๋ฅธ ๊ตฌ์ฒด ํƒ€์ž…์—์„œ ํ•˜๋‚˜์˜ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ถ”์ƒํ™”ํ•˜๋Š” ๊ฒƒ image by co.. 2023. 2. 14.
[Objective-C] .h์™€ .m ํŒŒ์ผ์˜ ์—ฐ๊ฒฐ์„ฑ Xcode์—์„œ obj-C ํ”„๋กœ์ ํŠธ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ฑ๊ณผ ์”ฌ ๋’ค์— ์ˆจ๊ฒจ์ง„ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ํด๋ž˜์Šค์˜ public์ด๋ž‘ privateํ•œ ํŒŒํŠธ๋ฅผ ๋‚˜๋ˆ„๋Š”๋ฐ ์‚ฌ์šฉ์ด ๋จ. .h๋Š” ํ—ค๋” ํŒŒ์ผ๋กœ ๋งˆ์น˜ API์ฒ˜๋Ÿผ ํด๋ž˜์Šค์˜ public ์„ ์–ธ์„ ํ•˜๋Š” ํŒŒ์ผ์ด๊ณ , .mํŒŒ์ผ์€ ๋น„๊ณต๊ฐœ๋˜๋Š” ๊ตฌํ˜„์„ ํ•จ. ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ฐธ์กฐ๋ฅผ ์œ„ํ•ด .h ํŒŒ์ผ์„ import ํ•ด์™€์•ผ ํ•œ๋‹ค. #import .h ํŒŒ์ผ์—์„œ public @property๋ฅผ ํด๋ž˜์Šค์— ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Œ. @property (strong, nonatomic) NSString *something; ์ด @property๋Š” NSString ํด๋ž˜์Šค ์˜ค๋ธŒ์ ํŠธ์˜ ํฌ์ธํ„ฐ. ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ๋Š” ํž™์— ์žˆ์œผ๋ฏ€๋กœ ์ด ์žˆ์–ด์•ผํ•จ. ๋ณ„๊ฐœ๋กœ ์ด ์˜ ๋œป์€ ์˜ค๋ธŒ์ ํŠธ ํฌ์ธํŠธ๋ฅผ ํ”„๋กœํผํ‹ฐ๊ฐ€ ni.. 2023. 1. 30.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ7. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋„์ „๊ณผ์ œ [Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ7. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋„์ „๊ณผ์ œ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ Elementary Data Structure ์ฑ•ํ„ฐ 7. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋„์ „๊ณผ์ œ Linked Lists Challenges ์ด๋ฒˆ ์ฑ•ํ„ฐ์—์„œ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์„ฏ๊ฐ€์ง€ ๋ฌธ์ œ๋“ค์„ ๋‹ค๋ค„๋ณผ ๊ฒ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋“ค์€ ๋‹ค๋ฅธ ๋„์ „๊ณผ์ œ์— ๋น„ํ•ด์„œ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์‰ฝ๊ณ , ์ž๋ฃŒ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ง€.. 2022. 7. 11.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-2. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ [Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-2. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (์Šค์œ„ํ”„ํŠธ ์ฝœ๋ ‰์…˜ ํ”„๋กœํ† ์ฝœ, ๋ฐธ๋ฅ˜ ์‹œ๋งจํ‹ฑ, COW(์นดํ”ผ-์˜จ-๋ผ์ดํŠธ)) Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ Elementary Data Structure ์ฑ•ํ„ฐ 6. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ Linked Lists ์Šค์œ„ํ”„ํŠธ ์ฝœ๋ ‰์…˜ ํ”„๋กœํ† ์ฝœ Swift collection protocols ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ๋“ค์€ ํŠน์ • .. 2022. 5. 30.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (์ •์˜, ์‚ฝ์ž…, ์‚ญ์ œ) [Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ Elementary Data Structure ์ฑ•ํ„ฐ 6. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ Linked Lists ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ’๋“ค์ด ์„ ํ˜•์ ์ด๊ณ  ์ผ๋ฐฉํ–ฅ์ ์ธ ์‹œํ€€์Šค๋กœ ๋ฐฐ์น˜๋œ ์ฝœ๋ ‰์…˜์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์Šค์œ„ํ”„ํŠธ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์—ฐ์†์ €์žฅ ์˜ต์…˜์— ๋น„ํ•ด ์ด๋ก ์ ์ธ ์šฐ์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ์•ž๋ถ€๋ถ„์—์„œ ์‚ฝ์ž… ์‚ญ์ œ๋Š” .. 2022. 5. 30.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ4~5. ์Šคํƒ, ์Šคํƒ ๋„์ „๊ณผ์ œ [Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ4~5. ์Šคํƒ, ์Šคํƒ ๋„์ „๊ณผ์ œ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ Elementary Data Structure ์ฑ•ํ„ฐ 4. ์Šคํƒ Stacks ์Šคํƒ์€ ์–ด๋Š ๊ณณ์—๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํƒ์ด ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒฌ์ผ€์ต ์ฑ…๋“ค ์ข…์ด ์ง€ํ ์Šคํƒ stack ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๊ฐœ๋…์ ์œผ๋กœ ๊ฐ์ฒด์˜ ๋ฌผ๋ฆฌ์  ์Šคํƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํ•ญ๋ชฉ์„ ์Šคํƒ์— ๋„ฃ์œผ๋ฉด ์Šคํƒ.. 2022. 5. 23.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 1. ์†Œ๊ฐœ - ์ฑ•ํ„ฐ3. ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Swift Standard Library Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜ 1. ์†Œ๊ฐœ Introduction ์ฑ•ํ„ฐ3. ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Swift Standard Library ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์Šค์œ„ํ”„ํŠธ ์–ธ์–ด์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด ์•ˆ์—๋Š” ์Šค์œ„ํ”„ํŠธ ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํˆด๊ณผ ํƒ€์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ์ž๋ฃŒ๊ตฌ์กฐ(your own custom data structure)๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์ „์—, ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์ œ๊ณตํ•˜๋Š” ๊ธฐ.. 2022. 5. 14.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 1. ์†Œ๊ฐœ - ์ฑ•ํ„ฐ1. ์™œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์›Œ์•ผํ• ๊นŒ์š”? ์ฑ•ํ„ฐ2. ๋ณต์žก๋„ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜ 1. ์†Œ๊ฐœ Introduction ์ฑ•ํ„ฐ1. ์™œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์›Œ์•ผํ• ๊นŒ์š”? ์ž๋ฃŒ๊ตฌ์กฐ ์—ฐ๊ตฌ๋Š” ํšจ์œจ์„ฑ์˜ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•ด์ง„ ์–‘์„ ์ €์žฅํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊ฐ€์š”? ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋ฐฐ์—ด๊ณผ ๋”•์…”๋„ˆ๋ฆฌ, ์„ธํŠธ์™€ ๊ฐ™์ด ์ฝœ๋ ‰์…˜ ํƒ€์ž…์„ ์ •๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค์€ ๋ฐ์ดํ„ฐ ์ฝœ๋ ‰์…˜์„ ๋ณด์œ ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ฐ ๊ตฌ์กฐ์—๋Š” ๊ณ ์œ ํ•œ ์„ฑ๋Šฅ ํŠน์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด๊ณผ ์„ธํŠธ์— ์ฐจ์ด์ ์„ ๊ณ ๋ คํ•ด๋ณด์„ธ์š”.. 2022. 5. 13.
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 0. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์š”์ฆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift์ด ์ฑ…์„ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์ €๋Š” ์ •๋ฆฌํ•˜๋‹ค๋ณด๋ฉด ์ž๊พธ ๋ฒˆ์—ญํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๋…ธ์…˜์— ์ •๋ฆฌํ•ด๋‘” ๊ฑธ ๋ณด๊ณ  ํ‹ฐ์Šคํ† ๋ฆฌ์—๋„ ์˜ฌ๋ฆฌ๋ฉด ์ข‹๊ฒ ๋‹ค ์‹ถ์–ด์„œ ๊ณต์œ ํ•ด๋ด…๋‹ˆ๋‹ค. ์ด ์ฑ…์€ ์ •ํ™•ํžˆ๋Š” ์ถœํŒ๋ฌผ ํ˜•ํƒœ์˜ ์ฑ…์€ ์•„๋‹ˆ๊ณ , ์›นํŽ˜์ด์ง€ ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ์š”. Raywenderlich ์—์„œ ํ”„๋กœ ๊ตฌ๋…์œผ๋กœ ์›” 39.99๋‹ฌ๋Ÿฌ๋ฅผ ๋‚ธ๋‹ค๋ฉด ์ฑ…์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๋…์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜ ๋งํฌ์—์„œ ์ž์„ธํžˆ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Subscription | raywenderlich.com S.. 2022. 5. 13.
[Swift] ์‚ฌ์šฉ์ž ์ปฌ๋Ÿฌ์…‹ ์ถ”๊ฐ€ํ•˜๊ณ  UI Color ํ™•์žฅํ•˜์—ฌ ์ฝ”๋“œ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์•ฑ ์Šคํƒ€์ผ์— ๋”ฐ๋ผ ์ „๋ฐ˜์ ์œผ๋กœ ๋ฐ˜๋ณต๋˜์–ด ์‚ฌ์šฉํ•˜๋Š” ์ปฌ๋Ÿฌ๋ฅผ Assets์— ์ถ”๊ฐ€ํ•˜๋ฉด, ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”์— ์ƒ‰์ƒ์ด ์ถ”๊ฐ€๋˜์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์‹œ์— ๊ฐ„ํŽธํ•˜๊ฒŒ ์ƒ‰์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ์ƒ‰์ƒ์„ Assets ์— ์ถ”๊ฐ€ํ•˜๊ณ , ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”๋กœ ์‚ฌ์šฉํ•ด๋ณด๋ฉฐ, UIColor๋ฅผ extension ํ™•์žฅํ•˜์—ฌ ์ฝ”๋“œ ์˜์—ญ์œผ๋กœ๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Assets/ ์— ์ถ”๊ฐ€ํ•˜๊ธฐ Xcode ์ขŒ์ธก์— ์žˆ๋Š” Project Navigater์—์„œ Assets.xcassets ์— ๋“ค์–ด๊ฐ„ ํ›„ ํด๋” Colors ๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ํ•ด๋‹น ํด๋” ์•ˆ์— ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ [New Color Set]์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์ปฌ๋Ÿฌ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ปฌ๋Ÿฌ์นฉ์ด ๋œน๋‹ˆ๋‹ค. ํ•ด๋‹น ์ปฌ๋Ÿฌ์…‹์˜ Attribute Inspe.. 2022. 4. 4.
๋ฐ˜์‘ํ˜•