๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ1721

์ฟ ํŒก์ด์ธ  ๋ฐฐ๋‹ฌ 1. ์ฟ ํŒก์ด์ธ  ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค ๊ฐœ์š” ์ฟ ํŒก์ด์ธ ๋Š” ์ฟ ํŒก์ด ์ œ๊ณตํ•˜๋Š” ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค ํ”Œ๋žซํผ์œผ๋กœ, ๊ตญ๋‚ด ์ตœ๋Œ€์˜ ์˜จ๋ผ์ธ ์‡ผํ•‘๋ชฐ์ธ ์ฟ ํŒก๊ณผ ์‹๋‹น ๋ฐ ๊ฐ€๊ฒŒ๋“ค์ด ํŒŒํŠธ๋„ˆ์‹ญ์„ ๋งบ๊ณ  ์†์‰ฝ๊ฒŒ ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ฟ ํŒก์ด์ธ  ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค๋Š” ์‚ฌ์šฉ์ž๋“ค์ด ์ฟ ํŒก ์•ฑ ๋˜๋Š” ์›น์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์ฃผ๋ฌธํ•˜๊ณ , ์ง€์ •๋œ ์‹๋‹น์—์„œ ์ค€๋น„๋œ ์Œ์‹์„ ๋ฐฐ๋‹ฌ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๊ณ ๊ฐ๊ณผ ๊ฐ€๊ฒŒ ์‚ฌ์ด์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. 1.1 ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค์˜ ์›๋ฆฌ ์ฟ ํŒก์ด์ธ  ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ฃผ๋ฌธ๋œ ์Œ์‹์„ ์‹ ์†ํ•˜๊ฒŒ ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ฟ ํŒก ์•ฑ ๋˜๋Š” ์›น์‚ฌ์ดํŠธ์—์„œ ์ฃผ๋ฌธ์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ์ฃผ๋ฌธ์€ ๊ฐ€๊นŒ์šด ์ง€์—ญ์˜ ํŒŒํŠธ๋„ˆ ๊ฐ€๊ฒŒ์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€๊ฒŒ์—์„œ๋Š” ์ฃผ๋ฐฉ ์Šคํƒœํ”„๋“ค์ด ์Œ์‹์„ ์ค€๋น„ํ•˜๊ณ , ๋ฐฐ๋‹ฌ์›์ด ์ด๋ฅผ ํ”ฝ์—…ํ•˜์—ฌ ๊ณ ๊ฐ์˜ ์œ„์น˜๋กœ ๋ฐฐ๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ์€ ํŽธ.. 2023. 10. 19.
๋Œ€๊ตฌ ์ฟ ํŒก ํ”Œ๋ ‰์Šค 1. ๋Œ€๊ตฌ ์ฟ ํŒก ํ”Œ๋ ‰์Šค ์†Œ๊ฐœ ๋Œ€๊ตฌ ์ฟ ํŒก ํ”Œ๋ ‰์Šค๋Š” ๋Œ€๊ตฌ ๋‚ด ์ฟ ํŒก์—์„œ ์šด์˜๋˜๊ณ  ์žˆ๋Š” ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ฟ ํŒก ํ”Œ๋ ‰์Šค๋Š” ํ”Œ๋ ‰์„œ๋ธ”ํ•œ ๋ฐฐ๋‹ฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ํ•„์š”ํ•œ ์‹œ๊ฐ„์— ๋ฐฐ๋‹ฌ์›์œผ๋กœ์„œ ์ผํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํŒก ํ”Œ๋ ‰์Šค๋Š” ๊ธฐ์กด์˜ ํƒ๋ฐฐ ์„œ๋น„์Šค์™€๋Š” ๋‹ค๋ฅธ ํ˜์‹ ์ ์ธ ์‹œ์Šคํ…œ์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํƒ๋ฐฐ ์„œ๋น„์Šค์—์„œ๋Š” ๊ณ ์ •๋œ ๋ฐฐ๋‹ฌ ์‹œ๊ฐ„์— ์ผ๊ด„์ ์œผ๋กœ ๋ฐฐ์†ก์ด ์ด๋ฃจ์–ด์ง€์ง€๋งŒ, ์ฟ ํŒก ํ”Œ๋ ‰์Šค๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฐฐ๋‹ฌ ์š”์ฒญ์— ๋Œ€ํ•ด ๋ฐฐ๋‹ฌ์›๋“ค์ด ๊ฐ€๊นŒ์šด ์ง€์—ญ์—์„œ ํ”ฝ์—…ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ๋ฐฐ์†กํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ตฌ ์ฟ ํŒก ํ”Œ๋ ‰์Šค๋Š” ์‹ ์†ํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐฐ๋‹ฌ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋งŽ์€ ์†Œ๋น„์ž๋“ค์—๊ฒŒ ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ๋น„์ž๋“ค์€ ์ฟ ํŒก์—์„œ ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ์„ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐฐ๋‹ฌ์›๋“ค์€ ์ž์œ ๋กญ๊ฒŒ ์ผํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ.. 2023. 10. 19.
ํ”„๋ก์‹œ ํŒจํ„ด(Proxy Pattern)์— ๋Œ€ํ•˜์—ฌ 1. ํ”„๋ก์‹œ ํŒจํ„ด์˜ ๊ฐœ์š” ํ”„๋ก์‹œ ํŒจํ„ด์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋กœ, ๋‹ค๋ฅธ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋Œ€๋ฆฌ์ž(Proxy) ๋˜๋Š” ๋Œ€์‹ ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ œ๊ณตํ•˜๋Š” ํŒจํ„ด์ด๋‹ค. ์ด ํŒจํ„ด์€ ์‹ค์ œ ๊ฐ์ฒด์˜ ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ณ  ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋ฉฐ, ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ์‚ญ์ œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค. ํ”„๋ก์‹œ ํŒจํ„ด์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์™€ ์‹ค์ œ ์„œ๋น„์Šค ๊ฐ์ฒด ๊ฐ„์˜ ๊ฐ•ํ•œ ๊ฒฐํ•ฉ์„ ์•ฝํ™”์‹œ์ผœ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์œ ์—ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. ๋˜ํ•œ, ํ”„๋ก์‹œ๋Š” ์„œ๋น„์Šค ๊ฐ์ฒด์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง์ ‘ ์‹ค์ œ ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ํ•„์š”๊ฐ€ ์—†๊ฒŒ ํ•ด์ค€๋‹ค. ์ด์ œ ๋‹ค์Œ ํ•ญ๋ชฉ์—์„œ ํ”„๋ก์‹œ ํŒจํ„ด์˜ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. 2. ํ”„๋ก์‹œ ํŒจํ„ด์˜ ๊ตฌ์„ฑ ์š”์†Œ ํ”„๋ก์‹œ ํŒจํ„ด์€ ์ฃผ๋กœ ์•„๋ž˜์™€ .. 2023. 10. 19.
๊บฝ์€์„  ๊ทธ๋ž˜ํ”„ ๋งŒ๋“ค๊ธฐ (MpAndroidChart) 1. ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋Š” ์‹œ๊ฐ„, ์—ฐ๋ น, ์ˆ˜๋Ÿ‰ ๋“ฑ์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ถ”์„ธ, ํŒจํ„ด, ์ƒ๊ด€ ๊ด€๊ณ„ ๋“ฑ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋Š” ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋ฅผ ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ , ์ ๋“ค์„ ์„ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜์—ด๋˜๋Š” ๊ฒฝ์šฐ์— ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์‹ ๊ฐ€๊ฒฉ ๋ณ€๋™, ๋‚ ์”จ ๋ณ€ํ™”, ํŒ๋งค๋Ÿ‰ ์ถ”์ด ๋“ฑ์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋Š” ๊ฐ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์˜ ์ƒํ•˜๋กœ ์ˆ˜์ง ๋ถ„ํฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„์™€๋„ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋Š” ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ๋ณด๋‹ค ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ์ถ”์„ธ ๋ถ„์„์ด๋‚˜ ๋น„๊ต ๋ถ„์„.. 2023. 10. 19.