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

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

์š”์ฆ˜ ๊ฐœ๋ฐœ์ž ์ทจ์—…์ด ์–ด๋ ต๋‹ค๋Š”๋ฐ….์ทจ์ค€, ์ด์ง ์„ฑ๊ณต์„ ์œ„ํ•œ ์น˜ํŠธํ‚ค ์†Œ๊ฐœ + ์ฝ”ํ…Œ, ๋ฉด์ ‘/์š”์ฆ˜ ํ•ซํ•œ AI๋ฅผ ์ด์šฉํ•ด ํฌํŠธํด๋ฆฌ์˜ค๋งŒ๋“ค์–ด๋ณด๊ธฐ! ft.์œ ๋ฐ๋ฏธ ์‹œ์ž‘ํ•˜๋ฉฐ ์•ˆ๋…•ํ•˜์„ธ์š”. ํ‚ด๋””์ž…๋‹ˆ๋‹ค.์˜ค๋Š˜์€ ๊ฐœ๋ฐœ์ž ์ทจ์ค€, ์ด์ง์— ๊ด€ํ•œ ์ œ ๊ฒฝํ—˜์„ ๊ณต์œ ๋“œ๋ฆฌ๊ณ , ์š”์ฆ˜๊ฐ™์ด ์ทจ์—…์‹œ์žฅ์ด ๊ฝ๊ฝ ์–ผ์–ด๋ถ„์€ ์ง€๊ธˆ, ๋‚ด ์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ ์Šคํ‚ฌ์„ ๋”์šฑ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , ํฌํŠธํด๋ฆฌ์˜ค ์—…๊ทธ๋ ˆ์ด๋“œ๋„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜๋“ค์„ ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ง€๋‚œ๋ฒˆ์— ์ƒ์กดํ˜• ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ถ”์ฒœํ•˜๋Š” ๊ฐ•์˜๊ธ€์„ ๋ชป๋ณด์…จ๋‹ค๋ฉด ๋ณด๊ณ ์˜ค์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.https://kimdee.tistory.com/entry/ํ”„๋ก ํŠธ์—”๋“œ-๊ฐœ๋ฐœ์„-ํ•ด์•ผ๋˜๋Š”๋ฐ-๋ญ๋ถ€ํ„ฐ-๊ณต๋ถ€ํ•ด์•ผ๋ ๊นŒ์š”-์ƒ์กดํ˜•-FE-๊ฐœ๋ฐœ์ž์ „-Swift-๊ฐœ๋ฐœ์ž๊ฐ€-์•Œ๋ ค์ฃผ๋Š”-React-๊ฐ•์˜-์ถ”์ฒœ-์ด๊ฑฐํ•˜๋‚˜๋งŒ๋ณด์„ธ์š”-ํ˜‘์—…-๋ฐ-ํฌํŠธํด๋ฆฌ์˜ค-ํ•„์ˆ˜์Šคํ‚ฌ-ํ”ผ๊ทธ๋งˆ-๊ฐ•์˜-์ถ”์ฒœ-Ad ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๋ฉด ๋ญ๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•ด์•ผ ๋ ๊นŒ? ์ƒ์กดํ˜• FE ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” React ๊ฐ•์˜ ์ถ”์ฒœ+์‹œ์ž‘ํ•˜๋ฉฐ - Swift ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€.. 2024. 11. 27.
ํŒŒํฌ๊ณจํ”„ ์ „๋ฌธ์•ฑ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค ์•ˆ๋…•ํ•˜์„ธ์š”. ํ‚ด๋””์ž…๋‹ˆ๋‹ค.์ œ๊ฐ€ ๊ฐœ๋ฐœ๊ณผ ๋””์ž์ธ๊ณผ ์ฝ˜ํ…์ธ  ์ œ์ž‘์— ์ฐธ์—ฌํ•œ ํŒŒํฌ๊ณจํ”„ ์•ฑ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.https://tokti.ai/landing/index-parkgolf.html ์˜คํŒŒ์Šค – ๋ฌด๋ฃŒ ํŒŒํฌ๊ณจํ”„ ์Šค์ฝ”์–ด ๊ด€๋ฆฌ & ๊ฑฐ๋ฆฌ์ธก์ • ์•ฑํŒŒํฌ๊ณจํ”„ ์Šค์ฝ”์–ด๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ธฐ๋กํ•˜๊ณ  GPS ๊ฑฐ๋ฆฌ์ธก์ • ๊ธฐ๋Šฅ์œผ๋กœ ๋ผ์šด๋”ฉ ์‹ค๋ ฅ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์„ธ์š”. ์˜คํŒŒ์Šค์™€ ํ•จ๊ป˜ ํŒŒํฌ๊ณจํ”„๋ฅผ ๋” ์ฆ๊ฒ๊ฒŒ ๊ด€๋ฆฌํ•˜์„ธ์š”!tokti.ai์ €ํฌ ์•ฑ...์ง„์งœ ์—ด์‹ฌํžˆ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ์š”.ํŒŒํฌ๊ณจํ”„ ๋ผ์šด๋”ฉ์„ ๋‚˜๊ฐ€๊ณ  ์žˆ์ง€๋งŒ ๊ณ ๊ฐ์˜ ์†Œ๋ฆฌ๋ฅผ ์ข€๋” ๊ฐ€๊นŒ์ด ๋“ฃ๊ณ ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜คํŒŒ์Šค ์•ฑ ๋‹ค์šด๋ฐ›์œผ์‹œ๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ๋‚จ๊ฒจ๋“œ๋ฆฐ ๋ถ„๊ป˜๋Š” ์ œ๊ฐ€ ์†Œ์ •์˜ ์„ ๋ฌผ์„ ์ถ”์ฒจํ•ด์„œ ๋ณด๋‚ด๋“œ๋ฆฌ๋ ค๊ณ  ํ•ด์š”. ํ˜„์žฌ iOS์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ๋ชจ๋‘ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์•„๋ž˜ ์•ฑ ๊ธฐ๋Šฅ๋“ค ๋ชจ๋‘ ๋‹ค์–‘ํ•œ AI ๊ธฐ์ˆ ์„ ๋…น์—ฌ๋‚ด์–ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค!์•ฑ ์†Œ๊ฐœ.. 2024. 11. 25.
ํ”„๋ก ํŠธ์—”๋“œ 101 - 10+๋…„์ฐจ ํ”„๋ก ํŠธ์—”๋“œ ์—”์ง€๋‹ˆ์–ด ์นœ๊ตฌ์—๊ฒŒ ๋“ค์—ˆ๋˜ ๊ธฐ์ดˆ ๋‚ด์šฉ ์ •๋ฆฌ Frontend 101 ์˜ˆ์ „์— ๋“ค์—ˆ๋˜ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฉ”๋ชจํ–ˆ์Šต๋‹ˆ๋‹ค.์ถ”ํ›„์— ๊ณต๋ถ€ํ•˜๋ฉฐ ์ข€ ๋” ์‚ด์„ ๋ถ™์—ฌ๋ณผ๊ฒŒ์š”!๋น ๋ฅธ ๋ฉ”๋ชจ๋ผ ๊ธ€ํˆฌ๊ฐ€ ์งง๊ฒŒ ๋Š์–ด์ง€๋Š” ์  ์–‘ํ•ด ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.Overview ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ? web client๋Š” Browser(Chrome, FF, Edge, Safari, Whale) ๋ฅผ ํ†ตํ•ด ์›น์— ์ ‘๊ทผ client (user’s device / user agent / host device ) - Support Language : HTML, CSS, JS, WebAssembly(WASM) ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ์–ธ์–ด์—๋Š” ํ•œ๊ณ„๊ฐ€ , 4๊ฐœ๊นŒ์ง€ (*****) png ๊ฐ™์€ ํŒŒ์ผ์€ ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ Binary e.g. https://www.naver.com ์— ์ ‘์†ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด naver.com์€ ๋„๋ฉ”์ธ.. 2024. 11. 23.
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๋ฉด ๋ญ๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•ด์•ผ ๋ ๊นŒ? ์ƒ์กดํ˜• FE ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” React ๊ฐ•์˜ ์ถ”์ฒœ+ํ˜‘์—…,ํฌํด ํ•„์ˆ˜์Šคํ‚ฌ ํ”ผ๊ทธ๋งˆ ๊ฐ•์˜ ft.์œ ๋ฐ๋ฏธ ์‹œ์ž‘ํ•˜๋ฉฐ - Swift ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋œ ์ด์œ  ์‹œ๊ฐ„์„ ๊ฑฐ์Šฌ๋Ÿฌ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ์ž‘๋…„ ์ด๋ง˜ ๋•Œ ์ €๋Š” Swift์— ํ‘น ๋น ์ ธ์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ ์ง€๋‚œ ๊ธ€๋“ค์„ ๋ณด์…จ๋‹ค๋ฉด ์•„๋งˆ ์•„์‹ค๊ฑฐ์—์š”. 1ํŽธ - iOS ์•ฑ์„ 2๊ฐœ ์ถœ์‹œํ•˜๊ณ  ๋‚˜์„œ ๋Œ์•„๋ณธ 10๊ฐœ์›”๊ฐ„์˜ iOS ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•(2022) - ๋…ํ•™, ๊ฐœ์ธํ”„๋กœ์ ํŠธ,0. ์ œ ์†Œ๊ฐœ ์ €๋Š” ์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ์™€ ๋””์ž์ด๋„ˆ๋กœ ์ผ์„ ํ•˜๋‹ค๊ฐ€ 2022๋…„, ์˜ฌํ•ด 2์›”๋ถ€ํ„ฐ iOS ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•ด์„œ ํ˜„์žฌ๋Š” ์—ฐ๊ทน๊ณผ ๋ฎค์ง€์ปฌ ํ›„๊ธฐ๋ฅผ ์“ฐ๋Š” ‘์—ฐ๋ฎค๋กœ๊ทธ’์™€ ์ฃผ๋‘”๊ตฐ๊ณผ ํ•œ๊ตญ๊ตฐ์ธ์„ ์œ„ํ•œ ์•ฝ์–ด ๋ฐ ์šฉ์–ด kimdee.tistory.com ๊ณต๋ถ€ 10๊ฐœ์›”์„ ํ•˜๊ณ  ํ˜„์—…์—์„œ ์ž‘๋…„ ์ดˆ๋ถ€ํ„ฐ ์ผํ•ด์„œ Swift ํ•จ๊ป˜ํ•œ ์ง€๋Š” ์ด์ œ 3๋…„์ด ๋˜์–ด๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ ์‚ฌ์ด ์ œ ๊ฐœ์ธ iOS ์•ฑ๊ณผ ์•„์ด๋ฉ”์‹œ์ง€์•ฑ๋„ ์ด๋ ‡๊ฒŒ ๋ƒˆ์—ˆ์ฃ ... 2024. 11. 22.
[Swift] ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์–ด๋ฌธ๊ณผ ์ „์ฒ˜๋ฆฌ๊ธฐ, ์ปค์Šคํ…€ ํ”Œ๋ž˜๊ทธ (#if DEBUG, #if os...) ์‹œ์ž‘ํ•˜๋ฉฐSwift ์—์„œ DEBUG, RELEASE์™€ ๊ฐ™์€ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ์ปค์Šคํ…€ํ•˜๊ฒŒ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์–ด ์•Œ์•„๋ณด๋‹ˆ Other Swift Flags์™€ Active Compilation Conditions ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ๊ฒธ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒ˜๋ฆฌ๊ธฐ Preprocessor ์ปดํŒŒ์ผ ์ „์— ์ฒ˜๋ฆฌ๋˜๋Š” ์ž‘์—…์„ ์ „์ฒ˜๋ฆฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.  ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์–ด๋ฌธ Compiler Control Statements ๊ทธ๋Ÿฌ๋‚˜ Swift์—์„œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์–ด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ๋Ÿฌ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Swift์—๋Š” ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ ๋ธ”๋ก, ๋ผ์ธ ์ œ์–ด ๋ฌธ, ์ปดํŒŒ์ผ ํƒ€์ž„ ์ง„๋‹จ ๋ฌธ ๋“ฑ ์„ธ ๊ฐ€์ง€ ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์–ด๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. # if : ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ ๋ธ”๋ก Conditional Compilation .. 2024. 11. 21.
๊ตฌ๊ธ€๋“œ๋ผ์ด๋ธŒ ์ด๋ฏธ์ง€๋ฅผ CDN(์›น๋งํฌ)์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• - 2024 ์ตœ์‹ ! ๋ง‰ํžˆ์ง€ ์•Š์•˜์–ด์š” ์ฐพ์•„๋ณด๋‹ˆ ๊ธฐ์กด์— ๊ณต๊ฐœ๋œ ๋ฐฉ๋ฒ•๋“ค์ด ๋‹ค ๋ง‰ํ˜”๋”๋ผ๊ณ ์š”. ๊ตฌ๊ธ€์—์„œ ์•ˆ ๋ง‰ํžŒ ์ตœ์‹  ๋ฐฉ๋ฒ• ์ฐพ์•„์„œ ๊ฐ€์ง€๊ณ  ์™”์Šต๋‹ˆ๋‹ค.  (*์ฃผ์˜: ๊ทผ๋ฐ ์•ฝ๊ฐ„ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)   ๊ตฌ๊ธ€๋“œ๋ผ์ด๋ธŒ ์ด๋ฏธ์ง€๋ฅผ CDN(์›น๋งํฌ) ํ™œ์šฉ ๋ฐฉ๋ฒ•  1. ์ผ๋‹จ ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ์— ์ด๋ฏธ์ง€๋ฅผ ์˜ฌ๋ ค์ค๋‹ˆ๋‹ค. ์ €๋Š” ๋‚˜์‚ฌ ํ—ˆ๋ธ” ๋ง์›๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์ด๋ ‡๊ฒŒ ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค.    2. ์ค‘์š”!! ๋ฐ˜๋“œ์‹œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ > ๊ณต์œ  ๋ˆŒ๋Ÿฌ์„œ ๋งํฌ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž์— ๋ทฐ์–ด ๊ถŒํ•œ์œผ๋กœ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. ์ด๊ฑธ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋งํฌ๊ฐ€ ์žˆ์–ด๋„ ์™ธ๋ถ€์—์„œ ๋ณผ ์ˆ˜ ์—†์–ด์š”!  3. ๊ทธ ๋‹ค์Œ ๊ฐ€์ ธ์˜จ ์ด๋ฏธ์ง€๋ฅผ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ™”๋ฉด์ด ๋œฐ๊ฑฐ์—์š”.     4. ํฌ๋กฌ์—์„œ ๊ฐœ๋ฐœ์ž ๋ชจ๋“œ Developer Tools / ์‚ฌํŒŒ๋ฆฌ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ˜์†” Show Javascript Console ์ด๋ผ๊ณ  ํ•˜์ฃ ? ๊ฐ™.. 2024. 9. 12.
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ๊ธฐ์ดˆ๋ฌธ๋ฒ• ๊ณต๋ถ€๋…ธํŠธ - ์ธํ”„๋Ÿฐ Amazing Javascript ํ›„๊ธฐ ๋ฐ ์ถ”์ฒœ! ์‹œ์ž‘ํ•˜๋ฉฐ์ด๋ฒˆ์— ์บกํ‹ดํŒ๊ต๋‹˜์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌด๋ฃŒ๊ฐ•์˜๊ฐ€ ์ƒˆ๋กœ ์˜คํ”ˆ๋๋‹ค.์‚ฌ์‹ค ์บกํ‹ดํŒ๊ต๋‹˜ ๊ฐ•์˜ ์˜คํ”ˆ ์†Œ์‹์€, ๊ฐœ์ธ์ ์œผ๋กœ ์ข‹์•„ํ•˜๊ณ  ์กด๊ฒฝํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์œ ๋ฅด๋งˆ๋ฌด๋‹˜์„ ํ†ตํ•ด ์•Œ๊ฒŒ๋˜์—ˆ๋Š”๋ฐ ์ดํ›„ ๊ฐœ์ธ์ ์œผ๋กœ TS๋ฅผ ๊ณต๋ถ€ํ•  ์ผ์ด ์ƒ๊ฒจ์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ฒŒ ๋˜์—ˆ๋‹ค.  ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ž˜ ์งš์–ด์ฃผ์‹œ๊ธฐ๋„ ํ–ˆ๊ณ , Swift์™€๋„ ๋งŽ์ด ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.  ๊ฐ•์˜๋งํฌ [์ง€๊ธˆ ๋ฌด๋ฃŒ] Amazing JavaScript - ์ž…๋ฌธ ๊ฐ•์˜ | ์žฅ๊ธฐํšจ(์บกํ‹ดํŒ๊ต) - ์ธํ”„๋Ÿฐ์žฅ๊ธฐํšจ(์บกํ‹ดํŒ๊ต) | ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ ์ง€์‹. ์‹ค๋ฌด์ž๋กœ์„œ ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ํ•„์ˆ˜ ์ง€์‹๋“ค์„ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค. 2024๋…„ ํ˜„๋Œ€ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ๋ฅผ ๋ฐ˜์˜www.inflearn.com ๋“ฃ๋‹ค๋ณด๋‹ˆ ํ•œ ์ดํ‹€, ์ˆœ์‹๊ฐ„์— ์™„.. 2024. 7. 12.
[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   ํ˜น์‹œ ์˜์–ด๋ฒ„์ „์„ ์ฝ๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋ฏธ๋””์—„ ๋งํฌ์—์„œ ์˜์–ด๋ฒ„์ „ ํฌ์ŠคํŒ…์„ ์ฝ์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:)   How to make iMessage sticker packs so easily!.. 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.
๋ฐ˜์‘ํ˜•