๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[Firebase] ๋ณด์•ˆ ๊ทœ์น™์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๊ธฐ - 1 ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ์•Œ์•„๋ณผ๊ฑด ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ณด์•ˆ ๊ทœ์น™์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์š”์ฆ˜ ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—์„œ ๋ณด์•ˆ ๊ทœ์น™์„ ์—…๋ฐ์ดํŠธ ํ•˜๋ผ๊ณ  ์ด๋Ÿฐ ์•Œ๋ฆผ ๋„ ์˜ค๊ณ  ๋˜ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ค๋žœ๋งŒ์— ๋“ค์–ด๊ฐ”๋”๋‹ˆ ์•„๋ž˜์™€ ๊ฐ™์€ permissions์— ๋Œ€ํ•œ ์—๋Ÿฌ๋„ ๋œจ๊ณ ... ๊ทธ๋ž˜์„œ ์•ˆ๋˜๊ฒ ๋‹ค ์‹ถ์–ด์„œ ์ œ๋Œ€๋กœ ์•Œ์•„๋ณด๊ณ  ๊ทœ์น™์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด ๊ธ€์„ ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค. Firebase ๋ณด์•ˆ ๊ทœ์น™ ์šฐ์„  ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ณด์•ˆ ๊ทœ์น™์„ ์“ฐ๋ฉด ๋ญ๊ฐ€ ์ข‹์„๊นŒ์š”?๐Ÿค” ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์–ด์š”. "Firebase ๋ณด์•ˆ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋ฉด ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์—ฐํ•œ ๊ทœ์น™ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ ์ž‘์—…๋ถ€ํ„ฐ ํŠน์ • ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ž‘์—…๊นŒ์ง€ ์–ด๋– ํ•œ ์ƒํ™ฉ์— ๋งž๋Š” ๊ทœ์น™์ด๋ผ๋„ ์ž‘์„ฑ.. 2021. 3. 11.
[Firebase Error ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] Missing or insufficient permissions ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ๋งŒ๋‚œ ์—๋Ÿฌ๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ Firebase์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋ ค๊ณ  ํ•˜๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ์•„๋ž˜์™€ ๊ฐ™์ด Missing or insufficient permissions ๋ผ๊ณ  ๋œจ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ›์•„์ง€์ง€ ์•Š๋Š”๊ฑฐ์—์š”... ๊ทธ๋ž˜์„œ ์—ด์‹ฌํžˆ ์•Œ์•„๋ณธ ๊ฒฐ๊ณผ ํ•ด๊ฒฐ๋ฒ•์„ ์ฐพ๊ฒŒ ๋˜์–ด ์ด ๊ธ€์„ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” Firebase Console๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”. ๊ทธ๋ฆฌ๊ณค ์™ผ์ชฝ์—์„œ ๋‘๋ฒˆ์งธ ์•„์ด์ฝ˜์ธ ์žˆ๋Š” Firestore ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ๊ทœ์น™ํƒญ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ๊ทธ ๋‹ค์Œ ์•„๋ž˜์™€ ๊ฐ™์ด allow read,write: if true; ๋กœ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”. rules_version = '2'; service cloud.firestore { match /databases/{database}/documents.. 2021. 3. 10.
[Swift] ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๊ฐ์ฒด๋กœ , ๊ฐ์ฒด๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๋ฐ”๊พธ๋Š” ๋ฒ• (Dictionary to object , Object to dictionary) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์š”์ฆ˜ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋Š” Restful API ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ํ•˜๋Š”๋ฐ์š”. ์ด ๋•Œ json ํ˜•์‹์œผ๋กœ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ (get) ๋ฅผ Alamofire์™€ SwiftyJSON ์ด๋ผ๋Š” ์ข‹์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๋ฐ›๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์›ํ•˜๋Š” Object ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์„œ ์ €์žฅํ•˜๋ฉด ๋” ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ (post,put ๋“ฑ) ๋Š” ์ด๋ ‡๊ฒŒ ๊ฐ์ฒด๋กœ ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์„œ ์ „๋‹ฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Object๋ฅผ Dictionary๋กœ ๋ฐ”๊พธ๊ธฐ ๋จผ์ € ์ด๋ฆ„๊ณผ ๋‚˜์ด์™€ ์„ฑ๋ณ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” User๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”. (์›.. 2021. 3. 9.
[Github] ๊นƒํ—™ ๋ฆฌ๋“œ๋ฏธ ํ”„๋กœํ•„ ๊พธ๋ฏธ๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ๊นƒํ—™์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณผ๊ฑด๋ฐ์š”. ์˜ˆ์ „๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์˜ ๊นƒํ—™์— ๋“ค์–ด๊ฐ€๋ฉด README ํŒŒ์ผ์„ ์ด์šฉํ•ด์„œ ์ž์‹ ์„ ์†Œ๊ฐœํ•˜๋Š” ๊ฒƒ์„ ๋ดค๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ ์ €๋„ ํ•œ๋ฒˆ ๊นƒํ—™์— ์žˆ๋Š” ํ”„๋กœํ•„์„ ๊พธ๋ฉฐ๋ณธ ๊ณผ์ •๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! Preview Repository ๋งŒ๋“ค๊ธฐ ๊ฐ€์žฅ ๋จผ์ € ํ•ด์ฃผ์…”์•ผํ• ๊ฑด Repository๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฃผ์˜ํ•  ์ ์€ ๋ฐ˜๋“œ์‹œ!!! github ๊ณ„์ •์— ์žˆ๋Š” ์ด๋ฆ„๊ณผ ๋˜‘๊ฐ™์ด ๋งŒ๋“ค์–ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ ์•„๋ž˜์— ์žˆ๋Š” Add a README file์„ ์ฒดํฌํ•ด์ค€ ๋‹ค์Œ ์ƒˆ๋กœ์šด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”! README ํŒŒ์ผ ํŽธ์ง‘ํ•˜๊ธฐ ์ด๋ ‡๊ฒŒ ๋“ค์–ด๊ฐ€๋ฉด README.md ํŒŒ์ผ์„ ๋ณผ ์ˆ˜ ์žˆ์„๊ฑฐ์—์š”. ์—ฌ๊ธฐ์„œ ์šฐ์ธก ์ƒ๋‹จ์— ์žˆ๋Š” ์—ฐํ•„ ๋ชจ์–‘์„ ๋ˆŒ๋Ÿฌ์„œ README ํŒŒ์ผ์„ ํŽธ์ง‘ํ•ด์ค๋‹ˆ๋‹ค. ํ”„.. 2021. 3. 8.
[Swift] 2021 KAKAO BLIND RECRUITMENT ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ Solution Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ ์นด์นด์˜ค์— ์ž…์‚ฌํ•œ ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๋„ค์˜ค๋Š” "์นด์นด์˜ค๊ณ„์ •๊ฐœ๋ฐœํŒ€"์— ๋ฐฐ์น˜๋˜์–ด, ์นด์นด์˜ค ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์˜ ์•„์ด๋””๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "๋„ค์˜ค"์—๊ฒŒ ์ฃผ์–ด์ง„ ์ฒซ ์—…๋ฌด๋Š” ์ƒˆ๋กœ programmers.co.kr Source Code P.S ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ๋œ ๊ฒƒ isNumber ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•ด์คŒ. isLetter ๋ฌธ์ž์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•ด์คŒ(ํŠน์ˆ˜๋ฌธ์ž ์ œ์™ธ) 2021. 3. 7.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ (์‰ฌ์šด ํ’€์ด ํฌํ•จ) Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” BFS๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ 1๊ณผ ์—ฐ๊ฒฐ๋œ ์ˆซ์ž๋“ค ๊ทธ๋ฆฌ๊ณ  ์—ฐ๊ฒฐ๋œ ์ˆซ์ž๋“ค๊ณผ ์—ฐ๊ฒฐ๋œ ์ˆซ์ž๋“ค์„ ๋‚˜์—ดํ•ด์ค๋‹ˆ๋‹ค. ๋‚˜์—ดํ•˜๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ํ•œ ๋ผ์ธ์ด ์—ฐ๊ฒฐ๋  ๋•Œ๋งˆ๋‹ค ๋ผ์ธ์˜ ์ˆซ์ž๋ฅผ ๋Š˜๋ ค๊ฐ€์ค๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ ์™ผ์ชฝ ํŒŒ๋ž€์ƒ‰ ์ˆซ์ž ๋ชจ์–‘์„ ์ฐธ๊ณ  ํ•ด์ฃผ์„ธ์š”. ํ•˜์ง€๋งŒ ๋ผ์ธ 2๊นŒ์ง€ ์™”์„ ๋•Œ ๋ฌธ์ œ์  ์ด ์ƒ๊ธฐ๋Š”๋ฐ์š”. 2์™€ ์—ฐ๊ฒฐ๋œ 1,3,4,5 ์ค‘์—์„œ 1๊ณผ 3์€ ๊ฐˆ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๋ฏธ ์œ„์—์„œ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค์–ด์ค€ ์ˆซ์ž๋“ค์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฏธ .. 2021. 3. 7.
[Programming] SOLID ์›์น™์ด๋ž€? (feat.iOS ๊ฐœ๋ฐœ์ž) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ๋‹ค๋ค„๋ณผ ์ฃผ์ œ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP) ์—์„œ ๊ผญ ์ง€์ผœ์•ผ ํ•˜๋Š” ์›์น™์ธ SOLID ์ž…๋‹ˆ๋‹ค. SOLID๋ฅผ ์•Œ์•„๋ณด๋Š” ์ด์œ ๋Š” Swift๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ, ์บก์Šํ™”, ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ ๋“ฑ ๋งŽ์€ OOP ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ์–ด๋–ค ๊ฒƒ์ด ํšจ์œจ์ ์ธ์ง€ ์–ด๋–ค ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ OOP๋ฅผ ์ง€ํ‚ค๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ์ง€๋Š” ์•Œ์ง€ ๋ชปํ•œ์ฑ„ ๊ทธ๋ƒฅ ์ฝ”๋”ฉ๋งŒ ํ–ˆ์—ˆ์ฃ ... ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์šฐ์—ฐํžˆ "OOP์—์„œ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•˜๋Š” ์›์น™์ด 5๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์ด SOLID ์›์น™์ด๋ผ ๋ถˆ๋ฆฐ๋‹ค." ๋ผ๋Š” ๊ฒƒ์„ ๋“ฃ๊ณ  ์ด๊ฒŒ ๋ฌด์—‡์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ์™œ ์ง€์ผœ์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ ํ• ๊ฒŒ์š”~ SOLID ์›์น™์€ ๋ฌด์—‡์ผ๊นŒ์š”?๐Ÿง ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ SOLID๋ž€ ๋กœ๋ฒ„ํŠธ ๋งˆํ‹ด์ด .. 2021. 3. 4.
[iOS] ์›ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋˜๋Œ์•„๊ฐ€๊ธฐ(feat.unwind) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์›ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ธ unwind์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ (๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด๋™ํ•˜์…จ์„ ๊ฒฝ์šฐ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค ใ…œ) ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ A -> B -> C -> D ๋กœ ์ด๋™ํ•˜๋Š” ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋“ค์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๊ฒŒ์š”~ ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ๋งŒ์•ฝ D๊นŒ์ง€ ์ด๋™ํ•˜๊ณ  A๋กœ ๋Œ์•„๊ฐ€๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ์š”? AViewController AViewController์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ง์ ‘ IBAction์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. @IBAction func unwindToAViewController (segue : UIStoryboardSegue) { } DViewController ๊ทธ ๋‹ค์Œ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋กœ ์ด๋™ํ•˜์…”์„œ DViewController์˜ ์œ— ๋ถ€๋ถ„์˜ ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ์•„.. 2021. 3. 3.
[ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] PhaseSriptExecution failed with a nonzero exit code ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ๋งŒ๋‚œ ์—๋Ÿฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ PhaseScriptExcution ์—๋Ÿฌ์ธ๋ฐ์š”. ๊ตฌ๊ธ€๋ง ํ•ด๋ณธ ๊ฒฐ๊ณผ ํ•ด๊ฒฐ๋ฒ•์„ ์ฐพ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ Targets - Build Phases - [CP] Embed Pods Frameworks ๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š” ๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ฌํ…๋ฐ ๊ผญ For install builds only์™€ Based on dependency analysis๋ฅผ ์ฒดํฌํ•ด์ฃผ์…”์•ผํ•ฉ๋‹ˆ๋‹ค! P.S ์ง€๊ธˆ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋˜ ์ ์€ ํ•œ๋ฒˆ๋„ ์—†์—ˆ๋‹ค. ์ถ”์ธก์ด์ง€๋งŒ ์•„๋งˆ๋„ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด What's App Clone์ด์—ˆ๋Š”๋ฐ ' ์ด ๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๊ฒŒ ์•„๋‹Œ๊ฐ€์‹ถ๋‹ค. ๋˜ํ•œ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ' ๋ฌธ์ž๋ฅผ ๋นผ๊ณ  ๋งŒ๋“œ๋‹ˆ๊น ์ €๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋œจ์ง€ ์•Š์•˜๋‹ค. R.. 2021. 3. 3.
[Swift] 2020 KAKAO BLIND RECRUITMENT ์ž๋ฌผ์‡ ์™€ ์—ด์‡  Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ž๋ฌผ์‡ ์™€ ์—ด์‡  [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr Solution ์ž๋ฌผ์‡ ์™€ ์—ด์‡ ์˜ ๊ตฌ๋ฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋จผ์ € ์ฒ˜๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. 1.์ž๋ฌผ์‡ ์™€ ๊ตฌ๋ฉ๊ณผ ์—ด์‡ ์˜ ๋Œ๊ธฐ๊ฐ€ ๊ฐ ๊ฐ 1๊ฐœ์ผ ๊ฒฝ์šฐ True 2.์ž๋ฌผ์‡ ์˜ ๊ตฌ๋ฉ์ด ์—ด์‡ ์˜ ๋Œ๊ธฐ๋ณด๋‹ค ๋งŽ์„ ๊ฒฝ์šฐ False ๋งŒ์•ฝ 2๊ฐœ์˜ ๊ฒฝ์šฐ ๋ชจ๋‘ ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ž๋ฌผ์‡ ์™€ ์—ด์‡ ์˜ ๊ฐ ๊ตฌ๋ฉ๊ณผ ๋Œ๊ธฐ๊ฐ€ ์–ด๋Š ๋ถ€๋ถ„์— ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋‚ด์•ผ ํ•˜๋Š”๋ฐ์š”. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ์•Œ์•„๋‚ด์•ผ ํ• ๊นŒ์š”? ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ž๋ฌผ์‡ ์™€ ์—ด์‡ ๋ฅผ X,Y ์ขŒํ‘œ๋กœ ์ƒ๊ฐ์„ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ง€๋ฌธ์— ๋‚˜์™€ ์žˆ๋Š” ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์—ด์‡  ๋Œ๊ธฐ๋Š” (0,1),(.. 2021. 3. 1.
[iOS] UserDefaults์— ๊ฐ์ฒด ์ €์žฅํ•˜๊ธฐ (Encode & Decode Object in UserDefaults Data ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ UserDefaults์— ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊ฑด๋ฐ์š”. ์ €๋Š” UserDefaults์— ๋ชจ๋ธ ์ž์ฒด๋ฅผ ๋„ฃ๊ณ  ์ €์žฅํ•˜๊ณ  ์‹ถ์€๋ฐ ๊ทธ๊ฒŒ ์ž˜ ์•ˆ๋˜๋”๋ผ๊ตฌ์š”... ๊ทธ๋ž˜์„œ ์—ด์‹ฌํžˆ ๊ตฌ๊ธ€๋งํ•ด์„œ ์•Œ๊ฒŒ๋œ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”! Food ์ €๋Š” ์ œ๊ฐ€ ๋จน์—ˆ๋˜ ์Œ์‹์˜ ์ด๋ฆ„,๊ฐ€๊ฒฉ,๋ง›์žˆ์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์Œ์‹์ด๋ผ๋Š” ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ฒŒ์š”! Codable์€ UserDefaults์— ์ €์žฅํ•˜๊ณ  ๋นผ์˜ค๊ธฐ ์œ„ํ•ด์„œ Encode,Decode ๊ณผ์ •์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฑ„ํƒํ•˜์˜€๊ณ  Equatable์€ Food๊ฐ์ฒด๋ฅผ ์„œ๋กœ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ์ฑ„ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. import Foundation struct Food:Codable,Equatable{ let name:String let pri.. 2021. 2. 26.
[ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window. ํ•ธ๋“œํฐ ๊ป๋‹ค ์ผœ๋ฉด ๋จ. 2021. 2. 25.
728x90
๋ฐ˜์‘ํ˜•