ย
์นดํ๋ก๊ทธ ์์ง ๊ธฐ๋ก์ ์ฆ๊ฑฐ์ ๐ฑ
v1.0.0
2022.05 - 2022.07
ย
์๋ฆฌ(Ari) |
---|
๊ธฐํ
,๋์์ธ
,๊ฐ๋ฐ
๋ชจ๋ ๋ค ์๋ฆฌ๊ฐ ํ์ด์. ๐ตโ๐ซ
ย
๋ชจ์ฌ๋ด์ ๋๋ฌผ์ ์ฒ์ ํ๋ ์ดํ๋ฉด์ ์๋ง์ ์์ดํ ๋ค์ ๋ด๊ฐ ์์งํ๋์ง์ ์ฌ๋ถ๋ฅผ ๊ธฐ๋กํด๋ ์ ์์ด์. (๊ฐ๊ตฌ, ์๋ฌผ, ๋ ์ํผ ๋ฑ...)
์์ดํ ์ ์์ธ์ ๋ณด ๋ฐ ์์งํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ฐ๋จํ๊ฒ ํ์ธํด๋ณผ ์ ์์ด์.
๋ํ ๋๋ฌผ์ ์ฒ์ ์ธ๊ธฐ ์ํฐ์คํธ K.K.์ ์๋ฐ๋ ๋ง๋ณด๊ธฐ๋ก ๊ฐ์ํ ์ ์๋ ๋ชจ๋์ฒ ๊ฐ์ด๋์ฑ์ ๋๋ค. ๐ณ
ย
๐ ๋คํฌ๋ชจ๋ ๋ผ์ดํธ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
๐ฐ๐ท ๐บ๐ธ ์ง์ญํ ์ฒ๋ฆฌ๋ฅผ ํ์ฌ ์์ด, ํ๊ตญ์ด๋ฅผ ์ง์ํฉ๋๋ค.
๐ด ์ฑ ๊ธฐ๋ณธ ์ค์ ์ ํตํด
๋์ ์ฌ ์ ๋ณด
๋ฅผ ํธ์งํ ์ ์์ด์.
๐ ์ค๋ ํ ์ผ์ ํ๋์ง ์ฒดํฌํ๊ณ , ํธ์ง์ ํตํด ํ ์ผ์ ์์ ํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์์ด์.
๐ ๋ง์ ์ฃผ๋ฏผ์ ์ถ๊ฐํ๋ค๋ฉด ๋์๋ณด๋์์ ๋ง์ ์ฃผ๋ฏผ์ ์ ๋ณด๋ฅผ ์์ฝ๊ฒ ํ์ธํ ์ ์์ด์.
โ ๋ง์ ์ฃผ๋ฏผ๊ณผ ๋ํ๋ฅผ ํ๊ฑฐ๋ ์ ๋ฌผ์ ์ฃผ๊ณ ๋ฐ์๋ค๋ฉด ์ฒดํฌํด์ ํ์ํ ์๋ ์์ด์.
๐ ์์งํํฉ์ ํตํด ์์ง ์งํ ์ํฉ์ ํ์ธํ๊ฑฐ๋, ์์ง ํ๋ํ์ง ๋ชปํ ์์ดํ ๋ค์ ํ์ธํ ์ ์์ด์.
(์๋์ผ๋ก ๋ฏธํ๋ ์์ดํ ํํฐ๋งํด์ค๋๋ค. ์๋ฌผ์ด๋ผ๋ฉด ๋น์๋ก ํํฐ๋ง๋์ด ์์ดํ ์ ๋ณด์ฌ์ค๋๋ค.)
๐ ์นดํ๋ก๊ทธ ํญ์ ํ์ฉํ์ฌ ์์งํ ์์ดํ ์ ๊ธฐ๋กํ ์ ์์ด์.
์ฐ์ธก ๋ฒํผ์ ํตํด ์ ๋ ฌ ํน์ ํํฐ๋ง์ ํ์ฌ ์์ดํ ์ ํธ๋ฆฌํ๊ฒ ๋ณผ ์ ์์ด์.
๐ ์์ธ์ ๋ณด๋ฅผ ํตํด ์์ดํ ์ ํค์๋๋ฅผ ํตํด ๊ด๋ จ๋ ์์ดํ ์ ํ์ํ๊ฑฐ๋, ๋ฆฌํผ๋ ๋ชจ์ต์ ํ์ธํด๋ณผ ์ ์์ด์.
์ ์์ ํตํด ์ป์ ์ ์๋ ์์ดํ ์ ๊ฒฝ์ฐ, ๋ ์ํผ ํ๋๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ํ์ํ ์ฌ๋ฃ๋ ์ถ๊ฐ๋ก ๋ณด์ฌ์ค๋๋ค.
๐ ์๋ฌผ์ ๊ฒฝ์ฐ ์ด๋์ ์ถํํ๋์ง, ๋ช์์ ์ธ์ ์ถํํ๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธํด๋ณผ ์ ์์ด์.
๐ฐ ๋ง์ ์ฃผ๋ฏผ์ ๊ฒฝ์ฐ ์์ธํ ํํฐ๋ง์ ํตํด ํธ๋ฆฌํ๊ฒ ์ฃผ๋ฏผ์ ์ฐพ์๋ณผ ์ ์์ด์.
์ข์ํ๋ ์ฃผ๋ฏผ, ๋ด ์ฌ ์ฃผ๋ฏผ์ ๋๋ ์ ํ ๋์ ๋ณผ ์๋ ์์ต๋๋ค.
๐ฆ ์์งํ์ ํตํด ๋ด๊ฐ ์์งํ ์์ดํ ์ ๊ด๋ฆฌํ ์ ์์ด์.
์์งํ ์์ดํ ์ด ์๋ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฒ๋ ํ์ํ์ง ์์ต๋๋ค.
ย
MVVM
- MVVM์ ๋์ ํ์ฌ ๋ทฐ ์ปจํธ๋กค๋ฌ์ ๋ทฐ๋ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ์ญํ ์๋ง ์ง์คํ๊ณ , ๋ฐ์ดํฐ ๊ด๋ฆฌ, ๋ก์ง ์คํ์ ๋ทฐ ๋ชจ๋ธ์์ ์งํ๋๋๋ก ํ์ต๋๋ค.
Input/Output Modeling
- ๋ทฐ๋ชจ๋ธ์ Input๊ณผ Output์ผ๋ก ์ ์ํ์ฌ ๋ทฐ์ ์ด๋ฒคํธ๋ค์ Input์ ๋ฐ์ธ๋ฉํ๊ณ , ๋ทฐ์ ๋ณด์ฌ์ง ๋ฐ์ดํฐ๋ฅผ Output์ ๋ฐ์ธ๋ฉ ํ์ต๋๋ค.
- ์ผ๊ด์ฑ ์๊ณ ์ง๊ด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ ์งํด ๋ทฐ๋ชจ๋ธ์ ์ฝ๋ ๊ฐ๋ ์ฑ์ด ๋์์ก์ต๋๋ค.
Coordinator
- ํ๋ฉด ์ ํ์ ๋ํ ๋ก์ง์ ViewController๋ก๋ถํฐ ๋ถ๋ฆฌํ๊ณ ์์กด์ฑ ๊ฐ์ฒด์ ๋ํ ์ฃผ์ ์ ์ธ๋ถ์์ ์ฒ๋ฆฌํ๋๋ก ํ๊ธฐ ์ํด ์ฝ๋๋ค์ดํฐ๋ฅผ ์ ์ฉํ์ต๋๋ค.
ย
RxSwift
- ์ฐ์๋ escaping closure๋ฅผ ํผํ๊ณ , ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์ ํตํ ๋์ ๊ฐ๋ ์ฑ๊ณผ RX ์คํผ๋ ์ดํฐ๋ค์ ํตํ ํจ์จ์ ์ธ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํด์ RxSwift๋ฅผ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ๋ฐ์ํ๋ ์์ ์์๋ถํฐ ๋ทฐ์ ๊ทธ๋ ค์ง๊ธฐ ๊น์ง ํ๋์ ํฐ Stream์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉ ํ์์ต๋๋ค.
CI/CD ๋น๋ ๋ฐ ํ ์คํธ ์๋ํ
- Github Actions๋ฅผ ํ์ฉํ์ฌ develop ๋ธ๋์น๋ก push๋ฅผ ํ๊ฒ ๋๋ฉด ๋น๋ ๋ฐ ํ ์คํธ๋ฅผ ์คํํ๋๋ก ์๋ํ๋ฅผ ์ฒ๋ฆฌํ์ต๋๋ค.
ย
๐๐ป Thanks to Animal Crossing: New Horizons
spreadsheet
- ์ด ์ฑ์ ์ ์คํ๋ ๋ ์ํธ๋ฅผ ํ์ฉํ์ฌ ๋ง๋
Norviah
์ ๋ ํ์งํ ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ๋๋ฌผ์ ์ฒ ์์ดํ ์ ๊ฐ์ ธ์ต๋๋ค.
๐๐ป Thanks to ACNH API
- ๋๋ฌผ์ ์ฒ์ ์์ , BGM ๋ฑ์ ์ด API๋ฅผ ํตํด ๋ถ๋ฌ์ต๋๋ค
์๋ฆฌ์ ๊ฐ๋ฐ๊ธฐ์ ๋ํด ๋ ์์ธํ ๋ด์ฉ์ด ๋ณด๊ณ ์ถ๋ค๋ฉด, ๋๊ตดํฌํธ Wiki๋ฅผ ๋ฐฉ๋ฌธํด์ฃผ์ธ์.