iOS์ฑ ๊ฐ๋ฐ๐: ์๋ฏธ ์๋ ๋ฐ์ดํฐ ๋ชจ๋ธ5
๋ฐ์ดํฐ๋ฅผ ๋ง์ด ๋ค๋ฃจ๋ ์ฑ์ผ์๋ก ๋ชจ๋ธ ํ์ค์ํ๋ฅผ ์ ์ฉํ ๋๋ฉ์ธ๋ณ๋ก ๋ชจ๋ธ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ง๋์น๊ฒ ์์ง๋์ด๋ง ์ธก๋ฉด์ด ๊ฐํ๋ค๋ ์๊ฒฌ์ด ์ถฉ๋ถํ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 1๏ธโฃ ๋ฐฑ์๋์์ ๋ช ์ธ๊ฐ ๋ณ๊ฒฝ๋ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ ๋ชจ๋ธ์ ๋งคํํด์ผ ํฉ๋๋ค. 2๏ธโฃ ๋ชจ๋ ๋ชจ๋ธ์ ๋งคํํ๋ ์์ ์ ์ํํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ๋ ๋ฐฐ ์ด์์ผ๋ก ๋๋ฆฌ๊ณ ์์ต๋๋ค. ๐ค ์ด๋ฐ ์๋๋ฆฌ์ค์์๋ ๋ชจ๋ธ ํ์ค์ํ์ ์ฅ์ ์ ๋ณด์ด์ง ์๊ณ ์ฝ๋ ์ค๋ณต๋ง ๋ณด์ ๋๋ค. ๐ก 1๏ธโฃ๊ณผ ๊ฐ์ ์ํฉ์ด ์๊ธฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ชจ๋ธ ํ์ค์ํ๋ฅผ ํฉ๋๋ค! ๋ฐฑ์๋ ๋ช ์ธ๊ฐ ๋ณ๊ฒฝ๋๋ฉด API ๋ชจ๋๋ง ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค. API ๋ช ์ธ๊ฐ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ฐ์ํ๋ฉด API ๋ชจ๋๋ง ๋ณ๊ฒฝ์ํค๊ณ ์ถ์ ๊ฒ์ด ๋ชจ๋ธ ํ์ค์ํ๋ก ์ป๊ณ ์ถ์ ์ฅ์ ์ ๋๋ค. ๋ง์ฝ ๋๋ฉ์ธ๋ณ๋ก ๋ณ๋์ ๋ชจ๋ธ์ด ์์ผ๋ฉด ์ด ๋ณ๊ฒฝ ์ฌํญ์ด UI ๋ฐ Persistance์ ๊ฐ์ ๋ค๋ฅธ ๋ชจ๋๋ก ์ฐ์์ ์ผ๋ก ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ํ ๋ณ๊ฒฝ์ ์ํฅ์ ๋ฐ๋ ๋ชจ๋ ๋ชจ๋์ ๋ค์ ์ปดํ์ผํ๊ณ ๋ค์ ๋ฐฐํฌํด์ผ ํฉ๋๋ค. ์ด์์ ์ผ๋ก๋ ์์ง๋ ์๋ ํ ๋ชจ๋์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ค๋ฅธ ์์ง๋ ์๋ ๋ชจ๋์ ์ํฅ์ ๋ฏธ์น์ง ์์์ผ ํฉ๋๋ค(์ด๋ ต์ต๋๋ค๋ง๐ฅฒ). ์ด๊ฒ์ด ๋ฐ๋ก ๋ชจ๋์ ์ค๊ณ์ ํ์ ๋๋ค๐ ๋ํ ๋ชจ๋ธ ํ์ค์ํ๊ฐ ์ฝ๋๋ฅผ ์ค๋ณตํด์ ์์ ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ ์๊น์๊ฐ ๋งค์ฐ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ด๋ค์ ๊ฒฐ์ฝ ๋์ผํ์ง ์์ต๋๋ค๐ฑ RemoteFeedItem ์ ๋ฐฑ์๋์์ ์์ ํ๋ ๋ชจ๋ธ์ ๋ํ๋ด๊ณ FeedItem์ ์ฐ๋ฆฌ ์ฑ์ ๋๋ฉ์ธ ๋ชจ๋ธ์ ๋ํ๋ ๋๋ค. ๋น์ทํ์ง๋ง ๋ค๋ฆ ๋๋ค. ๋ค๋ฅด๋ค๋ ์ด์ ๋ก ๋ค๋ฅธ ์ด์ ๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฑ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด ๋ฐฑ์๋ ๋ชจ๋ธ์ ์ผ๋ถ ์์ฑ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ฑฐ๋ ํด๋น ๋ชจ๋ธ์ด ํ์๋๋ ๋ฐฉ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ํ, ํ๊ทธ ์ง์ , ์ ์ฅ, ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฑ ๋ฐฑ์๋์ ์์กดํ์ง ์๋ ์ผ๋ถ ์ธ์ฑ ๊ธฐ๋ฅ์ ์์ฉํ๊ธฐ ์ํด ์ฑ ๋ชจ๋ธ์ด ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ํ ๋ชจ๋ธ ํ์ค์ํ๋ฅผ ํตํด ๋ชจ๋์ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ๋ฐ, ์ ์ง ๊ด๋ฆฌ, ํ ์คํธ ๋ฐ ํ์ฅํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฑ์์ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์ ์ฒด API ์ฌ์ด๋์ดํํธ๋ฅผ ๋ค๋ฅธ ๋ฐฑ์๋(์: Firebase)๋ก ๊ต์ฒดํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฑ์ ์ธ๋ถ ์์คํ ๊ณผ ๋ถ๋ฆฌํ๊ธฐ ์ํด ๋๋ฉ์ธ๋ณ ๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ์ง๋ง ์ ์ฒด ์์คํ ์ API ์ธ๋ถ ์ ๋ณด์ ์ฐ๊ฒฐํ ์ง๋ ์์ง๋์ด๊ฐ ๊ฒฐ์ ํ ๋ฌธ์ ์ ๋๋ค. ์ ํ์ ๋ฌธ์ ์ ๋๋คโ