Project "Slideshow"
์ํฐํด ์ ๋ณด
- ๋ฅ์ง
- Tool & Service
- ๋ถ๋ฅ
- Extra
- ๋ฑ๋ก์ผ
- 2021-05-31 18:33:52
- date: 2021-05
- tool: Sketch, PhpStorm, vue3, Illustrator
- GitHub: https://github.com/redgoose-dev/slideshow
- Demo: https://redgoose-dev.github.io/slideshow/
- Service: https://slideshow.redgoose.me/
์ฌ์ง์ ํ๋ฆฌ๋ทฐํ๋ ์ฌ๋ผ์ด๋์ผ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ๊น์ง์ ์ด์ผ๊ธฐ๋ฅผ ํ์ด๋ณด๊ณ ์ ํ๋ค.
์ฌ๋ผ์ด๋์ผ ์ ์ ์์ํ๊ธฐ
2020๋
๋ถํฐ ๊ฐ์กฑ ์จ๋ฒ์ ์๋ ์ฌ์ง๋ค์ ์ค์บํ๊ณ ํ๋ฐ์์
์ ํ๊ณ ์์๋ค.
์ข
์ด ์ฌ์ง์ ๋์งํธ ์ด๋ฏธ์ง๋ก ๋ณํ ์์
์ ํ๋ฉด์ ๋ฌธ๋ ๋จ์ํ ๋ณด๊ด๋ง ํ๋๊ฒ๋ณด๋ค ์ด๊ฒ๋ค์ ์ด๋ป๊ฒ ํ์ฉํ ์ ์์๊น.. ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
์ด์งํผ ๊ธฐ๋ก๋ค์ ๊ณต๊ฐํ๊ณ ์ถ๊ธฐ๋ ํ๊ณ ์ฌ์ง๋ค์ ํํํ ์ ์๋ ๋๊ตฌ๊ฐ ํ์ํด ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ค ๋ฌธ๋ ์์ ์ ๋ง๋ค์๋ ์ฌ๋ผ์ด๋์ผ ํ๋ก๊ทธ๋จ ์ ๋ณด๊ฒ ๋์๋ค. ์ด ํ๋ก๊ทธ๋จ์ ์จ๋ฒ ์ฌ์ง๋ค์ ๋ฃ์ด์ ๋ฐฉ๋ฌธ๊ฐ์๊ฒ ๋ณด์ฌ์ค ์ ์๋ค๋ฉด ๋์์ง ์์๊ฑฐ ๊ฐ์ ๋ณด์๋ค.
๊ธฐ์กด์ ๋ง๋ ์ฌ๋ผ์ด๋์ผ ํ๋ก๊ทธ๋จ์ ํ์ฌ ์๋น์ค์์ ์ฌ์ฉํ๊ธฐ ์ํ์ฌ ๋ง๋ค์ด ์ก๊ณ , ๋ง์ ๊ฒ๋ค์ ๊ฐ์ ํด์ผํ ํ์๊ฐ ์์ด ์๋ก ๋ง๋ค์ด๋ณผ ๊ฒฐ์ฌ์ ํ๊ฒ ๋์๋ค.
์ฌ๋ผ์ด๋์ผ ๊ตฌ์
๊ธฐ์ด์ ์ธ ๋ชจ์ต์ ์ ์ ๋ง๋ค์๋ ์ฌ๋ผ์ด๋์ผ์ ๊ฒ๋ค์ ๋๋ถ๋ถ ์ฐจ์ฉํ์ฌ ๋ฆฌ๋ฉ์ดํฌ ๊ฐ์ ๋ชจ์ต์ ๋ชฉํ๋ก ๊ตฌ์์ ํ์๋ค.
์๊ฐ์ด ๋๋ฉด ์ด๋ฏธ์ง ์ฌ๋ผ์ด๋์ผ ํฌ์คํธ์๋ค ๋ฅ์น๋๋๋ก ๊ธฐ๋กํด ๋์๋ค. ๋ ์ค๋ฅด๋ ์๊ฐ์ ์ด๋์๊ฐ์๋ ๊ณ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ์ด๋๋ ์ง ๊ธฐ๋กํ์ฌ ํ๊ตฐ๋ฐ์ ์ด๋ ๊ฒ ๋ชจ์๋์๋ค.
๋์์ธ์ ๋ํ ๊ตฌ์์ ๊ทธ๋ค์ง ๊ณ ๋ฏผํ์ง ์์๋ค. ๊ธฐ์กด์ ๋ง๋ค์๋ ์ฌ๋ผ์ด๋์ผ์ ์์ ๋ฐฐ์น๋ ํฌ๊ฒ ์๋ชป๋์๋ค๊ณ ์๊ฐ๋์ง ์์์ ๊ทธ๋ค์ง ๋ ์ข์์ง๋ ๋ชจ์ต์ด ๋ ์ค๋ฅด์ง๋ ์์๋ค.
์ฌ๋ผ์ด๋์ผ์์ ๊ฐ์ฅ ๊ธฐ์ด์ ์ผ๋ก ํ์ํ ๊ธฐ๋ฅ์ ์ฌ์ง์ ํ์ฅ์ฉ ๋๊ธฐ๋ฉด์ ๊ด๋ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
์ด๊ฒ์ ๊ธฐ์ด๋ก ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐ๋ก ๋ง๋ถ์ฌ์ ธ ์ธ๋งํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ๋ก ๊ฑฐ๋ญ๋ ๊ฒ์ด๋ค.
๊ตฌ์ํ ์ ์ ์๊ฐ๋๋ ๊ธฐ๋ฅ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- ํ์ฅ์ฉ ๋๊ฒจ๊ฐ๋ฉฐ ์ฌ์ง์ ๋ณด๊ธฐ
- ์๋์ฌ์
- ๋ณด์ฌ์ค ์ฌ์ง๋ค์ ๊ด๋ฆฌ
- ์ฌ๋ผ์ด๋์ผ์ ํ ๋ง ๋์์ธ
- ํค๋ณด๋ ๋จ์ถํค
- ์ฌ๋ผ์ด๋ ์บก์
- ๋ค๊ตญ์ด ์ธ์ด
- ์ฌ๋ผ์ด๋์ ํธ๋์ง์ ์ต์
์ด์ ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์๊ฐ์ ํ๋ ค๋ ๊ธ๋ฐฉ ๋๋ ๊ฑฐ๋ผ๋ ๋๋์ด ์ ํ ๋ค์ง ์๋๋ค. ํ์ง๋ง ๊ผญ ํ์ํ ๋๊ตฌ์ด๊ธฐ๋ ํ๊ณ ์ด๋ฐ๊ฑฐ ํ๋๋ผ๋ ๊ฐ์ง๊ณ ์์ผ๋ฉด ์ฌ์ง ๊ฐ์์ ๋ง์ ๋์์ด ๋ ์ ์์๊ฒ์ด๋ผ ํ์ ํ๋ค.
์ง๊ธ๊น์ง ๊ธฐ๋กํ๋๊ฒ๋ค์ ์ฝ์ด๋ณด๊ณ ์ด๋ป๊ฒ ์งํํด์ผํ ์ง์ ๋ํ์ฌ ์ ํ๊ณ ์์ฑ์ ์ข๋ ๊ตฌ์ฒดํ ์ํฌ ์ ์๋๋ก ๋ค์ ๋จ๊ณ์ธ ๋์์ธ ์์
์ผ๋ก ๋์ด๊ฐ๋ค.
๊ตฌ์์ ๊ตฌ์์ผ๋ฟ.. ๋์์ธ๊ณผ ๊ฐ๋ฐ๋จ๊ณ๊น์ง ์งํํ๋ค๋ณด๋ฉด ์ฒ์์ ์๊ฐํ๋ ๋ชจ์ต๊ณผ ์ฝ๊ฐ ๋ณํด์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๊ฒ ๋๋ค๋ณด๋ ๊ตฌ์ฒด์ ์ผ๋ก ๊ตฌ์ํ์ง ์๋ ํธ์ด๋ค.
๋์์ธ
๊ตฌ์ ๋จ๊ณ์์ ์์ด์ดํ๋ ์ ์์
์ ๊ทธ๋ค์ง ์ ๊ฒฝ์ฐ์ง ์์๋ค.
๊ธฐ์กด์ ๋์๊ฐ๊ณ ์๋ ์ฌ๋ผ์ด๋์ผ์ ๋ง์ด ๋น์ทํ ๋ชจ์ต์ผ๋ก UI๋ฅผ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ฌ์ด์ฆ๋ ๊ฐ๊ฒฉ, ์ปฌ๋ฌ๊ฐ์ ์คํ์ผ ๊ฐ์ด๋๋ฅผ ํ์ ์ง๊ธฐ ์ํ์ฌ ๊ฑฐ์น๋ ๋์์ธ ์ ์์ ๊ผญ ํ์ํ ๊ณผ์ ์ด๋ค.
UI ์ ์์ ์ต์ํ ํด์ธ Sketch๋ฅผ ์ด์ด ๋ณธ๊ฒฉ์ ์ธ ์์
์ ์์ํ๋ค.
๋ ์ด์์์ ์ ์ ๋ง๋ค์๋ ์ฌ๋ผ์ด๋์ผ์ ๋ชจ์ต์ ์ฐธ๊ณ ํ๋ฉด์ ์งํํ๋ค. ๊ฐ์ฅ ์ค์ํ ์์๊ฐ ์ฌ๋ผ์ด๋์ ์ฌ์ง์ด๋ผ์ ์ฌ์ง ๊ฐ์์ ๋ฐฉํด๋๋ ์์๋ค์ ์ต๋ํ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ๋ฐฉํดํ์ง ์๋๋ก ๋
ธ๋ ฅํ๋ค.
์ ๋งํ๋ฉด ์ปจํธ๋กค ์์๋ค์ ์ ๋ถ ๊ฐ๋ฆฌ๊ณ ์ถ์ง๋ง ์กฐ์๋ ๋๋จํ ์ค์ํ ์์์ด๊ธฐ ๋๋ฌธ์ ๊ผญ ํ์ํ ์ธํฐํ์ด์ค๋ฅผ ๋จ๊ฒจ๋๊ณ ๋จ์ถํค๋ ์ค์ ์ผ๋ก ์ปจํธ๋กค์ด๋ ์ํํ์ ์์๋ค์ ์กฐ์ํ ์ ์๋๋ก ๊ธฐ๋ฅ์ ๋ง๋ค๊ฒ๋ค์ ๋ฐ๋ก ๊ธฐ๋กํด ๋์๋ค.
์ฌ๋ผ์ด๋์ผ์ ๋ชฉ์ ์ ์ฌ์ง์ ๊ฐ์ํ๋ ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ปจํธ๋กค์ด๋ ์ํ ์์๋ค์ ์ ๋ถ ๋ฐ๊นฅ์ชฝ์๋ค ๋นผ๊ณ ์ต๋ํ ์์ด์๋ ๋ชจ์ต์ผ๋ก ๋ง๋ค์ด ๋ณด์๋ค.
ํ์ง๋ง ๋์ค์ ํ
์คํธ ๋จ๊ณ์์ ์๋์ฌ์ ์ํ๋ฅผ ํ ๊ธํ๋ ๋ฒํผ์ ๋ฌด์ฑ์์ผ๋ก ๋๋ ์๋์ฌ์์ด ๋๊ณ ์๋์ง ๊ตฌ๋ถ์ด ๋์ง ์์์ ์๋์ฌ์ ํ๊ณ ์์๋ ๊ฐ์กฐ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
์ ์ฒด์ ์ธ ์ฌ๋ผ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ ๊ธฐ๋ฅ์ด ํ์ํ ๊ฑฐ ๊ฐ์ ์์ ์ฌ์ด์ฆ๋ก ๋ชจ๋ ๋ณผ ์ ์๋ ํ๋ฉด๋ ๋์์ธํ๋ค.
ํ๊ฒฝ์ค์ ํ๋ฉด ์์ ํ๋๋ฐ ๋ง์ ํผ๋ค์ด ํ์ํ๋ค. ๊ทธ๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ ์๊ณผ ํผ๋ค์ ๋์์ธ์ ์คํ์ผ ๊ฐ์ด๋ ์์ญ์์ ์์ ํ๊ณ ํ๊ฒฝ์ค์ ํ๋ฉด์๋ค ํผ ์์๋ค์ ๋ฃ์ด ์กฐ๋ฆฝํ๋ค.
์ฒ์์๋ ๋ฐ์คํฌํ ์ ์ฉ์ผ๋ก ๋ง๋ค ์๊ฐ์ด์์ง๋ง ํน์๋ ์ถ์ด ๋ชจ๋ฐ์ผ ์ฌ์ด์ฆ ๋์์ธ๋ ์์
ํด ๋์๋ค.
๊ทธ๋ฐ๋ฐ ๋ชจ๋ฐ์ผ ์ฌ์ด์ฆ ์ง์์ ์กฐ๊ธ ์๋ชป ์ ํํ๊ฒ์ด ์๋๊ฐ ์ถ์ ์ ๋๋ก ์ผ์ด ๋ง์์ง๊ณ ๊ทธ๋ค์ง ์ฌ์ฉํ์ง ์์๊ฑฐ๋ผ ๋๊ปด์ง๋ค.
๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ
๋์์ธ ์์
์ ๋๋ด๊ณ ๋ณธ๊ฒฉ์ ์ธ ๊ฐ๋ฐ์์
์ ํ๊ธฐ ์์ ๊ฐ๋ฐ ์คํ์ ์ด๋ค์์ผ๋ก ์ก๊ณ ๊ฐ์ง ๊ณ ๋ฏผ์ ํ๊ฒ ๋์๋ค.
ํ๋ก์ ํธ๋ SPA๋ก ์์
ํ ์์ ์ด๊ธฐ ๋๋ฌธ์ vue๋ react๋ฅผ ์ฌ์ฉํ ์์ ์ด์๋ค. ๋ค์ react๋ก ๊ฐ๋ฐํด๋ณผ๊น ์๊ฐ์ ํ์ง๋ง ๋ญ๊ฐ ์คํ์ ํ๋๊ฒ๋ณด๋ค ์ค์ง์ ์ผ๋ก ์ ์์ ํด์ผํ๋ ๋จ๊ณ์ด๊ธฐ ๋๋ฌธ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋ค๋ฉด UI ์ ์์ ์ข ๋ ์ง์ค์ ํ ์ ์์๊ฒ์ด๋ค. (๊ฐ๋ฐ์ ์ง์คํ ๋๊ฐ ์๋๋ผ๋ ๊ฒ..)
๋น ๋ฅธ ์ ์์ด ํ์ํ์ฌ vue 3๋ก ์ ์ํ๊ฒ ๋์๋ค.
์ต๊ทผ์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ vue 3๋ก ๋ง๋ค์ด๋ณด๋ ์๋นํ ๊ด์ฐฎ์ ์์ค์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ ์ ์์๋ค. ๊ทธ๋ฆฌ๊ณ vue 2์์ ์ฌ๋ฌ๋ชจ๋ก ์ข ๋ ๋์์ง์ ๋๋ ์ ์์๊ณ , ๋ฑํ ์์
์งํ์ ๋งํ์ง ์์๊ฑฐ๋ผ ๋๊ปด์ ธ ์ผ๋จ vue 3 ๋ฒ ์ด์ค๋ก ํ๊ฒฝ์ ๊ตฌ์ถํ๋ค.
์ด๋ฒ์๋ ํ์
์คํฌ๋ฆฝํธ ์ฌ์ฉ์ ๋์ ํด๋ณผ๊น ์ถ์ด ๊ฐ๋ฐํ๊ฒฝ์ ํฌํจ์์ผฐ๋ค.
๊ทธ๋ฆฌํ์ฌ ๊ฐ๋ฐ์คํ์ ๋ค์๊ณผ ๊ฐ๋ค.
- vue
- vue-i18n
- vuex
- scss
์ด๋ ๊ฒ ์ฌ์ฉํ๋ ๋ํ๋์๊ฐ ์ผ๋ง ์๋๋ ์ด์ ๋ ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒ์ด๋ค.
ํนํ ์ด๋ฏธ์ง ์บ๋ฌ์
๋ถ๋ถ์ ์ง์ ๋ง๋ค๊ฒ ๋ค๊ณ ์์ ํ๊ณ ์์ด์ ์์ธกํ ์ ์๋ ์ธ๋ถ ๋ฆฌ์์ค์ ์์ ๋ง์ด ์ค์ผ ์ ์์๋ค.
์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ปดํฌ๋ํธ๋ค์ ๋ง์ ์ฌ๋๋ค์ ์ํ ๊ธฐ๋ฅ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋ฉ์น๊ฐ ๋๋จํ ํฐ ํธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํผํฌ๋จผ์ค ์ต์ ํ์ ๋ํ ์ ํ์ง๊ฐ ์ข์์ ธ์ ์ ๋๋ก ์ฌ๋ผ์ด๋์ผ๋ฅผ ๋ง๋๋ ์ด์ ๊ฐ ์์ด์ง๋ ๋๋์ด ๋ค์ด ๊ธฐ์ด์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ช๊ฐ๋ง ์ค์นํ๊ณ ์ง์ ์ ์์ ๋ค์ด๊ฐ๋ค.
๊ฐ๋ฐ์ ์ด๋์ ๋ ์งํํ๋ฉด์ ๋ฐ์คํฌํ ์ฑ์ผ๋ก ๋น๋ํ๋ Electron์ ์ด์ฉํ์ฌ ํ ์คํธ๋ ํด๋ณด์๋๋ฐ ๊ฐ๋ฐ ์์ญ๊ณผ ๊ฐ์ด ๋ฃ์ด๋ฒ๋ฆฌ๋ ๊ฐ๋ฐ ์์ญ์ด ๋ณต์กํด์ ธ ๋ฒ๋ ค ๋ฐ์คํฌํ ์ฑ ๋น๋์์ญ์ ๋ธ๋ ์น๋ก ๋๋์ด์ ์งํํ๋๋ก ํ๊ฒฝ์ ๋ง๋ค์๋ค.
๊ฐ๋ฐ
๋๋์ด ๋ชจ๋ ์ค๋น๋ฅผ ๋๋ด๊ณ ๊ฐ๋ฐ์์ ์ ๋์ ํ๋ค.
vue๋ javascript ์ฝ๋๋ก ์์ฑํ์ง๋ง ์ฌํ๊น์ง ๋๊ปด๋ณธ ๋ฐ๋ก๋ react์ ๋นํด์ html/css ์นํ์ ์ด๋ผ๊ณ ๋๋๋ค. ๊ทธ๋์ ๋ญ๊ฐ ๋ง๋ค๋๊ฐ ์ค๋ฉด ์์ฃผ vue๋ฅผ ์ ํํ๊ฒ ๋๋ค. (์์ฆ์๋ svelte ํ๋ ์์ํฌ๊ฐ ์๋นํ ์ข์ ๋ณด์ธ๋ค.)
์๋ฌด๊ฒ๋ ์๋ ์ํ์์ ์ปดํฌ๋ํธ๋ฅผ ํ๋์ฉ ๋ง๋ค์ด๊ฐ๋ฉด์ ์ฒ์์๋ ์์กฐ๋กญ๊ฒ ์ถ๋ฐํ๋ค.
์ฌ๋ผ์ด๋
์ฒซ๋ฒ์งธ ๋๊ด์ ์ฌ๋ผ์ด๋ ํธ๋์ง์
๊ธฐ๋ฅ์ ๋ง๋๋ ์ผ์ธ๋ฐ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉ๋ง ํด๋ดค์ง ์ง์ ๋ง๋ค์ด๋ณธ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๊ณผ์ฐ ์ด ๊ธฐ๋ฅ์ ๋ง๋ค ์ ์์๊น ๋ถ์๊ฐ์ด ๋ค์์ง๋ง ์์ ๊ธฐ๋ฅ๋ค์ ๋ฆฌ์คํธ์
์ ํ์ฌ ํ๋์ฉ ๋ง๋ค์ด๋ณด๋ ์ด๋์ ํ๋์ ํธ๋์ง์
๊ธฐ๋ฅ์ด ๋ง๋ค์ด์ก๋ค.
ํ์ง๋ง ์ฑ๋ฅ ๊ด๋ จํด์ ์ฒ์ ๊ฒช์ด๋ณด๋ ๋ฌธ์ ๋ ์ผ์ด๋๋ค. ํธ๋์ง์
์ ๋๋ฉ์ด์
์ด ์ผ์ด๋ ๋์ ์ฑ๋ฅ์ด์, ์ด๋ฏธ์ง๋ฅผ ํ๋ฒ์ ๋ถ๋ฌ์ค๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํ๋ ์ด์, ์๊ฐ๋ฝ์ผ๋ก ๋ฐ์ด๋น๊ธธ๋์ ์ธํฐ๋์
, ์๋์ฌ์๊ณผ ์ฐ๊ฒฐ๋ ๊ธฐ๋ฅ ๋ฑ๋ฑ.. ๊ฒ์ผ๋ก๋ ๋จ์ํ ์ฌ์ง์ ํ ๊ธฐ๋ฅ์ด์ง๋ง ์์ ๊ธฐ๋ฅ๋ค์ด ๋ง์ด ์ฝํ๊ณ , ์ปจํธ๋กค์ ๊ดํ ์ด๋ฒคํธ๋ค์ ๋ถ๋๋ฝ๊ฒ ์ฐ๊ฒฐ์์ผ ์ค์ผํ๋ค.
์ฝ๋ ์์ฑํ๋ฉด์ ์ค๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ํฌ์คํ ์ ํ์ ๋ ์์๋ค.
์ฒ์์๋ ๋จ์ํ๊ฒ ๋ง๋ค์ด์ง๋ ์ถ์์ง๋ง ๊ฒฐ๊ตญ์๋ ์ปดํฌ๋ํธ์ ์ฝ๋๋ ์๋นํ ๋ณต์กํด์ ธ ๋ฒ๋ฆฐ๋ค.
์์ฌ์ ๋ฒ๋ฆฌ๊ณ ์ฝ๊ฐ ์์ฐ๋ ๊ธฐ๋ฅ๋ค์ ๋ค ๋นผ๋ฒ๋ฆฌ๋ฉด ๋จ์ํด์ง ์ ์์ง๋ง ๊ทธ๋ ์ง ๋ชปํ๋ฉด ๊ดํ ๋ณต์กํด์ ธ ๋ฒ๋ฆฌ๊ณ ์ค๋ ์ ์งํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ ๊ฒ์ธ๋ฐ ์ฝ๋์ ์ค๊ณ๋ฅผ ์ฝ๊ฒ ํ์ด๋๊ฐ๋ ๋ฐฉ๋ฒ์ ์ธ์ ๋ ์ด๋ ต๋ค.
์ ์์ ์์๋ ์ฌ๋ผ์ด๋ -> ๋ค๋น๊ฒ์ด์
-> ํ๊ฒฝ์ค์ ์์๋๋ก ํ๋ฉด๋ค์ ๋ง๋๋๋ฐ ์ปดํฌ๋ํธ๋ณ๋ก ํ๋์ฉ ๋ง๋ค์ด๊ฐ๋ฉด์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ธฐ ์์ํ ๋ UI -> ์ด๋ฒคํธ,๋ฐ์ดํฐ ์์๋๋ก ์์
์ ํ๋ค.
์ด๋ฒ์๋ ์ํ๊ด๋ฆฌ๋ฅผ ์๋นํ ๋ง์ด ์ด์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ vuex๋ฅผ ๊ต์ฅํ ๋ง์ด ์ด์ฉํ๋ค.
ํ๊ฒฝ์ค์
์ฌ๋ผ์ด๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๋ฉด ๋ฐ ์ด์์ ๋๋๋ค๊ณ ์๊ฐํ๋ฉด์ ํ๊ฒฝ์ค์ ์ปดํฌ๋ํธ ์ ์์ผ๋ก ๋์ด๊ฐ๋ค. ์ฌ๋ผ์ด๋ ์ปดํฌ๋ํธ๋ ๋์ด๋๊ฐ ์ด๋ ค์ ์ง๋ง ๋ถ๋์ด ์ ์๊ณ , ํ๊ฒฝ์ค์ ๋ถ๋ถ์ ๋ฐ๋์๋ค.
ํผ ๊ด๋ จ ์ปดํฌ๋ํธ๊น์ง ์ ๋ถ ์๋ก ๋์์ธ์ ํด์ ์ปดํฌ๋ํธ๊น์ง ์ ๋ถ ์๋ก ๋ง๋ค์๋ค. ์ธ์ ๋ ๊ทธ๋ ๋ฏ์ด UI ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ๋งํผ ์ฌ์ฉ๋น๋๊ฐ ์ ์ด์ ์ง์ ๋ง๋๋๊ฒ ํธํ๋ค. ์์ค ๋ฉ์น์ ๋ถ๋ด์ด ์ ์ด์ง๊ณ ์ปค์คํฐ๋ง์ด์ฆ๊ฐ ์์ ๋ก์์ง๊ธฐ ๋๋ฌธ์ ๋ฅ๋ ฅ๋ฐ์ ๊ธฐ๋ฅ์ ๋ง๋๋๊ฒ์ด ์๋๋ฉด ์ ๋งํ๋ฉด ์ง์ ๋ง๋๋ ํธ์ด๋ค.
๋ถ๋์ด ๋ง์ ํ๊ฒฝ์ค์ ์ ์ฝ๋๋ฅผ ์์ฑ์ ์๊ฐ์ด ๊ฝค ๊ฑธ๋ ธ์ง๋ง ๊พธ์คํ ์ด ํ๋ก์ ํธ์ ์ง์ค์ ํ๋ฉด์ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ฐ๋ฐ์ ์งํ์์ผฐ๋ค.
๋ง์ง๋ง์ผ๋ก ์ฌ๋ผ์ด๋์ผ๋ฅผ ์์ํ ๋ ์ํ๋ฅผ ๊ณ์ ์ ์งํ ์ ์๋๋ก localStorage ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์ํ๊ด๋ฆฌ ์
๋ฐ์ดํธ ์ค๊ฐ์ง์ ์์ ๋ญ๊ฐ ๋ณ๊ฒฝ๋๋๊ฒ ์์ผ๋ฉด ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ก ์ ์ฅํ๋๋ก ์ค๋นํด๋๊ณ ๊บผ๋ด์ธ ์ ์๋๋ก ์ค๋นํด๋๋ค.
๊ธฐ๋ฅ์ ํ๋์ฉ ๋ง๋ค์๋ก ์ค์ ๊ฐ๊ณผ ์ฌ๋ผ์ด๋์ ๋ฐ์ดํฐ์ ๋ถ๋์ด ๋ง์ด ๋์ด๋จ์ ์ฒด๊ฐํ๋ฉด์ ๊ธฐ๋ฅ์ ๋ณต์ก๋๊ฐ ์ฌ๋ผ๊ฐ์ ๋๋๋ค.
ํ์ ์คํฌ๋ฆฝํธ
๊ทธ๋ฌ๊ณ ๋ณด๋ ์ฒ์์๋ typescript๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค๊ฐ ์ค๊ฐ์ ๋ค ์ง์๋ฒ๋ ธ๋ค.
vuex์์ ํ์
์คํฌ๋ฆฝํธ์ ๊ดํ ์๋ฃ๋ฅผ ์ฐพ๋๊ฒ ๋๋ฌด ์ด๋ ค์ ๊ณ ์๋ฃ๋ฅผ ์ฐพ๋๋ผ ์๊ฐ์ ๋๋ฌด ํ๋นํ๊ณ ์๋ค๋๊ฒ์ ๊นจ๋ฌ์๊ฒ์ด ๊ฒฐ์ ์ ์ด์๋ค.
๋จ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ ๋ช๊ฐ๋ง ์ ์ฉํ๊ณ ์ ์ง์ ์ผ๋ก ์ฌ์ฉ์ ๋๋ฆฌ๊ณ ์ถ์๋ฐ ๊ทธ๊ฒ ์ฝ์ง๊ฐ ์์๋ค.
ํนํ ์ํ๊ด๋ฆฌ์์ ๋ง์ ๊ฐ์ฒด์ ๊ตฌ์กฐ๊ฐ ์กด์ฌํ๋๋ฐ ์ด๊ฒ๋ค์ ์ธํฐํ์ด์ค๋ก ์ง๋๊ฒ๋ ์์ฐํ๊ฒ ๋๊ปด์ง๋ค. ํ๋ ์ ๋๋ก ๋ง๋ค์ด๋๋ฉด ๊ฐ์ฒด ๊ฒ์ฌ๊ฐ ๋๋จํ ์ฌ์์ง๊ฒ ์ง๋ง ๊ทธ ๊ณผ์ ์ด ๋ง์ ์๊ฐ๊ณผ ์ฝ๋๋ฅผ ์๊ตฌํ๋ค. (ํ๊ฒฝ์ค์ ๊ณผ ์ฌ๋ผ์ด๋ ๋ฐ์ดํฐ ๊ฒ์ฆ์ฝ๋๋ ์ง์ ๋ง๋ค์ด์ผ ํ๋ค.)
ํ์
์คํฌ๋ฆฝํธ๊ฐ ๊ฐ์ฅ ์ด๋ ค์ด ๋ถ๋ถ์ ํ๊ธ ๋ ํผ๋ฐ์ค๊ฐ ๋๋ฌด ๋ถ์กฑํ๊ณ ๊ธฐ์ด์ ์ธ๊ฒ๋ค ํฌ์ฑ์ด๋ค.
๊ฒฐ๊ตญ์ ์์ด ๋ฌธ์๋ค์ ๋ค์ง๊ฒ ๋๋๋ฐ ์๋ฌด๋๋ ์ฌ์ ๋ฅผ ๋๊ณ ํ์ตํ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค๋ฉด ์ฌ์ฉ์ ์ ์ํ ์ ์์ง ์์๊น ์๊ฐํ๋ค.
์ด๋ฒ์๋ ํ์ ์คํฌ๋ฆฝํธ์ ํจ๋ฐฐ ํ์ง๋ง ๋๋ค์ ๋์ ์ ํด๋ณด๊ฒ ์ง.. ใ ใ
์ฌ๋ณผ์ ์
์ผ๋ ํธ๋ก ์ผ๋ก ์ฑ์ ๋น๋ํ๋ คํ๋ ์ฑ ์์ด์ฝ์ด ํ์ํ๊ฒ ๋์๋ค.
์๊ทธ๋๋ ์นํ์ด์ง ํ๋น์ฝ๋ ํ์ํ๊ณ ๋์ค์ ๋์์ธ์ ํ๋ ค๋ฉด ์ฌ๋ณผ ์ ๋๋ ๊ผญ ๋ง๋ค์ด์ผ ํ๋๊ฒ์ ๊นจ๋ฌ์๋ค.
ํ๋ก๊ทธ๋จ์ ๋ค ๋ง๋ค๊ธฐ์ ์ ์ค๊ฐ์ ๊ผญ ํ์ํ ๋ฆฌ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ์ผ์ ์ ์ณ๋๊ณ ์ฐ์ต์ฅ์ ๊บผ๋ด์ ์ฌ๋ผ์ด๋์ผ์ ์ด์ธ๋ฆฌ๋ ์ฌ๋ณผ์ ์ค์ผ์นํ๊ฒ ๋์๋ค.
์ฒ์์๋ ์ฌ์ง๊ฐ์ ํ์์ ์ฌ๊ฐํ์ ์์ง์ด๋ ๋ชจ์ต์ ํํํ ๊น ์๊ฐํด๋ณด๊ณ , ๋์ค์๋ ์ฌ์์ ์์งํ๋ ์ผ๊ฐํ์ ์ค์ฌ์ผ๋ก ๊ทธ๋ ค๋ณด๊ฒ ๋์๋ค. ๋ง์์ด ์ผ๊ฐํ ๋ชจ์ต์ผ๋ก ๋๋ฆฌ๊ณ ์์๋ค.
ํํ์ ๋ํ์ฌ ๊ณ ๋ฏผ์ด ๋๋๊ณ ๋์ ์ผ๋ฌ์คํธ๋ ์ดํฐ ํ๋ก๊ทธ๋จ์ ์ผ๊ณ ์ค์ง์ ์ผ๋ก ์ฌ์ฉํ ์ฌ๋ณผ์ ํํ๋ฅผ ๋ง๋ค์ด๋ณด์๋ค.
์ผ๊ฐํ์ ์ฌ์์ ์์งํ๋ค. ๋ชจ์์ ๋์ด ๋ ์นด๋ก์ ๋์ ๋ถ๋๋ฌ์ด ์ธ์์ ์ค ์ ์๋๋ก ๋ฅ๊ธ๊ฒ ๋ณํํด ๋ณด์๋ค.
๋จ์ํ ์ผ๊ฐํ ํ๋๋ง ๋ถ์ด ์์ผ๋ ๊ฐ์ฑ์ด ์ฝํ์ฌ ์ด๋ป๊ฒ ํด๋ณผ๊น ๊ณ ๋ฏผํ๊ฒ ๋์๋ค.
์ด๋ ๊ฒ ์ผ๊ฐํ์ ์ฌ๋ฌ๊ฐ๋ฅผ ๋ณต์ ํ๊ณ ๊ฒน์ณ์ ๋ธ๋ ๋ฉ๋ชจ๋๋ฅผ ์กฐ๊ธ์ฉ ๋ฐ๊ฟ๋ณด๋ ์ฌ์์ ์์งํ๋ ๋ชจ์ต์ ์ ์ง ์ํค๋ฉด์ ์ฌ๋ฏธ์๋ ํํ๊ฐ ๋์๋ค.
๋๊ฐ์ง ์์ ๋ง๋ค๊ณ ๊ทธ์ค ํ๋๋ฅผ ์ ํํ์๋ค.
๋จ์ ๋ ธ๋์ผ๋ก ๋ชจ๋ฐ์ผ๊ณผ ๋ฐ์คํฌํ ์ฑ ์์ด์ฝ, ์น ๋ธ๋ผ์ฐ์ ํ๋น์ฝ, ๋ฐฐ๋์ ๋ค์ด๊ฐ๋ ์๊ทธ๋์ณ ๋์์ธ, ๋จ๋ ์ธ๋ค์ผ ์ด๋ฏธ์ง.. ๋ฑ๋ฑ ์ฌ๋ฌ๊ฐ์ง ๋ชจ์ต์ผ๋ก ์์ ์ ๋ง๋ค๊ณ ์ฌ๋ณผ ์ ์์ ๋๋๋ค.
ํ ์คํธ์ ์ถ๊ฐ๊ธฐ๋ฅ
์ผ์ฐจ์ ์ผ๋ก ๊ฐ๋ฐ์์ ์ ๋๋ด๊ฒ ๋์๋ค.
๋ง๋ค๋ค๋ณด๋ ๊ธฐ๋ฅ์ด ์๋นํ ๋ง์์ง๋ค๋ณด๋ ํ ์คํธํด๋ณผ ๊ฒ๋ค์ด ์ ๋ง๋ก ๋ง์์ก๋ค. A๊ฐ ์ค๋ฅ๋์ ์์ ํ๋ฉด ๊ณ ์น๋ค๋ณด๋ฉด B๊ฐ ์ค๋ฅ๋์ ๊ณ ์น๋ฉด A๊ฐ ๋ค์ ๊ฐ์ญ์ด ์ผ์ด๋ ์ค๋ฅ๋๋... ์ผ์์~ ์ด๋ฐ ํจํด๋ ๊ฐํน ์ผ์ด๋๊ณ ์ฝ๋ ๊ด๋ฆฌ๊ฐ ์ ์ ์ด๋ ค์์ง๋ค.
ํ ์คํธ ํ๋ฉด์ ํฌ๊ฒ ๊ณ ์ณ์ผ๊ฒ ๋ค ๋ง์๋จน์ ๋ถ๋ถ์ ์ฌ๋ผ์ด๋ ๋ฐ์ดํฐ๊ฐ ๋ฐฐ์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ด ์นดํ ๊ณ ๋ฆฌํ ์ํค๊ธฐ ๋ถ๊ฐ๋ฅํ๋๋ฐ ์๋ฌด๋๋ ์ฌ๋ผ์ด๋๋ฅผ ๊ทธ๋ฃนํ์์ผ ์ฌ๋ฌ๊ฐ์ ์ฌ๋ผ์ด๋ ๊ทธ๋ฃน์ ํ๋ฒ์ ๋ด์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ณจ๋ผ์ ํ๋ ์ด ํ ์ ์๋๋ก ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํฌ๊ฒ ๊ณ ์ณค๋ค.
๋ฐ์ดํฐ์ ๊ตฌ์กฐ๊ฐ ํ์ฅ ์ํค๋ค๋ณด๋ ๋ฐ์ดํฐ๋ฅผ ํธ์งํ ์ ์๋ UI๊ฐ ํ์ํด ๋ณด์๋ค. ๋ฐ์ดํฐ ํธ์ง UI ๊ฐ๋ฐ์ ์ถํ์ ๋ง๋๋ ค ํ๋๋ฐ ์์
์ ์งํํ๊น์ ํ๋ฒ์ ๋์๋ด๋ณผ๊น ์ถ์ด ๊ณง์ฅ ๋์์ธ ์์
์ ํ๊ณ ํ๋ก๊ทธ๋จ ์์
๊น์ง ์งํ์์ผฐ๋ค.
ํฐ ๋ถ๋ถ์ ์ถ๊ฐ๋ก ์์
ํ๋ค๋ณด๋ ์๊ฐํ๋ ์ผ์ ์ด ๋์ด๋ฌ์ง๋ง ์ฌ์ฉํ ๋งํ ์์ค์ผ๋ก ๋ง๋๋๊ฒ ์ฐ์ ์ด๋ผ๊ณ ์๊ฐํ์ฌ ๋ฐ์ดํฐ ํธ์ง ๋ถ๋ถ์ ๋ง๋ค์๋ค. ๋ ๋ง์ด ์ถ๊ฐ๋๋ ํ
์คํธ๋ ๋ค์ด๋ค.
ํ
์คํธ ๋จ๊ณ๋ ํ๋ก์ ํธ์์ ๊ฑฐ์ ๋ง์ง๋ง์ ํด๋น๋๋ ๋จ๊ณ์ด๋ค๋ณด๋ ๊ต์ฅํ ํ๋ ํธ์ด๋ค.
๋ฐ๋ณต์ ์ผ๋ก ๊ธฐ๋ฅ์ ์๋ํด๋ณด๊ณ , ๋์์ธ์ด๋ ๊ธฐ๋ฅ์ด ํ์ด์ง๊ณ ์๋์ ์ค๋ฅ๊ฐ ์๊ธฐ๋ฉด ํ๋์ฉ ์ก์์ฃผ๋ ๊ณผ์ ์ด ์ง์น๊ฒ ๋ง๋๋ ์ผ์ด๋ค.
์๋ง๋ ํ์ ํ
์คํธ๋ฅผ ํ ์ ์๊ฒ ์ง๋ง ์ด๋์ ์์ ๋๊ณ ๋ฆด๋ฆฌ์ฆ๋ฅผ ํ์๊ณ ๊ฒฐ์ฌํด์ผ ํ ๊ฒ์ด๋ค.
๋ง๋ฌด๋ฆฌ
์ถ๊ฐ์ ์ธ ์์
์ ํ๊ณ ์ ์ ํ ์ ์์ ํ
์คํธ๊น์ง ๋๋ด๊ณ README.md ๋ฌธ์๋ฅผ ๋ค์ ๋ค๋ฌ๊ณ , GitHub์์ ๋ฆด๋ฆฌ์ฆํ๊ณ NPM ์๋น์ค์ ํผ๋ธ๋ฆฌ์ฑํ์ฌ ์์ ํธ ์ ์์๋ค.
๋ด๊ฐ ์ํ๋ ์ฌ๋ผ์ด๋์ผ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ง๋ค์ด์ง๊ธฐ๊น์ง์ ๊ณผ์ ์ ์ด์ ์์ผ ์์์ผ ๋ฟ์ด๋ค.
์ฒ์์ ๊ตฌ์ํ๋ ๋ชจ์ต์ ๊ฐ์กฑ ์จ๋ฒ์ ์น ์๋น์ค์์ ์ด์ฉํ ์ ์๋๋ก ๊ตฌํํด์ผ ํ๋๋ฐ ๋ง๋ค์ด๋ ์ฌ๋ผ์ด๋์ผ๋ฅผ ํ์ฅ์์ผ์ผ ํ๊ณ ์ปค์คํฐ๋ง์ด์ฆ๊น์ง ์๊ฐํ๋ ค ํ๋ ๋จธ๋ฆฌ๊ฐ ์ํ์ง๋ ๋น๋ถ๊ฐ ๋จธ๋ฆฟ์์ ์ฌ๋ผ์ด๋์ผ๋ ์ง์๋ฌ์ผ๊ฒ ๋ค. (์ฌ์ง์ ๋ง์ ์ ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์..)
์ด์จ๋ ํ๋ ๋ง๋๋ ค๊ณ ๋ง์๋จน์๋ ๊ฒ์ด ๋๋๊ณ ์ด๋ ๊ฒ ์ ์ํ๊ธฐ ํฌ์คํธ๋ฅผ ์์ฑํ๊ณ ์์ผ๋ ๋ํ์์ ๋ ํ๋๋ฅผ ๋์ ๊ธฐ๋ถ์ด ๋ ๋ค.