2021/10/06
๊ฒฐ๊ณผ ์ฌ์ง์ด๋ ๋ค ๊นํ๋ธ์ ์ฌ๋ ค๋์์ต๋๋ค.
ํ๋ถ์ ์์ 4ํ๋ 2ํ๊ธฐ๋(2018๋ ) ํ๋ ํ๋ก์ ํธ์ด์, ์ฒ์์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด ํ๋ก์ ํธ์๊ณ , ์ฒซ ํ๋ก ํธ์๋ ํ๋ก์ ํธ์๊ณ , ์ฒซ ํ์ ์ด์๊ณ , ์ฒซ ์ธ์ฃผ์ํ์ผ๋ก ํ๋ ํ๋ก์ ํธ์ ๋๋ค.
๋น์ ์๋ช ๊ณผํ๊ณผ ์ฌ๋๊ณผ ๋ง๋ ์๊ตฌ์ฌํญ์ ๋ํด์ ์๊ธฐ๋ ํด๋ณด๊ณ , ์ค๊ฐ ์ ๊ฒ๋ ํด๋ณด์๋ ํ๋ก์ ํธ๋ผ ๊ธฐ์ต์ ํฌ๊ฒ ๋จ์ต๋๋ค.
๊ธฐ๋ฅ์ ํ ์ง ์์น๋ฅผ ๊ณ์ฐํด์ฃผ๋ ๋ณดํต ๊ณ์ฐ๊ธฐ์ ๋๋ค. ๊ฑฐ๊ธฐ์ ์ด์ ํน์ดํ ์ถ๊ฐ ์๊ตฌ์ฌํญ์ ๊ณ๋ค์ธโฆ!
๊ทธ ๋น์ ์๊ตฌ ์ฌํญ์ด
ํ์ฅ์ ๋๊ฐ์ ์ฐ์ ์ฌ์ง๋ง๋ค ์์น์ ์ ๋ชฉ ๋ฑ์ ์ฌ์ง ์์ ๋ฉ๋ชจ ํ๊ณ ์ถ์ต๋๋ค.
๋๊ฐ ์ด๋ฌ๋ ๊ฑธ๋ก ๊ธฐ์ตํฉ๋๋ค.
๋ฌ๋ ฅ์ ์์ด๋ ๋์ง ์๋์? ๋ฅผ ํญ์ ์ฌ์ญค๋ดค๋ ๊ฑฐ ๊ฐ๋คโฆ โ๊ธฐ๋ณธ ๋ฌ๋ ฅ์ด ๋ ์ข์์โฆโ ํ๋ฉด์
์๋ฌด๋๋ ์ฒ์์ผ๋ก ํ๋ ํ๋ก ํธ์๋๋ค๋ณด๋ ๋ด๋ถ ์ฝ๋๊ฐ (๋์์ชฝ์ผ๋ก) ๊ธฐ๊ฐ ๋งํ๋๋ค.
๊ทธ๋์์ธ์ง ํญ์ ๋ง์ ์์ผ๋ก ๋ถํธํ๋๋ฐโฆ ์ด์ฐจํผ ๋ฆฌ์กํธ
๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ ์ด์ฐธ์ ํ ๊ณํผ๋ฅผ ๋ฆฌ๋ด์ผํ๊ณ Vue
๋ ์๋ณ ์ธ์ฌ๋ฅผ ํ๊ธฐ ์ํด ๋ฆฌ๋ด์ผ์ ์งํํ์ต๋๋ค.
์๋ ํ๋ก์ ํธ๋ฅผ ๋ค์ ์ฒ์๋ถํฐ ๋ง๋ค์ด๋ณด๋ ๊ฒ๋ ๋์๋๋ค๋ ๊ฑธ ์ด๋์ ๋ณธ ํ๋ ์์ต๋๋ค.
์ต๊ทผ ๋ฆด๋ฆฌ์ฆ๋ Vue3
๋ฅผ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ์ผ๋, ํ ๊ณํผ์ ํต์ฌ ์์์ค ํ๋์ธ Vuetify
๊ฐ Vue3
๋ฅผ ์ง์ํ์ง ์์์ ๊ธฐ์กด๋ฒ์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ญ ์ ์ฅ์๊ฐ ํ์ํ์ง ์์์ Vuex
๋ ๋นผ๊ณ , ๊ธฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ์ต๋ํ ๊ฐ๋ณ๊ฒ ๋ง๋ค๊ณ ์ ๋
ธ๋ ฅํ์ต๋๋ค.
PWA
์ ๊ฒฝ์ฐ์๋, ๋ฒ์ 1 ๋น์์ ์ง์ ๋๋ฑ๋๋ฑํด์ ๋ฃ์๋๋ฐ, ์์ฆ์ ์ฒ์๋ถํฐ ํ
ํ๋ฆฟ์ ์ ๊ณตํ๋ ๋๋ถ์ ์ฝ๊ฒ ๋์
ํ ์ ์์์ต๋๋ค.
๋๋จธ์ง ๋์์ธ์ด๋ ๋ก๊ณ ๋ฑ์ ๊ทธ๋๋ก!
๋จผ์ ๊ฐ๋ฐํ ๋์์ ์ญ์ ํค๋
๋ฐ ๋ฉ๋ด
์
๋๋ค. ์ฑ ์
ธ
๋์์ธ์ด๋ผ ํฐ ๋ฌด๋ฆฌ๋ ์์๊ณ , Vuetify
์์๋ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ์ปดํฌ๋ํธ์ด๊ธฐ์ ์ฝ๊ฒ ๋ง๋ค์ด๋ผ ์ ์์์ต๋๋ค.
๋ฌ๋ผ์ง ์ ์ด๋ผ๋ฉด ๊ธฐ์กด ๋ฒ์ ์๋ ํดํ
์ด ์์์ง๋ง, ์ด๋ฒ์ ํดํ
์ ์ญ์ ํ์์ต๋๋ค. ๊ตณ์ด ํดํ์ด ์์ด๋ ์ถ๊ฐํ ์์ด์ฝ
์ ํตํด ์ถฉ๋ถํ ์ดํดํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์์ต๋๋ค.
ํค๋
์ ์ฐ์ธก ์๋จ์ ๋ถ์ ์์ด์ฝ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ ๋ณด ๋ชจ๋ฌ์ด ๋์ต๋๋ค. ์ด๊ฑธ ํตํด์ ๊ฐ ํ ์ง ์์น ๊ณ์ฐ
์ ์ด๋ค ๊ฒ๋ค์ด ํ์ํ์ง ์ฌ๋ฃ๋ค์ ๋ณผ ์ ์์ต๋๋ค.
์ด์ ๋ฒ์ ์์๋ ํ๋ ์ฝ๋ฉ์ผ๋ก ๊ธ์ ์ ์๋ค๋ฉด, ์ด๋ฒ ๋ฆฌ๋ด์ผ ๋ฒ์ ์์๋ ๋ฏธ๋ฆฌ ์ ๋ฆฌํด๋์ ๊ณต์์ ์ ์ ๋ฆฌํ์ฌ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ํ๋ก ํธ์๋ ํ๋ ์์ํฌ์ ํ์ ๋ณด์ฌ์ฃผ๋ ๊ตฌ๊ฐ์ ๋๋ค.
์ข ๋ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ณ ์ปดํฌ๋ํธ๋ก๋ ์จ๋จน์ ์ ์์ง๋ง, ์ด๋ฏธ Vuetify
์์ ์ ๊ณตํ๋ ๋ชจ๋ฌ
์ปดํฌ๋ํธ์ ๋ค๋ฅผ ๋ฐ๊ฐ ์์ด์ ธ์ ์ ๋ํฌํ ์ปดํฌ๋ํธ๋ก ๋๋์์ต๋๋ค.
for๋ฌธ๊ณผ if๋ฌธ์ ์ ์ ํ ์ฌ์ฉํ์ฌ ์ค๋ณต์ ์์ ๊ณ , ์ง์ ๊ฐ๋ฅ์ฑ์ ๋์์ต๋๋ค.
์ฌ์ค ์ฒ์ ๊ฐ๋ฐ๋๋ ๊ตณ์ด ํ์ํ ๊ธฐ๋ฅ์ธ๊ฐโฆ ๊ณ ๋ฏผํ๋ ๊ธฐ๋ฅ์ด๋ผ ๋ฆฌ๋ด์ผ์์ ๋บ๊น ๊ณ ๋ฏผ์ ๋ง์ด ํ์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด์ Vuetify
์์ ๊ธฐ๋ณธ์ผ๋ก ๋ฌ๋ ฅ UI์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์๊ฒ ๋๊ณ , ๋นผ์ง ์๊ณ ๊ตฌํํ๊ธฐ๋ก ๋ง์ ๋จน์์ต๋๋ค.
๋ฌ๋ ฅ์ ๋ถ์ด๊ณ , ๋ชจ๋ฌ์ ํตํด CREATE, ํ์
์ ํตํด READ ์ DELETE๋ฅผ ๊ตฌํํ์์ต๋๋ค. Vuetify
๋ฌ๋ ฅ๋ง์ ๊ตฌ์ฑ์ด ํท๊ฐ๋ ค์ ๋ค์ ํ ๋ฒ Typescript
์ ํ์์ฑ์ ์ค๊ฐํ๊ฒ ๋์๋ค์.
๋ค์์ผ๋ก ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํ๋๋ฐโฆ React
์์ ํ๋ ๊ฒ์ฒ๋ผ ํ ํ์ผ ๋ด ์ฌ๋ฌ ์ปดํฌ๋ํธ๊ฐ ๋ถ๊ฐ๋ฅํด์ ธ์ ๊ฐ๋ณ ํ์ผ๋ก ๋๋ ์ ๋ฐ์ ์์์ต๋๋ค.
์ฌ๊ธฐ์ ๊ณ ๋ฏผ์ ์กฐ๊ธ ํ์ต๋๋ค.
์ด์ฐจํผ ๋๋ 3๊ฐ์ ์ปดํฌ๋ํธ๋ ์๋ก ์์กด๋๊ฐ ๊น์ผ๋, ์ข ๊ธธ๋๋ผ๋ ํ ์ปดํฌ๋ํธ์ ๋ฃ๋ ๊ฒ ๋ง์ง ์์๊น?
๊ทธ๋๋ ๋๋ ์ ๋์ ๊ฑด ์์ผ๋ ์ผ๋จ์ ๋๋์ด๋์์ต๋๋ค. ๊ทธ๋ฌ๋๋ ์ด๋ฒคํธ๋ฒ์ค
๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ๊ณ ๋ คํด๋ณผ ์ ๋๋ก ๊ฐ ์ปดํฌ๋ํธ๊ฐ์ ํต์ ์ด ์ฌ๊ธฐ์ ๊ธฐ ์๋ค๊ฐ๋คํ๋ค๋ณด๋ ํผ์ ์ ๋น์๋์ง, ์ด์ ์ ํ๋์ ์ปดํฌ๋ํธ์ผ ๋๋ ๊ด์ฐฎ์๋ ๋ถ๋ถ๋ค์ด ํฐ์ง๊ธฐ ์์ํ์ต๋๋ค.
๋คํํ๋ ์๋ฌ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ ๋ง์์ง๋ง, ๋ง์ โ๊ดํ ๋๋ ๊ฒ ์๋๊นโ ๋ผ๋ ์๊ฐ๋ง ๋ ์ปค์ก์ต๋๋ค.
React
์๋ค๋ฉด ์ด๋ป๊ฒ ๋ถ๋ฆฌํ์๊นโฆ?? ๋ผ๋ ์๊ฐ์ด ๋จธ๋ฆฌ๋ฅผ ์ง๋ฐฐํ ์๊ฐ
์ด์ชฝ์ ์์ํ๊ธฐ ์ ์ด๋ฆ์ ๊ณ ๋ฏผํ์ต๋๋ค.
Canvas
๋ฅผ ์ฐ๋ ์บ๋ฒ์ค๋ผ๊ณ ํด์ผํ๋? ์๋๋ฉด ์ฌ์ง์ ์์ ํ๋ ๊ฑฐ๋ ์ฌ์งํญ์ด๋ผ๊ณ ํด์ผํ๋?
๊ฒฐ๊ตญ ์ฒ์์ ์ฌ์ง์ ์ฐ๋ค๊ฐ ๋ง์ง๋ง์ ๊ฐ๋ฐ์ด ์๋ฃ๋๊ณ ์บ๋ฒ์ค๋ก ๋ค์ ๊ฐ์ํ์ต๋๋ค.
์๋ฌด๋๋ ํ์์ ์ ์ฐ์ง ์๋ canvas
์ด๋ค๋ณด๋ ๋ง์ด ๊ณ ์ํ์ต๋๋ค.
์๊ตฌ์ฌํญ์
๊ทธ๋์ ๋จผ์ ์ฌ์ง์ ๋ถ๋ฌ์์ ์บ๋ฒ์ค์ ๋ณด์ฌ์ฃผ๋ ๊ฒ ์ฐ์ ์ด์์ต๋๋ค.
์ฌ์ง์ input
ํ๊ทธ๋ก ๋ถ๋ฌ์์ canvas
์ ๋ณด์ฌ์ฃผ๋ ๊ฑด ์ฌ์ ์ต๋๋ค.
ํ์ง๋ง!
canvas
๋ ์ผ๋ฐ img
ํ๊ทธ์ฒ๋ผ ๊พธ์ฑ ๋๋ฌ์, ์ ์ฅํ๊ธฐ ์ปจํ
์คํธ ๋ฉ๋ด๊ฐ ๋์ค๊ฒ ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
๊ทธ๋์ ์บ๋ฒ์ค ์์ ๊ทธ๋ฆผ์ ๋ค์ img
ํ๊ทธ๋ก ๋๊ฒจ์ฃผ์ด ์ ์ ์๊ฒ ๋ณด์ฌ์ฃผ์ด์ผ ํ์ต๋๋ค. ๊ทธ๋์ผ UX์ ์ ์ ๊ฐ ๊ธฐ๋ํ๋ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ค ์๊ฐ ์์ผ๋๊น์.
๋คํํ๋ canvas
์๋ toDataURL
๋ฉ์๋๊ฐ ์์๊ณ , ์ด ๋ฉ์๋๋ฅผ ํตํด ์บ๋ฒ์ค ์์ ๊ทธ๋ ค์ง ๊ทธ๋ฆผ์ img
์ src
ํ๊ทธ๋ก ๋๊ฒจ์ค ์๊ฐ ์์์ต๋๋ค.
์ด ๊ณผ์ ์์ ์บ๋ฒ์ค์ ํฌ๊ธฐ๊ฐ ์๋ณธ ์ฌ์ง์ ํด์๋๋ฅผ ๋ฐ๊พธ์ด๋ฒ๋ฆฌ๋ ๊ฒฝํ์ ํ์ต๋๋ค. ์บ๋ฒ์ค์ ํฌ๊ธฐ๊ฐ ์์ผ๋ฉด, ์๋ณธ ์ฌ์ง์ ํฌ๊ธฐ๊ฐ ์ด๋ป๊ฒ ๋๋ ์ค์ผ์ผ์ ์ค์ฌ๋ฒ๋ฆฌ๋ ๊ฒ์ด ์์ธ์ด์์ต๋๋ค.
๊ทธ๋์ ์ ๋ ์บ๋ฒ์ค๋ฅผ ์์ ๊ธฐ๋ก ํ์ต๋๋ค.
์์ ์์ ๋ ๊ฒ์ด ์๋๋ผ, ํ๋ฉด์์ ๋ณด์ด์ง ์๊ฒ ํ๊ธฐ๋ก ํ ๊ฒ์ ๋๋ค.
์ฌ์ง์ด ๋ค์ด์ค๋ฉด, ์ฌ์ง์ ํฌ๊ธฐ์ ๋ง๊ฒ ์บ๋ฒ์ค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์บ๋ฒ์ค๊ฐ ์ ์ ์ ํ๋ฉด์ ๋ฒ์ด๋๊ฒ ๋ ํ
๊ณ , ๋ฐ์ํ ๋์์ธ์ด ๊นจ์ง๊ฒ ๋ฉ๋๋ค. ์ด์ฐจํผ ํ๋ฉด์ ๋ณด์ฌ์ค์ผ ํ๋ ๊ฒ์ ๊ฒฐ๊ตญ img
ํ๊ทธ๋ฟ์ด๊ธฐ ๋๋ฌธ์ canvas
ํ๊ทธ๋ฅผ ์จ๊ฒผ์ต๋๋ค.
์ด๋ฌ๋ฉด ์๋ฌด๋ฆฌ ์บ๋ฒ์ค๊ฐ ์ปค๋ ํ๋ฉด์ ๋ณด์ด์ง ์๊ธฐ ๋๋ฌธ์ ์ ์ ๋ ์์์ฑ์ง ๋ชปํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ฐํ์ ์ผ๋ก ์ค๋ฅ๊ฐ ๋ฌ์ต๋๋ค. ์ ์ ๊ฐ ๋ถ๋ฌ๋ค์ธ ์ฌ์ง์ img
์ src
๋ก ๋ฃ๋ ๋ถ๋ถ์์ ๊ณ์ ์ ๋ฌ ์ค๋ฅ๊ฐ ๋์ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ฃผ์ง ๋ชปํ์ต๋๋ค.
์ฌ๋ฌ ์คํ ๋์ ์๊ฒ ๋ ๊ฒฐ๊ณผ๋, ์๋ณธ ์ฌ์ง์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด dataURL
๋ก ํ์ฑํ๋ ๊ณผ์ ์ด ๊ธธ์ด์ ธ ์ ๋์ img
ํ๊ทธ์ src
๋ก ๋๊ฒจ์ฃผ์ง ๋ชปํ๊ฒ ๋๋ ๊ฒ์ด์์ต๋๋ค.
์ฌ๊ธฐ์ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํด๋ณด์์ต๋๋ค.
setTimeout
์ด๋ sleep
์ผ๋ก ๋๊ธฐ ์๊ฐ์ ๋ง๋ ๋ค -> ๊ฐ๊ฐ์ ์ฌ์ง๋ง๋ค ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋ค๋ฅด๊ณ , ๋ก๋ฉ ์๊ฐ์ ์ถ๊ฐํ๋ ๊ฒ์ UX์ ์ผ๋ก ์น๋ช
ํ๋ผ๊ณ ์๊ฐํ์ฌ ๊ธฐ๊ฐํ์์ต๋๋ค.Promise
๋ฅผ ์ฌ์ฉํด๋ณธ๋ค.๋ค. 3๋ฒ ๋ฐฉ๋ฒ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๊ฐ ํ์ฑํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ณ , ํ์ฑ์ด ์๋ฃ๋๋ฉด img
ํ๊ทธ๋ก ๋๊ฒจ์ฃผ๋๋ก ํ์ต๋๋ค.
๊ทธ๋ฌ๋๋ ์ ๊ธฐํ๊ฒ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค!
Promise์ ๋๋ค์ ๊ฐํํ๊ณ ๊ฐ๋๋ค.
์ฌ์ง์ ๋ณด์ฌ์ฃผ๊ณ ์ ์ฅํ๋ ๊ฒ๊น์ง ๋๋ง์ณค์ผ๋ ์ด์ ๋ฉ๋ชจ๋ฅผ ๊ตฌํํ ์ฐจ๋ก์ ๋๋ค.
๋คํํ๋ ๋ฒ์ 1์์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ง ์ ํจํ๋ ๊ทธ๋๋ก ๊ฐ์ ธ์์ต๋๋ค. ๋ถํํ๊ฒ๋ ์๋ฒฝํ์ง๋ ๋ชปํ์ง์.
๊ทธ๋์ ๊ณ ์น ๋ถ๋ถ์
canvas
์ measureText
๋ผ๋ ์ข์ ๋ฉ์๋๊ฐ ์์ด ํ์ฉํ์์ต๋๋ค. ์ด๊ฑธ ํ์ฉํ๋ฉด ๊ธ์๊ฐ ์ฐจ์งํ๋ ๋๋น๋ฅผ ์ ์ ์์ต๋๋ค.ํผ ๋ถ๋ถ๋ ์ปดํฌ๋ํธ ๋ถ๋ฆฌ๊ฐ ์กฐ๊ธ ๊ฑฑ์ ๋์์ผ๋, ํผ์ ํน์ํ ๊ฒฝ์ฐ๋ผ๊ณ ์๊ฐํ๊ณ ํ๋์ ์ปดํฌ๋ํธ๋ก ๋ง๋ค์์ต๋๋ค.
๊ณ์ฐ๊ธฐ๊ฐ ๊ฐ์ฅ ์ด๋ ค์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์ ๋ง์ง๋ง์ผ๋ก ๋ฏธ๋ค๋์์ต๋๋ค. ๋ฒ์ 1์์๋ ๊ทธ๋ฌ๊ฑฐ๋ ์.
ํ์ง๋งโฆ
์ฒ์ ์์ํ ๋ ๊ณต์ ๋ค์ธ ๊ณต์์ด ์์ฑ๋๊ฐ ๋์๋์ง ์ ๋ง ์ฝ๊ฒ ๊ตฌํํ๊ณ ๋ง์์ต๋๋ค.
์ด์ ๋ฒ์ ์์ ๊ตฌํํ์ง ๋ชปํ๋
placeholder๋ฅผ
๋์ ์ผ๋ก ์ค์ ํ๊ธฐhint
๋์ ์ผ๋ก ์ค์ ํ๊ธฐ๋ฑ๋ฑโฆ ๋์ ์ผ๋ก ์ค์ ํ๋ ๊ฑด ์ ๋ถ ์์ฝ๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํ์ต๋๋ค.
spread operator
์ ๋์๋ ์ปธ๋ค์.
๋ค๋ง ์ฌ๊ธฐ์๋ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํ๊ณ ๋๋ ์์ - ๋ถ๋ชจ - ์์
๊ฐ์ ์ปดํฌ๋ํธ ํต์ ์ด ์ด๋ฃจ์ด์ ธ์ ๋๋ค์ ๊ณ ๋ฏผ์ ๋น ์ก์ต๋๋ค.
๊ฒฐ๊ตญ ref
๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๊ธด ํ์ง๋ง ์ฐ์ฐํ ๋๋์ ๊ฐ์์ง ์์์ต๋๋ค. ์คํ ์ค๋ฒํ๋ก์ฐ์์๋ ์ด๋ ๊ฒ ํด๋ ๊ด์ฐฎ๋ค๊ณ ํ๊ธด ํ์ง๋งโฆ
๊ณผ์ฐ ๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ ์์ ์ปดํฌ๋ํธ์ ํจ์๋ฅผ ํธ์ถํ๋๋ก ํ๋ ๊ฒ ๋ง๋ ์ผ์ผ๊นโฆ??
๊ฐ์๋ก ์ปดํฌ๋ํธ ๊ฐ์ ์์กด๋๊ฐ ๋์์ง๋ ๊ฒ ๊ฐ์ง๋ง,
Vuex
๋ฅผ ์ฐ์ง ์๋ ์ง๊ธ์ผ๋ก์ฌ ์ต์ ์ด๋ ์ด์ฉ ์ ์์ด ์ด๋๋ก ์ ์งํ๋๋ก ํ์ต๋๋ค.
์์์ ์ธ๊ธํ ์ปดํฌ๋ํธ๋ค์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ง์๊ฐ๋ฅ์ฑ์ด ๋ง์ ๊ฑธ๋ ธ๋์ง, ์ด๋ฒ ์ปดํฌ๋ํธ๋ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ง์๊ฐ๋ฅ์ฑ์ ์ต๋ํ ์ ์งํ์ฌ ๋ง๋ค๊ฒ ๋์์ต๋๋ค.
ํผ์ฒ๋ผ ์ ๋ํฌํ ๊ฒ์ ์๊ตฌํ๋ ๊ฒ๋ ์๋๊ณ , ์ด๋์๋ ๋ถ์ฌ์ธ ์ ์์ ๊ฒ ๊ฐ์ ๋ณดํธ์ ์ธ ์ปดํฌ๋ํธ๋ผ ๊ฐ๋ฅํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ง๋ค์ด๋๊ณ ๊ดํ ํผ์ ๋ฟ-๋ฏ
๋์ผ๋ก Lighthouse
๋ฅผ ํตํด ์ฑ๋ฅ ํ
์คํธ๋ฅผ ํด๋ณด๋ ๊ฝค๋ ๋๊ฒ ๋์์ ๋ง์กฑํ์ต๋๋ค.
์ ๊ทผ์ฑ์์ ์ ์๊ฐ ์กฐ๊ธ ๋จ์ด์ง๋ ๊ฑดโฆ ์์ฝ๊ฒ๋ ํ ๊ณํผ์ ํ
๋ง ์์ด ๋ฌธ์ ๋ผ ์์ ํ ์ ์์์ต๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ํผํฌ๋จผ์ค๋ ์น ํฐํธ๋๋ฌธ์โฆ
Vue
๋ก ํ๋ ํ๋ก์ ํธ๋ ํ๋์ ์ด๊ฒ ๋ง์ง๋ง์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์์ผ๋ก๋ react
์ ์ง์คํ๋ ค๊ณ ํฉ๋๋ค. ํนํ Next
์ ๊ฐ์ SSR
ํ๋ ์์ํฌ๊ฐ ๋ ์ค๋ฅด๊ณ ์๋ค๊ธธ๋ ๊ฑฐ๊ธฐ์๋์.
์ฐ๋ฆฌ ํ ๋ณํ๊ธฐ
์๋ Vue
๊ฐ ์ฐ์๋๋ฐ, ์ฌ์ค์ ๊ธฐ๋ฅ์ Vanilla JS
๋ก๋ ์ถฉ๋ถํฉ๋๋ค. ๋์ค์ ๋ฆฌ๋ด์ผ ํ ๊ธฐํ๊ฐ ์๋ค๋ฉด ๋ฐ๋๋ผ๋ก ํด๋ด์ผ ์ถ๊ฒ ๋ค์.
๋ณ ์๊ด์ ์์ ์๋ ์์ง๋ง, ์ปดํฌ๋ํธ๋ค์ ์ด๋ฆ์ด ์ ๋ถ C๋ก ์์ํ๋ค๋ณด๋ (Calculator-
, Canvas-
, Calendar-
) ํท๊ฐ๋ฆด ๋๊ฐ ์์ต๋๋คโฆ