๊ธฐ๊ฐ : 2022.09 (1์ฃผ)
์ธ์ : 1์ธ
์ฃผ์ : ํ์ฅ๋์๋ฝ ์ฌ์ดํธ ํด๋ก ์ฝ๋ฉ
์ฌ์ฉ ์คํ: React.js, Redux, Bootstrap, Express, OracleDB
์กธ์ ์ ์ ํ๋ก ํธ์๋ ๋ถ์ผ๋ฅผ ๋ ๊ณต๋ถํ๊ณ ์ ํดํํ๋๋ฐ, ๋ง์นจ ๊ทธ ์๊ธฐ์ ์ด๋ฆฐ ๊ต๋ด ์น ๊ต์ก ํ๋ก๊ทธ๋จ์์ ์งํํ ๊ฐ์ธ ๊ณตํต ํ๋ก์ ํธ์ด๋ค. ๊ฐ์ธ ํ๋ก์ ํธ๋ผ ์ ๋ฐ์ ์ผ๋ก ์ค๊ณํ๊ณ ๊ฐ๋ฐํ์์ง๋ง ํ๋ก ํธ์๋ ํ๊ณ ๋ก์ธ๋งํผ ํ๋ก ํธ์๋ ์ค์ ์ผ๋ก ํ๊ณ ํ๊ฒ ๋ค.
์ง๋ ํ๊ธฐ์ ์งํํ์๋ Movie In Memory์์ ์ปดํฌ๋ํธ ๋ถ๋ฆฌ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ํ์ง ์์์ ๋ถํธํจ์ ๊ฒช์์๋ค. ๊ณ ๊ธ์นํ๋ก๊ทธ๋๋ฐ ์์ ์ ํ ํ๋ก์ ํธ์๋ ์ํ๊ด ํด๋ก ์ฝ๋ฉ ๋ฏธ๋ ํ๋ก์ ํธ์์๋ ๊ต์๋๊ป ํ์ด์ง ์๋ก๊ณ ์นจ์ ๋ํด์ ์ง์ ์ ๋ค์์๋ค.
ํ์ด์ง ์๋ก๊ณ ์นจ ๊ฐ์ ๊ฒฝ์ฐ์๋ window.location.href๋ฅผ ๋จ๋ฐํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๋ฌธ์ ์๋ค. ์ปดํฌ๋ํธ์์ ์์ ์ด ๋ฐ์ํ๋ฉด ๊ทธ ์ปดํฌ๋ํธ๋ง ์๋ก๊ณ ์นจ์ ํ๋ฉด ๋๋๋ฐ ํ์ด์ง ์ ์ฒด๋ฅผ ์๋ก๊ณ ์นจํจ์ผ๋ก์จ ์ปดํฌ๋ํธ๊ฐ ์๋ก๊ณ ์นจ ๋ ๊ฒ์ด์๋ค. ํ๊ธฐ ์ค์๋ ์์ฑ์ ๊ธ๊ธํด์ ์ด๋ฌํ ๊ฒ๋ค์ ์ ๊ฒฝ์ฐ์ง ์์๋๋ฐ, ๊ผญ ๊ฐ์ ํ๊ณ ๊ฐ์ผ ํ ๋ถ๋ถ์ด์๋ค. ์ปดํฌ๋ํธ ๋ถ๋ฆฌ์ ๋ถ๋ถ ๋ฆฌ๋๋๋ง์ด ๋ฆฌ์กํธ์ ์ฅ์ ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ์ฅ์ ์ ํ๋๋ ์ ๋๋ก ์ด์ฉํ์ง ๋ชปํ๊ณ ์์๋ค. ์์ผ๋ก ๋ฆฌ์กํธ๋ฅผ ๋๋ํ๊ฒ ์ฌ์ฉํด๋ด์ผ๊ฒ ๋ค๊ณ ๋ค์งํ์๊ณ , ํ์ฅ ํด๋ก ์ฝ๋ฉ์ ์ด๋ฐ ๋ง์๊ฐ์ง์ผ๋ก ๋ง์ดํ๋ ์ฒซ ๋ฆฌ์กํธ ํ๋ก์ ํธ์ด๋ค.
์ปดํฌ๋ํธ๋ ๋๋ฉ์ธ์ ๋ฐ๋ผ์ ๋๋์ด ๋ณด์๋ค. MIM ํ๋ก์ ํธ๋ฅผ ์งํํ ๋๋ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ ์์ ๋ถ๋ถ๋ค์ ์ ๋ถ component ํด๋ ํ๋ ์์ ๋๋ ค๋ฃ์ด์ ์ฐพ๊ธฐ๊ฐ ๋ง์ด ํ๋ค์๋ค. ํ์ฅ ํ๋ก์ ํธ์ ๊ฐ์ด ๋๋ฉ์ธ๋ณ๋ก ํด๋๋ฅผ ๋ถ๋ฆฌํ๋ค๋ฉด ์ฌ์ง์์ ๋ณด์ด๋ ๋ถ๋ถ๋ค์ common์ด๋ admin ํด๋๋ฅผ ๋ง๋ค์ด์ ํด๋ ๋ถ๋ฆฌ๋ฅผ ํ ์ ์๊ฒ ๋ค.
๊ต์ก์์ ํ๋ก ํธ์๋๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ์ํ ๊ด๋ฆฌ๋ผ๋ ๊ฐ๋
๊ณผ ๋ฆฌ๋์ค๋ฅผ ์๊ฒ ๋์๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ์กํธ์์๋ useState๋ฅผ ํตํด ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ค. ํ์ง๋ง ์ปดํฌ๋ํธ ์์์๋ง ๊ณต์ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ปดํฌ๋ํธ์์๋ ๊ทธ ์ํ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด props๋ก ์ํ๊ฐ๊ณผ ์ํ๋ณ๊ฒฝ๊ฐ์ ๋๊ฒจ์ค์ผ ํ๋ค. hook์ด๋ผ๋ ๊ฐ๋
์ ์ด๋๋ ๋ชฐ๋์๊ธฐ ๋๋ฌธ์ MIM ํ๋ก์ ํธ๋๋ถํฐ ๋๋ฆ ๊ณ ๋ฏผํด์๋ ์ฌํญ์ด์๋ค. ๋ useState๋ฅผ ๋จ๋ฐํ๋ ์ฝ๋๋ ๋๋ฌด ๊ธธ์ด์ ธ์ ๋์ ์ ๋ค์ด์ค์ง ์์๋ค.
๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋์ store์ ์ํ๋ค์ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ๋ค์ ํด์ํ ์ ์์๋ค. ๋์๊ฒ ๋งค์ฐ ์ ์ธ๊ณ์๊ณ ๋ค์์ ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ฒ ๋๋ค๋ฉด ๋ฆฌ๋์ค๋ฅผ ๊ผญ ์ฌ์ฉํด์ผ๊ฒ ๋ค๊ณ ๊ฒฐ์ฌํ๊ฒ ๋์๋ค.
๊ทธ๋ ๊ฒ ์ ์ฉํ ๋ฆฌ๋์ค๋ ์ ์ธ๊ณ์ด๋ฉด์๋ ์กฐ๊ธ ํผ๋์ค๋ฌ์ ๋ค. ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด ์ด๊ธฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํ๋๊น db์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๊ณ ์์ ๊ฐ์ง๊ณ ์์ด์ผ ํ์ง ์๋?์์ ์์ํ ๊ผฌ๋ฆฌ์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌด๋ ์๋ฌธ์ด ์๊ฒจ๋ฌ๋ค. ํ๊ณ ๋ฅผ ํ๊ณ ๋ณด๋ hook์ ๋ชฐ๋์ด์ ๊ทธ๋ฐ ๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ์ด๋์ ๋๋ ๋ฆฌ๋์ค์ ์ก์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํจ์นํ๋ ์ก์ ๋ ๋ง๋ค์๋ค. ๋๋ฌด ๋ง์ ์ก์ ์ ๋ง๋ค์ด์ ํจ์ ์ฐพ๊ธฐ๊ฐ ๋๋ฌด ํ๋ค๊ณ ํท๊ฐ๋ ค์ ๊ณ ์ ์ข ํ๋ค. ๋ค์ ๋ณด๋๊น ํจ์๋ ์ก์ ์ด๋ ์ด๋ฆ์ด ๋ค๋ฅด๋ค ์ด๋ฌ๋๊น ํด๋งธ์ง...
์๋ฌธ์ ์ด ์ ๋ถ ํด์๋ ๊ฒ์ ์๋์ง๋ง ๊ทธ๋๋ ๊ณผ๊ฑฐ๋ณด๋ค๋ ๋ฆฌ์กํธ๋ฅผ ์กฐ๊ธ ๋ ๋๋ํ๊ฒ ์ฌ์ฉํ ๊ฒ ๊ฐ์์ ๋ฟ๋ฏํ๋ค. ์ด ํฌ์คํ ์ ์์ฑํ๋ ์ง๊ธ๋ ๊ฐ์ ํด์ผ ํ ์ฌํญ์ด ๋ณด์ธ๋ค. ๊ทธ๋์ ๊ฐ๋ฐ์๋ค์ด ํญ์ ํ๋ก์ ํธ๋ฅผ ๋ง์น๋ฉด ํ๊ณ ๋ฅผ ํ๋ ๊ฒ ๊ฐ๋ค. ์ฌ๊ธฐ์์ 1์ฃผ์ ๊ฐ๋ฐ ๊ธฐ๊ฐ ์ค ๋ฌด๋ ค ํ๋ฃจ๋ฅผ ๊ฐ์๋ฃ์ด ๋ง๋ ํ ํ๋ฉด์ ํ์ธํ ์ ์๋ค. ๋ฐ์ ์ฌ์ง์ ํด๋ฆญํ๋ฉด DB๊น์ง ์ฐ๋๋์ด ์ฌ์ดํธ๊ฐ ์ด๋ป๊ฒ ๊ตฌ๋๋๋์ง๋ฅผ ํ์ธํ ์ ์๋ค.