๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[Firebase] Firebase ๊ฐ€๊ฒฉ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ(Firebase Pricing) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ ํ”„๋กœ์ ํŠธ๋ฅผ ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ด์ •๋„ ์œ ์ €๊ฐ€ ์ด์ •๋„ ์“ฐ๋ฉด ์–ผ๋งˆ๋‚˜ ๋‚˜์˜ค๊ฒ ๋‹ค ํ•˜๋ฉด์„œ ๊ฐ€๊ฒฉ์„ ์ธก์ •ํ•ด๋ณด์•˜๋Š”๋ฐ์š”. ์ด๋ฒˆ ๊ธฐํšŒ์— ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ ๊ฐ€๊ฒฉ์ด ์–ผ๋งŒํผ ์ธก์ •๋˜๋Š”์ง€ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Free ๐Ÿ˜† ๋ฌด์ œํ•œ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค A/Bํ…Œ์ŠคํŠธ ์• ๋„๋ฆฌํ‹ฑ์Šค ์•ฑ ๋ฐฐํฌ ์•ฑ ์ƒ‰์ธ ์ƒ์„ฑ ํด๋ผ์šฐ๋“œ ๋ฉ”์„ธ์ง€ ํฌ๋ž˜์‰ฌ๋ฆฌํ‹ฑ์Šค ๋‹ค์ด๋‚˜๋ฏน ๋งํฌ ๋ฆฌ๋ชจํŠธ ์ปจํ”ผ๊ทธ Authentication ์ „ํ™” ์ธ์ฆ ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ์›” 1๋งŒ๋ฒˆ ๋ฌด๋ฃŒ์ œ๊ณต ์ข…๋Ÿ‰์ œ ์š”๊ธˆ์ œ ์ธ์ฆ 1ํšŒ๋‹น 0.06$(68์›) Cloud Firestore ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ์ด 1๊ธฐ๊ฐ€ ๋ฐ”์ดํŠธ๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•˜๋ฃจ์— 2๋งŒ๋ฒˆ ์“ฐ๊ธฐ 2๋งŒ๋ฒˆ ์‚ญ์ œ 5๋งŒ๋ฒˆ๊นŒ์ง€ ์ฝ๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ข…๋Ÿ‰์ œ ์š”๊ธˆ์ œ 1๊ธฐ๊ฐ€๋‹น 0.192$(200์›) ์“ฐ๊ธฐ: 10๋งŒ๋ฒˆ ๋‹น 0... 2021. 3. 30.
[Swift] 2021 KAKO BLIND RECUITMENT ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” Floyd Warshall ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 1. ๋ชจ๋“  ์ง€์  ์—ฐ๊ฒฐํ•˜๊ธฐ ์šฐ์„  ๋ชจ๋“  ์ง€์ ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์ •์ˆ˜์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์œผ๋กœ.. 2021. 3. 27.
[Swift] 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ(Youtube ํ’€์ดํฌํ•จ) Youtube ํ’€์ด Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„ [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr Solution board๋ฅผ ๊ฐ index์— ์žˆ๋Š” ์ˆซ์ž๋“ค๋กœ ๊ตฌ์„ฑํ•ด์„œ array ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. array์—์„œ 0์€ ์—†์• ์ค๋‹ˆ๋‹ค. ๋ฝ‘์€ ์ˆซ์ž๋“ค์„ ๋‹ด์„ basket ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. moves์•ˆ์— ์žˆ๋Š” ์ˆซ์ž๋“ค์€ array index์ด๋ฏ€๋กœ array์˜ index๋ฒˆ์งธ์—์„œ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•ด์ค๋‹ˆ๋‹ค. array์˜ ๋งจ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž์™€ basket์˜ ๋งจ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋งŒ์•ฝ ๊ฐ™๋‹ค๋ฉด basket์˜ ๋งจ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•ด์ฃผ๊ณ  count๋ฅผ +2 ํ•ด์ค๋‹ˆ๋‹ค. So.. 2021. 3. 26.
[iOS/API] OneSignal์œผ๋กœ ํ‘ธ์‰ฌ์•Œ๋ฆผ ๋ณด๋‚ด๋ณด๊ธฐ(OneSignal Push Notification) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์›์‹œ๊ทธ๋„์ด๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ด ํ‘ธ์‰ฌ์•Œ๋ฆผ์„ ๊ตฌํ˜„ํ•ด๋ณผ๊ฒŒ์š”! ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~ KeyChainAccess ๋จผ์ € ํ‚ค์ฒด์ธ ์ ‘๊ทผ์œผ๋กœ ๊ฐ€์„œ ์ธ์ฆ ๊ธฐ๊ด€์—์„œ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ž์‹ ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋””์Šคํฌ์— ์ €์žฅ๋จ์„ ํด๋ฆญํ•œ ๋’ค ๊ณ„์†์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ์ธ์ฆ์„œ๋ฅผ ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ์ง€์€ ๋‹ค์Œ ์ €์žฅํ•ด์ฃผ์„ธ์š”! ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์ด ์ƒ๊ธธ๊ฑฐ์—์š”! Apple Developer ์ด์ œ ์• ํ”Œ ๊ฐœ๋ฐœ์ž ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ - Apple idmsa.apple.com Certificates,Identifiers & Profiles๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”. ์™ผ์ชฝ ํƒญ์—์„œ Identifiers๋ฅผ ํด๋ฆญํ•ด์ฃผ์‹œ๊ณ  Identifiers + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. App IDs๋ฅผ ํด๋ฆญํ•ด์ฃผ์‹œ๊ณ  Continue๋ฅผ.. 2021. 3. 24.
[iOS/API] ๋„ค์ด๋ฒ„ API๋ฅผ ์ด์šฉํ•ด์„œ ์ฃผ์†Œ๋ฅผ ์œ„๋„,๊ฒฝ๋„๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ(NAVER CLOUD PLATFORM GEOCODING) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์— ์žˆ๋Š” Geocoding ์„ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ์ฃผ์†Œ์˜ ์œ„๋„,๊ฒฝ๋„๊ฐ’์„ ๋ฐ›์•„์˜ฌ๊ฑฐ์—์š”! ์• ํ”Œ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ง€์˜ค์ฝ”๋”ฉ๋„ ์žˆ์ง€๋งŒ ํ•œ๊ตญ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ๊ฝค ๋งŽ์ด ๋‚˜์˜ค๋”๋ผ๊ตฌ์š”. ๊ตฌ๊ธ€ API๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋‚˜...? ๊ณ ๋ฏผํ•˜๋Š”๋ฐ ๊ตฌ๊ธ€์€ 2๋งŒํšŒ๊นŒ์ง€ ๋ฌด๋ฃŒ๊ณ  ๊ทธ ์ด์ƒ๋˜๋ฉด ์œ ๋ฃŒ๋กœ ์ง€๋ถˆํ•ด์•ผ ๋˜๋”๋ผ๊ตฌ์š”. ํ˜น์‹œ๋‚˜ ํ•˜๊ณ  ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ์„ ๋“ค์–ด๊ฐ€๋ดค๋”๋‹ˆ... 300๋งŒํšŒ๊นŒ์ง€ ๋ฌด๋ฃŒ....๐Ÿ˜ ๊ณ ๋ฏผํ• ๊ฑฐ ์—†์ด ๋ฐ”๋กœ ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ์„ ์ด์šฉํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~!! NAVER CLOUD PLATFORM ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์œผ๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”! NAVER CLOUD PLATFORM cloud computing services for corporations,.. 2021. 3. 23.
[iOS ๋ฉด์ ‘์งˆ๋ฌธ] ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒ๋ช…์ฃผ๊ธฐ (ViewController Life Cycle) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์ €๋ฒˆ ์‹œ๊ฐ„์— ์•ฑ ์ƒ๋ช…์ฃผ๊ธฐ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃฌ ์ ์ด ์žˆ๋Š”๋ฐ์š”. (ํ˜น์‹œ ์•ˆ๋ณด์‹  ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค!) ์˜ค๋Š˜์€ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ ์ƒ๋ช…์ฃผ๊ธฐ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ViewController Life Cycle ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด 6๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฌด์—‡์„ ๋œปํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์ „์— ํ•œ๋ฒˆ ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋˜๋Š”์ง€ ๋ด๋ณผ๊นŒ์š”? ViewController ๋จผ์ € ์ฒซ๋ฒˆ์งธ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๊ฐ ๋ฉ”์†Œ๋“œ๋งˆ๋‹ค ์ถœ๋ ฅ์„ ํ•˜๊ฒŒ๋” ๋งŒ๋“ค์–ด๋†“๊ฒ ์Šต๋‹ˆ๋‹ค. import UIKit class ViewController: UIViewController { override func loadView() { super.loadView() print("๋ทฐ ๋กœ๋“œ์ค‘~") } override.. 2021. 3. 22.
[Swift] 2021 KAKAO BLIND RECRUITMENT ์ˆœ์œ„ ๊ฒ€์ƒ‰ Foma's ํ’€์ด ๋ชจ๋“  ์ง€์›์ž๋“ค์€ ์–ธ์–ด, ์ง๊ตฐ, ๊ฒฝ๋ ฅ, ์†Œ์šธํ‘ธ๋“œ, ์ ์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋ฅผ ๊ฐ–๊ธฐ ์œ„ํ•ด์„œ ๋„์–ด์“ฐ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด 0๋ฒˆ์งธ ์–ธ์–ด 1๋ฒˆ์งธ ์ง๊ตฐ 2๋ฒˆ์งธ ๊ฒฝ๋ ฅ 2๋ฒˆ์งธ ์†Œ์šธํ‘ธ๋“œ 4๋ฒˆ์งธ ์ ์ˆ˜๊ฐ€ ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ„์–ด์ง„ ์ง€์›์ž๋“ค์„ ์ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์œผ๋ก  ์ œ๊ฐ€ ํ•ต์‹ฌ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ฒซ๋ฒˆ์งธ์ž…๋‹ˆ๋‹ค. (๋„์ €ํžˆ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์นด์นด์˜ค ๋ฌธ์ œํ•ด์„ค์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.....) ์ง€์›์ž๋“ค์˜ 4๊ฐ€์ง€ ์ •๋ณด๋กœ ๋ชจ๋“  ์ผ€์ด์Šค๋“ค์„ 16๊ฐ€์ง€๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ž๋ฐ” ๋ฐฑ์—”๋“œ ์‹œ๋‹ˆ์–ด ํ”ผ์ž๋ผ๋ฉด ์ •๋ณด์—†์Œ ์ž๋ฐ” ์ž๋ฐ” ๋ฐฑ์—”๋“œ ์ž๋ฐ” ์‹œ๋‹ˆ์–ด ์ž๋ฐ” ํ”ผ์ž ์ž๋ฐ” ๋ฐฑ์—”๋“œ ์‹œ๋‹ˆ์–ด ์ž๋ฐ” ๋ฐฑ์—”๋“œ ํ”ผ์ž ์ž๋ฐ” ์‹œ๋‹ˆ์–ด ํ”ผ์ž ์ž๋ฐ” ๋ฐฑ์—”๋“œ ์‹œ๋‹ˆ์–ด ํ”ผ์ž ๋ฐฑ์—”๋“œ ๋ฐฑ์—”.. 2021. 3. 18.
[iOS] ์• ํ”Œ์ง€๋„์— ๋ฒ”์œ„ ํ‘œ์‹œํ•˜๊ณ  ์•ˆ์— ํŠน์ • ์œ„์น˜๊ฐ€ ์†ํ•ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ(Make range and Verify location is inside with MapKit) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์ €๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์›ํ•˜๋Š” ์œ„์น˜๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์ด๋ฏธ์ง€์™€ ๋ ˆ์ด๋ธ”์„ ๋„ฃ์–ด๋ณด์•˜๋Š”๋ฐ์š”. (ํ˜น์‹œ ์•ˆ๋ณด์‹  ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ๋ฅผ ํ†ตํ•ด์„œ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”!) ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์›ํ•˜๋Š” ์œ„์น˜๊ฐ€ ํŠน์ • ๋ฒ”์œ„ ์•ˆ์— ์†ํ•ด์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. MKMapViewDelegate ์ถ”๊ฐ€ํ•˜๊ธฐ ๊ฐ€์žฅ ๋จผ์ € ViewController์— MKMapViewDelegate๋ฅผ ์ฑ„ํƒํ•ด์ฃผ์„ธ์š”. (๋‹น์—ฐํžˆ import MapKit๋„ ํ•ด์•ผ๊ฒ ์ฃ ?) class ViewController: UIViewController ,MKMapViewDelegate{...} ๋งˆ์ปค ์„ค์ •ํ•˜๊ธฐ ์›ํ•˜๋Š” ์œ„์น˜์— ํ‘œ์‹œํ•  ๋งˆ์ปค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”. ์ €๋ฒˆ ์‹œ๊ฐ„์—๋Š” ํ™๋Œ€์ž…๊ตฌ์—ญ๋งŒ ํ–ˆ์ง€๋งŒ ํ™๋Œ€์ž…๊ตฌ์—ญ ๊ทผ์ฒ˜์ธ ์Šคํƒ€๋ฒ…์Šค๊นŒ์ง€ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. let mark1 = Marker( title: .. 2021. 3. 18.
[Network] HTTP ์ƒํƒœ ์ฝ”๋“œ๋ž€? ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ์•Œ์•„๋ณผ๊ฑด REST API๋กœ ํ†ต์‹ ํ•  ๋•Œ ์„œ๋ฒ„์— ์–ด๋– ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋ฉด ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์ฝ”๋“œ๋ฅผ ๋ฐ›๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ์š”์ฒญ์ด 200๋Œ€์ด๋ฉด ์„ฑ๊ณต์ด๊ณ  400๋Œ€์ด๋ฉด ์˜ค๋ฅ˜์ธ๊ฑด ์•Œ์•˜์ง€๋งŒ ๊ตฌ์ฒด์ ์œผ๋ก  ์•Œ์ง€ ๋ชปํ•ด์„œ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์œ„ํ‚ค๋ฐฑ๊ณผ์— ๋ณด๋ฉด ๋‹ค ๋‚˜์™€์žˆ์ง€๋งŒ ๊ตณ์ด ์ •๋ฆฌํ•˜๋Š” ์ด์œ ๋Š” ๋ชฐ๋ž๋˜ ๊ฒƒ๋“ค์„ ์ œ ๋ธ”๋กœ๊ทธ๋ฅผ ํ†ตํ•ด์„œ ์ฐพ๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ •๋ฆฌํ•ด๋†“์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ 100~ ์š”์ฒญ์„ ๋ฐ›์•˜๊ณ  ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. 200~ ์š”์ฒญํ•œ ๋™์ž‘์„ ์ดํ•ดํ–ˆ๊ณ  ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. 200 = ์š”์ฒญ์„ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ–ˆ์Œ. 201 = ์„ฑ๊ณต์ ์œผ๋กœ ์š”์ฒญ๋˜์—ˆ์œผ๋ฉฐ ์„œ๋ฒ„๊ฐ€ ์ƒˆ๋ฆฌ์†Œ์Šค๋ฅผ ์ž‘์„ฑํ–ˆ์Œ 202 = ์š”์ฒญ์„ ์ ‘์ˆ˜ํ–ˆ์ง€๋งŒ ์•„์ง ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์•˜์Œ. 203 = ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์ง€๋งŒ ๋‹ค.. 2021. 3. 17.
[iOS] ์• ํ”Œ์ง€๋„์— ์›ํ•˜๋Š” ์œ„์น˜์— ๊ธ€์”จ์™€ ์ด๋ฏธ์ง€ ๋„ฃ๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์ €๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์• ํ”Œ์ง€๋„์— ์›ํ•˜๋Š” ์œ„์น˜ ํ‘œ์‹œํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋Š”๋ฐ์š”. (ํ˜น์‹œ ์•ˆ๋ณด์‹  ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ๋ฅผ ํ†ตํ•ด์„œ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”!) ์—ฌ๊ธฐ์„œ ๋” ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์„œ ์›ํ•˜๋Š” ์œ„์น˜์— ์ €๋ ‡๊ฒŒ ์ •ํ•ด์ง„ ๋งˆํฌ ํ‘œ์‹œ๋ง๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋‚˜ ๋ ˆ์ด๋ธ”์„ ๋„ฃ์„ ์ˆ˜ ์—†์„๊นŒ? ํ•˜๋‹ค๊ฐ€ ์ฐพ์•„๋‚ด์„œ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ MKMapViewDelegate ๋จผ์ € ์ง€๋‚œ ์‹œ๊ฐ„์— ๋งˆํฌ๋ฅผ ํ‘œ์‹œํ–ˆ๋˜ ViewController์— MKMapViewDelegate๋ฅผ ์ฑ„ํƒํ•ด์ฃผ์„ธ์š”! class ViewController: UIViewController ,MKMapViewDelegate{ override func viewDidLoad() { super.viewDidLoad() mapView.delegate = self.. 2021. 3. 16.
[iOS] ์• ํ”Œ์ง€๋„ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ์œ„์น˜ ํ‘œ์‹œํ•˜๊ธฐ(Mark Location Using MapKit) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์•Œ์•„๋ณผ๊ฑด ์ฝ”์ฝ”์•„ ํ„ฐ์น˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” MapKit์„ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ์œ„์น˜์— ๋งˆํฌ๋ฅผ ํ•ด๋ณผ๊ฑฐ์—์š”. ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~ Storyboard ๊ฐ€์žฅ ๋จผ์ € ์Šคํ† ๋ฆฌ๋ณด๋“œ๋กœ ์ด๋™ํ•ด์„œ Map Kit View๋ฅผ ๊ฒ€์ƒ‰ํ•œ ๋’ค ์•„๋ž˜์™€ ๊ฐ™์ด ViewController์— ์„ธํŒ…ํ•ด์ฃผ์„ธ์š”! ViewController ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์™€์„œ ์Šคํ† ๋ฆฌ๋ณด๋“œ์—์„œ ๋งŒ๋“ค์–ด์ค€ mapkitview๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์„ธ์š”! @IBOutlet weak var mapView: MKMapView! Marker ๊ทธ ๋‹ค์Œ ์›ํ•˜๋Š” ์œ„์น˜์— ํ‘œ์‹œ๋  Marker ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. title๊ณผ subtitle์€ ์›ํ•˜๋Š” ์œ„์น˜๋ฅผ ํ„ฐ์น˜ํ–ˆ์„๋•Œ ์ด๋ฆ„๊ณผ ์„ค๋ช…์„ ๋œปํ•˜๊ตฌ์š”. coordinate๋Š” ์›ํ•˜๋Š” ์œ„์น˜๋ฅผ ์œ„๋„์™€ ๊ฒฝ๋„๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. impor.. 2021. 3. 15.
[Swift] 2021 KAKAO BLIND RECRUITMENT ๋ฉ”๋‰ด ๋ฆฌ๋‰ด์–ผ(Youtube ํ’€์ด ํฌํ•จ) Youtube Source Code P.S ๋ชจ๋“  ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‚ด ํž˜์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ์„œ ์–ด์ฐŒ ๋ชจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ํ†ต๊ณผ๋Š” ํ–ˆ์ง€๋งŒ ์•„๋ž˜์™€ ๊ฐ™์ด ์™ผ์ชฝ์€ ์œ„์˜ ์ฝ”๋“œ๋กœ ํ‘ผ ๊ฒƒ์ด๊ณ  ์˜ค๋ฅธ์ชฝ์€ ๋‚ด๊ฐ€ ๋งŒ๋“  ์กฐํ•ฉ์œผ๋กœ ํ‘ผ ๊ฒƒ์ด๋‹ค. ๋ณด์‹œ๋‹ค์‹œํ”ผ ์•ฝ 2๋ฐฐ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค.... ๋‚˜์ค‘์— ์กฐํ•ฉ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋ฉด ์œ„์˜ ์ฝ”๋“œ๋กœ ํ’€์–ด์•ผ๊ฒ ๋‹ค. 2021. 3. 13.
728x90
๋ฐ˜์‘ํ˜•