๐ ํ์ฌ์ ๋ํ ์ฒซ ์ธ์
ํ์ฌ๋ ์ ๊ตฌ๋ถํฐ ์์ํด์ ์ฌ๋ฌด์ค๊น์ง ๊ต์ฅํ ๊น๋ํ๋ค. ์๋ฆฌ๋ฅผ ๋ฐฐ์น๋ฐ์์ ๋ ๊น๋ํ๋ ์ฌ๋ฌด์ค๊ณผ ์ฑ ์์ ์์ง ๋ชปํ๋ค.
๋ค์์ ๋ค์ด์ฌ ์ฌ๋๋ ์ด๋ฐ ์ข์ ๋ถ์๊ธฐ๋ฅผ ๋๋ผ๋ฉด ์ข๊ฒ ์ด์.. ์ธํด์ญ ๋ง๋ฌด๋ฆฌ ํ์ ๋ด ์๋ฆฌ๋ฅผ ๊น๋ํ๊ฒ ์ฒญ์ํ๊ณ ๋์๋ค.
๐ฌ ํ์ฌ์ ์๋น์ค
์๋ฆฌ ์ ํ ์ ๋ง์น๊ณ ํ ๋๋๊ป ํ์ฌ์ ์๊ฐ์ ๋ํด ์ค๋ฆฌ์ํ ์ด์ ์ ๋ฐ์๋ค.
musma๋ IoT ๊ธฐ์ ๋ก ๊ฑด์ค ํ์ฅ์์ ์์ ๊ณผ ์์ฐ์ ๊ด๋ฆฌํ๋ ํ๋ซํผ์ ์๋น์ค ํ๊ณ ์๋ค.
์ผ์๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์์งํ์ฌ ์ถฉ๋ ์ํ์ ์๋ฆฐ๋ค๋์ง, ์์ ์ฌ๊ณ ๋ฅผ ์๋ฐฉํ๋ ์๋น์ค์ด๋ค.
๋๋ ๋น๋ก ๊ฑด์คํ์ฅ์์ ์ผํ๋ ํ์ฅ ์์ ์๋ ์๋์์ง๋ง, ๊ณต์ฅ์์ ์ผํ๋ ํ์ฅ ์์ ์์๊ธฐ ๋๋ฌธ์, ์์ ์ด ์ผ๋ง๋ ์ค์ํ์ง ๋ชธ์ ๊นจ๋ซ๊ณ ์๋ค. ๋ํ ๋ํ์ ๋, ์๋ฒ์ง๊ฐ ์ผํ๋ ๊ณต์ฌ ํ์ฅ๋ ๋ง์ด ๊ฐ์๋ค. ์์ ์ฌ๊ณ ๋ฅผ ์๋ฐฉํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ค์ํ์ง ์๊ณ ์๊ธฐ ๋๋ฌธ์, musma๋ ์ ๋ง ๊ฐ์น ์๋ ์๋น์ค๋ฅผ ํ๊ณ ์๊ตฌ๋ ๋ผ๊ณ ์๊ฐํ๋ค.
์ด ๋งํฌ๋ musma์ ์๋น์ค์ ๋ํ ์๊ฐํ๋ ํ์ด์ง์ด๋ค. ๊ด์ฌ์ด ์๋ค๋ฉด ๋ณด๋ ๊ฒ์ด ์ด๋จ๊น?
https://musma.net/solution-safety/
โ ๊ฑด๋ค๋ฐ์ ๊ธฐ๋ฅ ๋ช ์ธ์์ ํผ๋์ค๋ฌ์ด ์ฐ๋ฆฌ๋ค
์ฝ 4์ฃผ ๊ฐ์ ์๊ฐ๊ณผ ํจ๊ป ์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด์ผํ ์๋น์ค์ ๋ํ ๊ธฐ๋ฅ ๋ช ์ธ์๋ฅผ ๋ฐ์๋ค. ๊ธฐ๋ฅ ๋ช ์ธ์๋ฅผ ๋ฐ์ ํ์๋ ๋ ํฌํจํด์ 4๋ช ๋ชจ๋ ์ ์ ์ด์๋ค. ์ด๋ป๊ฒ ๊ธฐํํด์ผํ ์ง ๊ฐ์ด ์กํ์ง ์์์, ํ์ฌ๊ฐ ์๋น์คํ๊ณ ์๋ ํ๋ซํผ์ ๋ถ์ํ๋ค.
๐คฃ ํ์ง๋ง ๋๋ฌด ๋ง์ด ๋ค์ฌ๋ค๋ดค๋์ง ํ์ฌ์ ์๋น์ค์ ๊ฑฐ์ ๋น์ทํ๊ฒ ๊ธฐํํ๋ค.
๊ธฐํํ๋ฉด์ ๋ง์ ์ด๋ ค์์ ๊ฒช์๋๋ฐ,
์ฒซ ๋ฒ์งธ๋ ๋๋ฉ์ธ์ ์ฉ์ด์๋ค.
์ผ์์ ๋๋ฐ์ด์ค, ์ฅ๋น, ์ค์ฅ๋น, ์ฅ๋น ๊ด๋ฆฌ์, ์ฅ๋น ๋ด๋น์ ์ด๋ฐ ์ฉ์ด๋ค์ด ํผ์กํ๊ฒ ๊ธฐ๋ฅ ๋ช ์ธ์์ ๋์ฌํด์์๊ณ , ๊ทธ๋ฐ ์ฉ์ด๋ฅผ ์ ๋ชจ๋ฅด๋ค๋ณด๋, ์๋ฌธ์ ์ด ํฌ์ฑ์ด์ธ ๊ธฐํ์๊ฐ ํ์ํ๊ณ ์ผ ๋ง์๋ค.
๋ ๋ฒ์งธ๋ ๋ฏธํ ์ด ๋๋๋ฉด ๋ฏธํ ์ ์ฐธ๊ฐํ ์ธ์ ๋ชจ๋ ๋ค๋ฅธ ์๊ฐ์ ํ๊ณ ์๋ค๋ ์ ์ด์๋ค.
ํ๋ช ์ ๋๋ฌด ์์๋ฅผ ์๊ฐํ๊ณ , ๋ ๋ค๋ฅธ ํ๋ช ์ ์ฒ ์ ์์, ๊ทธ๋ฆฌ๊ณ ๋ ๋ค๋ฅธ ํ๋ช ์ ํธํ์ค๋ฌ์ด ์์.. ์ด๋ ๊ฒ ์๊ฐํ๋ค๋ ์ ์ด๋ค. ํ๋ก ํธ ์ค๋์ธ ๋์ ์๋ค๋์ ๋ฏธํ ์ด ๋๋๋ฉด ์ผ๊ทผ์ ํ๋ฉฐ, ์คํ ๋ฆฌ ๋ณด๋๋ฅผ ๋ง๋ค์์๋๋ฐ, ์๋ก ์ดํดํ ๋ด์ฉ์ด ๋ฌ๋๋ ๊ฒ์ด์๋ค.
์ธ ๋ฒ์งธ๋ ์๊ฐ์ด๋ผ๋ ๋ฆฌ์์ค๋ฅผ ๋๋ฌด ๊ฐ๊ณผํ๋ค. ์ฐ๋ฆฌ์ ์๋น์ค ์ ์๊ธฐ๊ฐ์ 4์ฃผ์ด๋ค.
musma์์ ์ฐ๋ฆฌ์ ์๋น์ค๋ฅผ ๋ด๋นํ๊ณ ์๋ ์ฌ์ด๋จผ๋๊ณผ ๋งค์ผ ์์นจ์ ์ ์์ผํ ํ์๋ฅผ ํ๋๋ฐ, ์ฌ์ด๋จผ๋๊ป ์ฐ๋ฆฌ์ ๋ด์ฉ์ด ๋ง๋์ง ๊ฒ์ฆ์ ํ๊ณ ํ์ ์ ๋ฐ์์ด์ผ ํ์ง ์์๋ ์ถ๋ค. ์ฐ๋ฆฌ๋ผ๋ฆฌ ์ด ๋ด์ฉ์ด ๋ง์๊น? ์๋ง์๊น ํ๊ณ ๋ง์ ์๊ฒฌ์ ๋๋๋ ๊ฒ๋ ์ข์ง๋ง, ์๊ฐ์ด๋ผ๋ ๋ฆฌ์์ค๋ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์, ๊ฐ์ค์ ๋ง์ด ์ธ์ ๋ค๋ฉด ์ ์์ผ ํ์๋ ๊ฒ์ฆ์ ๋ฐ๊ณ , ํ์ ์ ์ง์์ด์ผ ํ๋ค.
โ ๏ธ โก๏ธ โ๏ธํ์ฌ์ Templete์ผ๋ก ์ด๊ธฐ์ธํ ์ ํ๋ค
๊ธฐํ์ด ์ด๋์ ๋ ๋ง๋ฌด๋ฆฌ๋์ด, ํ์ ์ง์ ๋ ์ด์๋ค. ์ด์ ํ๋ก ํธ์ค๋ ๋ผ๋ฆฌ ์ด๊ธฐ์ธํ ์ ํด์ผํ๋ค. ํ๋ก ํธ ์ค๋์ ์ด๊ธฐ์ธํ ์ ์ ๋ช ๋๋ค. ๋งฅ๋ถ์ด๋ ์๋์ฐ์ ๋ฐ๋ผ ์ด๋ ค์ธ ์๋ ์๊ณ , ์๋ก์ด ๊ธฐ์ ์คํ์ด ์๋ค๋ฉด ๊ทธ์ ๋ํ ์ ํ ๋ ๋ฐ๋ก ํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๊ธฐ์ธํ ์ ํ๊ธฐ ์ ์ ๋๋ ์ง์ง ํน์๋ํ๊ณ musma์ React-templete์ด ์๋์ง ์ฐพ์๋ณด์๊ณ ์ญ์ ์กด์ฌํ๊ณ ์์๋ค. ํ์ฌ์ ์ปจ๋ฒค์ ์ ๋ง์ถ๊ธฐ ์ํด ๋ถ๋ช ํ ๋ง๋ค์ด๋์ ๊ฒ ๊ฐ์ ๋๋์ด ๋ค์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฝ๊ฐ์ ํดํ๋์ ์์์ง๋ง ๋๋ถ์ ์ด๊ธฐ์ธํ ์ 1์๊ฐ ๋ด์ธ๋ก ์ข ๋ฃ๋์๋ค. ์๋์ง ๋ชจ๋ฅด๊ณ ์งํํ๋ค๋ฉด ์ ๋ง ๊ณ ์ํ์ ๊ฒ์ด๋ค.
ํ์ฌ์ Templete์์ ๋ฐฐ์ด, ์์ผ๋ก ์งํํ ํ๋ก์ ํธ์ ์ ์ฉํ๊ณ ์ถ์ ์
- Import ์์๊ฐ ์ ํด์ ธ์์ด์ ์ด์ ์ ์งํํด์๋ ํ๋ก์ ํธ์๋ ๋ฌ๋ฆฌ ๊น๋ํด์ง๋ค.
- Vite์ ๋ํด ํ์ตํ๊ณ , ์ ์ฉํด๋ณด์์ผ๊ฒ ๋ค.
- ๋ ์ต์ ํ๋ React-templete์ ๋ง๋ค์ด๋๊ณ ์ถ๋ค. ( ํ์ฌ๋ ์ ๋ง ๊ธฐ์ด์ ์ธ templete๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๊ณ ์๋ค )
๐ ์ ์ฐจ ๋ด ๋ง์ ์์ผ๋ก ์ค๋ฉฐ๋ค์ TailwindCSS
์ด์ ์๋ SCSS, Styled-components๋ฅผ ์ฌ์ฉํด์๊ธฐ ๋๋ฌธ์, ์๋ก์ด CSS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ๋๋ ค์๊ณผ ๊ฑฑ์ ์ด ์์ฐ์ง๋ง, ์ ์ฐจ ๋ด ๋ง์ ์์ผ๋ก ์ค๋ฉฐ๋ค์ด ๋๋ฒ์์ด ๋์๋ค.
๋ด๊ฐ ๋๋ TailwindCSS์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- SCSS๋ Styled-components์๋ ๋ค๋ฅด๊ฒ ํด๋์ค ์ด๋ฆ, ์ปดํฌ๋ํธ์ ์ด๋ฆ์ ์ง๋ ๊ณ ๋ฏผ์ ํ ์๊ฐ์ด ํ์๊ฐ ์๋ค. ⇒ ๊ฐ๋ฐ์๋ค์ ์๋ช .. ์ด๋ฆ ์ง๊ธฐ์์ ๋ง์ด ๋ฒ์ด๋ ์ ์๊ฒ ํด์ค๋ค.
- ์์ ๋งํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด UI๋ฅผ ์ํด MUI๋ผ๋๊ฐ ANT๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผํ๋ค. ์ปค์คํ ๋ ๋ณต์กํ๊ณ ์ตํ๋ ค๋ฉด ์๊ฐ์ด ๊ฝค ์์๋๋ค. ํ์ง๋ง TailwindCSS๋ ์์ฒด์ ํด๋น UI๋ฅผ ์ํ Templete์ด ์กด์ฌํ๋ค. ์ปค์คํ ๋ ๋ง์ด ์ฌ์ ๋ค.
- ๋ด๊ฐ ๊ตฌํํด์ผํ View๋ฅผ ์๊ฐํ๋ฉฐ, ๋ฐ๋ก๋ฐ๋ก ์์ฑํ ์ ์๋ค.
- ๊ณต์๋ฌธ์๊ฐ ์น์ ํ๋ค. ๋ด๊ฐ ๋ณธ ๊ณต์ ๋ฌธ์ ์ค์ ์ ํ์ด๋ค.
๋จ์ ์ ์ต์ํด์ง๋ ค๋ฉด ์๊ฐ์ด ์์๋๋ค๋ ์ ์ด๋ค.
ํ์ฌ์ ์์๋๊ป์ ์ด๋ค ํ์ฅ์ฑ์ ์ค์นํ๋ฉด ๋ ํธํด์ง๋ค๋ ๋ง์ ๋ฃ๊ณ ์ค์นํ๊ฒ ๋์ด ๋์ฑ๋ ํธํด์ก๋ค. ์์๋ ๊ณ ๋ง์ต๋๋ค.
๐ โ๏ธ ๋ฐ๋ณด ๊ฐ์๋ ์ผ์ฃผ์ผ
๊ธฐํ์ด ๋๋ 2์ฃผ์ฐจ์๋ ์ ๋ง ๋ป์ง ์๋ ๋ป์ง์ ํ๋ค. ๋ ๋ถ๋ง์กฑ์ค๋ฌ์ ๋ ์์ฝ๋์์์ 2์ฐจ ํ๋ก์ ํธ๋ฅผ ๋๋ด๊ณ ์์ ๊ฐ์ด ๋ง์ด ํ๋ฝํด์์๋ค. ๊ทธ ์ฌํ๋ก TypeScript์ TailwindCSS, ๊ตญ์ ํi18, Mobx์ ๋ํด ๋๋ฌด ๋๋ ค์ํ๋ค. ๋๋ฌด ๋๋ ค์ํ ๋๋จธ์ง 1์ฃผ์ผ์ ๊ฑฐ์ ๋ ๋ ธ๋ค ํด๋ ๊ณผ์ธ์ด ์๋๋ค.
๋ค์ํ๋ฒ ๋์๊ฒ ๋งํ๋ค.. ๋ชจ๋ ๊ฑธ ๊ฐ์๋ก ํด๊ฒฐํ๋ ค๋ ๊ฒ์ ์ ๋ง ํ์๋ค. ์๊ฐ์ด ๋๋ํ ๊ฒ๋ ์๋๊ณ , ๋น์ฅ ์ฝ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํ๋๋ฐ, ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด ์ ๋ง ์๊ฐ๋ญ๋น์ด๊ณ , ๋จ๋ ๊ฒ๋ ์๋ค. ์ค์ํ ๊ฒ์ ์ค์ ์ด๋ค. ์ค์ ์ผ๋ก ๊นจ๋ฌ์๋ผ
๊ทธ๋ฅ ํด๋ณด๋ ๋ณ๊ฑฐ ์์๋ค. ๋ฌผ๋ก TypeScript๊ฐ ์๋๋ผ anyScript๊ฐ ๋ง์ด ๋๊ธดํ๋ค. Mobx๋ ์ํ ๊ด๋ฆฌ๋ฅผ ์ด์ค๊ฐํ๊ฒ ๋๊ธดํ๋ค. ๊ทผ๋ฐ ์ํ๊ด๋ฆฌ๋ฅผ ํ๊ธด ํ๋ค. TailwindCSS๋ ์ ๋ง ์ต์ํด์ก๋ค. ๊ตญ์ ํ๋ ์ ์ฉํด๋ณด์ง ์์์ง๋ง ์ํ ์ฝ๋๋ก ํด๋ณด๊ธด ํ๋ค.
ํ์ ๋ ์๊ฐ ์์์ ๋ชปํ๋ค๊ณ ๊ฐ์๋ฅผ ๋ณด๋ฉด์ ์๋ฒฝํ๊ฒ ํ๋ ค๊ณ ํด์ ์ง์ฐ๋๋ ๊ฒ๋ณด๋ค ์๋น์ค๋ ๊ตฌํํด๋๊ณ , ๋์ค์ ๊ณ ์ณ๋๊ฐ๋ ๊ฒ์ด ๋ฒ ์คํธ์ด์ง ์๋๊น ์ถ๋ค.
๐ฅ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ง ๋ชปํ๋ค.
๋์ผํ ๊ตฌ์ฑ์ผ๋ก 3๊ฐ์ ํ์ด์ง๊ฐ ์์๋๋ฐ, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ง๋ฅผ ๋ชปํ๋ค. ๋ฌผ๋ก ์ฌ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋คํด์ ์๊ฐ์ด ๋ง์ด ์์๋ ๊ฒ์ ์๋๋ค. ๋ค๋ง ๋์ค์ ์ ์ง๋ณด์์ ๋ค์ด๊ฐ ๋ฆฌ์์ค๊ฐ ๋ง์ด ์๋ชจํ ๊ฒ์ผ๋ก ํ๋จ๋๋ค.
์ด๊ฒ์ ์ธํด์ญ์ ๋ง์น ํ์๋ ์ฌ์ ํ ์๋ฌธ์ด๊ณ ์์๊ป๋ผ์ธ ์ํ๋ก ๋จ์๋ค.
API์ ์ปฌ๋ผ ๊ฐ์ด ๋ค๋ฅธ๋ฐ, ์ด๋ป๊ฒ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ์ธ๊ฐ?
// equipment page
<td className="py-1.5 text-center">{data.equipmentType}</td>
<td className="py-1.5 text-center">{data.company}</td>
// device page
<td className="py-1.5 text-center">{data.serialNumber}</td>
<td className="py-1.5 text-center">{data.status}</td>
๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ํด๋ณธ ์ฌ๋์ด๋ผ๋ฉด ๋ค๋ค ์๋ค์ํผ { data.status} ๋ผ๋ ์์ผ๋ก ๋ฐ์ธ๋ฉ์ ํ๊ฒ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ค๋ฅธ ํ์ด์ง์๋ status๋ผ๋ ์ปฌ๋ผ์ด ์๋ค๋ฉด, ํด๋น ํ์ด์ง๋ status๋ผ๋ ์ปฌ๋ผ์ด ์๊ธฐ ๋๋ฌธ์, ‘ ์๋ ๋ฐ์ดํฐ์ ๋ํด ์ด๋ป๊ฒ ์ ๊ทผ์ ํ๋ ’ ๋ผ๋ ์๋ฌ๋ฅผ ๋์ ๋ ๋๋ง์ ๋ฐฉํดํ๋ค. ์ด๋ฐ์์ผ๋ก 3๊ฐ์ ํ์ด์ง ๋ชจ๋ API์ ์ปฌ๋ผ ๊ฐ๊ณผ ํ์์ด ๋ชจ๋ ๋ฌ๋๋ค. 1์ฐจ์ ๋ฐ์ดํฐ ๊ฐ๊ณต์ด๋ผ๋ฉด ํ ์ ์์ง๋ง, ์ปฌ๋ผ ๊ฐ์ ์ด์ฐํ ๋๋ฆฌ๊ฐ ์์๋ค.
๊ทธ๋์ ์๊ฐ์ ๋จผ์ ๊ณ ๋ คํ๋ค. ๋ด๊ฐ ์ด๊ฒ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋๋ฐ ์ผ๋ง๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ธ๊ฐ?
์๊ฐ์ด ์ผ๋ง๋ ์์๋ ์ง ๊ฐ์กฐ์ฐจ ์ค์ง ์์ ์ฐจ์ ์ฑ ์ ๊ณ ๋ คํ์ฌ, ์ ์ฉํ๋ค.
ํด๋น ํ์ด์ง์ ๋๊ฐ์ ์ฝ๋๋ฅผ ๋ณต์ฌํด์ ๋ถ์ฌ๋ฃ๋ ๊ฒ๋ณด๋ค๋ ํ์ฌ ํ์ด์ง์ ๊ฒฝ๋ก๋ฅผ ๋ณ์๋ก ์ ์ฅํ์ฌ ๊ทธ ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋ถ๊ธฐ์ ์ ๋ง๋ค์ด์ ๋ค๋ฅธ ์ปฌ๋ผ ๊ฐ์ด ์ ์ฉ๋๋๋ก ํด๋์๋ค.
const pathCheckerOptionData: any = () => {
switch (pathName) {
case 'equipmentList':
return equipmentData
case 'deviceList':
return deviceData
case 'adminHistory':
return adminHistoryData
}
}
{
;(() => {
if (pathName === 'equipmentList') {
return (
...your code
)
}
if (pathName === 'deviceList') {
return (
...your code
)
}
if (pathName === 'adminHistory') {
return (
...your code
)
}
})()
}
โ ๏ธ ์ค๋ ธ์ฐ๋ณผ ํจ๊ณผ๋ก ๋ฏธ์์ฑํ ํ๋ก์ ํธ
1์ฃผ์ฐจ์์ ๊ธฐํ์ด ์ค๋๊ฑธ๋ฆฐ ์ ๊ณผ 2์ฃผ์ฐจ์์ ์๋ก์ด ๊ธฐ์ ์คํ์ ๋ํ ๋ง์ฐํ ๋๋ ค์์ผ๋ก ์๊ฐ์ ํ๋นํ ๊ฒ์ด ์ค๋ ธ์ฐ๋ณผ์ด ๋์ด ๋ถ์กฑํ QA ์๊ฐ์ ๋ถ๋ฌ ์๊ณ , ํ๋ฅ๋ ๋ฐํ์๊ฐ ๋ฑ, ์ด๋ ์ฐ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ฌ์ ์ค์ํ ํ๋ก์ ํธ์๋ค๋ ๊ฒ์ ์ธ์์ํค๋๋ฐ ์คํจํ๋ค.
์คํจ์ ์์ธ์ ์์ ๋งํ ๊ฒ๊ณผ ์ค๋ณต๋์ง๋ง ํผ๋๋ฐฑ์ ๋ฐ์ ๊ฒ์ ์์ฃผ๋ก ๋ค์ ์ ๋ฆฌํด๋ณธ๋ค.
- 4์ฃผ๋ผ๋ ์๊ฐ์ด ์์๋๋ฐ, ํ๋๋์ ์คํจํ๋ค. 3์ฃผ๋ฉด ๊ฐ๋ฐ์ด ๋๋์ผํ๊ณ , ๋ง์ง๋ง 1์ฃผ๋ QA์ ์๊ฐ์ด๋ค
- ๊ธฐํ์ ๋๋ฌด ์ค๋์๊ฐ์ ์์๋ค. ๊ฐ์ค์ ์ธ์ ์ผ๋ฉด ๊ทธ ๊ฐ์ค์ ๋ํ ๊ฒ์ฆ์ ๋นจ๋ฆฌ๋นจ๋ฆฌ ๋ฐ์์ ํผ๋๋ฐฑ์ ๋ฐ๋ ๋ฃจํด์ ๋น ๋ฅด๊ฒ ํด์ผํ๋ค.
- ์๋๋ ๊ฒ์ ๋ํด ๋๋ฌด ๋ถ์ก์ง ์๋๋ค. ๊ทธ๋ฐ ๊ฒ์ ๋ํด ์ค๋ ๋ถ์ก๋ ๊ฒ์ ์ ๋ฌด ํ๋ง์ด๋ค.
- ๊ฐ์ธ์ผ๋ก์ ์ผํ๋ ๊ฒ์ด ์๋๋ผ, ํ์์ผ๋ก์ ์ผํด์ผํ๋ค.
๋ด๊ฐ ํ๋ก์ ํธ์ ์งํ์ด ๋๋ ธ๊ธฐ ๋๋ฌธ์, ํน์ ํ์์ด ํ๋ก์ ํธ์ ์งํ์ด ๋๋ ธ๋ค๊ฐ ์๋๋ผ ํ์ ์คํจ์๋ค. ๋ฌผ๋ก ์คํจํ๋ค๊ณ ํด์ ๋๋ดํ์ง ์๋๋ค. ์ด ์คํจ ์์์ ๋ง์ ๊ฒ์ ๋ฐฐ์ ์ผ๋ฉฐ, ์ด ํ๋ก์ ํธ์ ํ์ฅ๋๊ป ๋ ๋ง์ ํผ๋๋ฐฑ์ ๋ฐ์๋ค
๋ฌผ๋ก ํ๋ก์ ํธ๋ ์ธํด์ญ์ด ๋๋๊ณ ๋ง๋ฌด๋ฆฌ ์ง์๊ณ , ๋ฆฌํฉํ ๋ง์ ์งํ์ค์ด๋ค.
โค๏ธ ํ๋ก์ ํธ๋ก ๋ฐฐ์ด ๊ฒ๊ณผ๋ ๋ณ๊ฐ๋ก ๋๋ฃ์๊ฒ ๋ฐฐ์ธ ์ ์ด ๋ง์๋ค.
๊ฐ์ ํ๋ก ํธ์ค๋ ํฌ์ง์ ์ธ ์๋ค๋์๊ฒ ๋ฐฐ์ธ์ ์ด ๋ง์๋ค. ๋๋ 1,2์ฐจ ๋ ์ด๋ฐ๊ฒ์ ๋ง์ด ๊ฒฝํํด๋ณธ์ ์ด ์์๊ธฐ ๋๋ฌธ์, ๋ ๋ง์ด ๋ฐฐ์ธ ์ ์์๋ค. ๋ด๊ฐ ๊ณ์ ์ง์ผ๋ดค๋ ๋์ ํ ๋๋ฃ์ ์ฅ์ ์ ๊ณต์ ํ๊ณ ์ ํ๋ค.
์ฒซ ๋ฒ์งธ๋ ๋ฐฑ์ค๋์์ API ๋ช ์ธ์๋ฅผ ๊ณต์ ํ์ ๋, ๊ผผ๊ผผํ๊ฒ ์ฒดํฌํ๋ ์ ์ด๋ค. ๋น ์ง ๋ฐ์ดํฐ๋ ์๋์ง, ํ์ ์๋ ๊ฐ์ด ์๋ค๋์ง, ํ์์ ๊ณ ์ณ์คฌ์ผ๋ฉด ํ๋ค๋์ง, ์ง๋ฌธ์ด ์๋ค๋์ง ์ฒดํฌํด์ ๋ฐฑ์ค๋์ ๊ณ์ ํผ๋๋ฐฑ์ ์ฃผ๊ณ ๋ฐ์๋ค.
๋ ๋ฒ์งธ๋ ๊ธฐ๋ฅ ๋ช ์ธ์๋ฅผ ๋ฐ์์ ๋, ์์ ๋ง์ ๊ฐ์ค์ ๊ณ์ ์ธ์ด ์ ์ด๋ค. ๋น๋ก ๊ฒ์ฆ์ ๋ชปํ์ง๋ง ๊ณ์ ๊ฐ์ค์ ์ธ์ฐ๊ณ ๋์ ์๊ฒฌ์ ์ฃผ๊ณ ๋ฐ์๋ค.
์ธ ๋ฒ์งธ๋ ์ด๋ค ๊ธฐ์ ์คํ์ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์ ์ด๋ป๊ฒ ์ ํ ๊ฒ์ธ์ง ์ ํ๊ณ ์ ํ ๋, ๋ฑ ์ด๊ฒ์ผ๋ก ์ ํ์๊ฐ ์๋๋ผ, ์๋ก๊ฐ ๋ชจ๋ฅด๋ ๋ฐฉ๋ฒ์ ๊ณต๋ถํด์ ์๋ก์๊ฒ ์ค๋ช ํด, ๋ ๋์ ๋ฐฉ๋ฒ์ผ๋ก ๋์๊ฐ์! ๋ผ๊ณ ํ๋ ์ ์ด๋ค. Mobx์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋๊ณ ์๊ฒฌ์ ์ฃผ๊ณ ๋ฐ๊ฒ ๋ฌ๊ณ , ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋ ์ฌ์ฉํ๊ฒ ๋์๋ค.
๋ค ๋ฒ์งธ๋ ์์ ๊ฐ ๋์น๋ ์ฌ๋์ด๋ผ๋ ์ ์ด๋ค. ํ๋ก์ ํธ 2์ฃผ์ฐจ๊น์ง ์์ ์๋ ๋์๋ ๋ค๋ฅด๊ฒ, ํญ์ ์์ ๊ฐ์ด ๋์ณ์ ๋์๊ฒ๋ ๊ธ์ ์ ์ธ ์ํฅ์ ์คฌ๊ณ , 80% ์ด์ ๊ฐ๋ฐ์ ์งํํ ์ ์์๋ค.
์ฐ๋ฆฌ๊ฐ ๋ง๋ ์๋น์ค๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์ด ๋งํฌ๋ก ์ด๋ํ๊ธธ ๋ฐ๋๋ค.
ํ์ฌ ๊ฐ๋ฐ ์ํ๋ก๋ ๋ฐฑ์ค๋๊ฐ ๋ฐฐํฌ๋์ด ์์ง ์์, ์์ด๋ฆฌ๋ฏ๋ก, Dev์์ ๋ฆฌํฉํ ๋ง์ ์งํ ์ค์ด๋ค.
'Memoirs > ํ๊ณ ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ต ์ข ๋ฃ ํ ํ๊ณ (0) | 2023.01.09 |
---|---|
์ทจ๋ฝ์ ์ฑ๊ณตํ๋ค. (2) | 2022.09.17 |