์๋ ์๋ 6๊ฐ์ ๋จ์๋ก ํ๊ณ ํ๋ ๊ธ์ ๋ธ๋ก๊ทธ์ ์ฌ๋ ธ์๋๋ฐ ์ด๋ฏธ ์ฌํด์ 2/3๊ฐ ์ง๋ฌ์ง๋ง ๊ทธ๋๋ ํ ๋ฒ ์ ์ด๋ณด๋ ค๊ณ ํ๋ค.
์๋ ๋ณด๋ค๋ ๋๋ฉ์ธ์ง์ + ์ฒ์๋ณด๋ ์ฝ๋๊ฐ ์ค์ด๋ฌ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์์ํ์ผ๋ ๊ทธ๋๋ ๊ธฐ์ต์ ๋จ๋ ํ๋ก์ ํธ๋ค์ด ์ข ์์๋ค.
๊ฐ์ฅ ๊ธฐ์ต์ ๋ง์ด ๋จ๋ ์ผ์ ๊ธฐ์กด JSP ํ์ด์ง์, CRA๋ฅผ ejectํ ํ๋ก์ ํธ ๊ธฐ๋ฐ์ Node+React ํ์ด์ง๋ค์ ์น ๋ค yarn workspace + Next.js ๊ธฐ๋ฐ์ ๋ชจ๋ ธ๋ฆฌํฌ๋ก ์ฎ๊ธฐ๋ ์ผ์ด๋ค. ์ด๋ ค์ด ์ผ (= Next.js๊ฐ ์ํด์ฃผ๋๋ฐ ์ฐ๋ฆฌํํ ํ์ํ ์ผ)์ ๋ค๋ฅธ ํ์ ๋ถ๋ค์ด ํ์๊ณ ๋๋ ์ค์ ์ปดํฌ๋ํธ์ ๋ก์ง ์ฎ๊ธฐ๊ณ , ๊ทธ๊ฑฐ ๋น๋ํด์ ํ์ฌ ํด๋ฌ์คํฐ์ ๋์ฐ๊ณ ๋ชจ๋ํฐ๋ง ํ๋ ๋ถ๋ถ์ ์ฃผ๋ก ์์ ํ์ง๋ง ๊ทธ๋๋ ๋ชจ๋ ธ๋ฆฌํฌ ํ๊ฒฝ์ด ๊ตฌ์ฑ๋๋ ๊ฒ์ ๋ฐ๋ฅ๋ถํฐํฐ ์ง์ผ๋ณด๋ฉด์ node ๋ชจ๋์ด ๋ฌด์์ผ๊น?๋ ๋น๋๋๊ณ ๋์๊ฐ๋ ๊ณผ์ ์ ๋ํด์ ์ข ๋ ์ดํดํ ์ ์๋ ๊ณ๊ธฐ๊ฐ ๋์๋ค. ๋ํ ๊ธฐ์กด์ ์ ๋์๊ฐ๋ ์ฝ๋์ ํผ์ฒ ์ถ๊ฐํ๋ ์ผ์ ์ฃผ๋ก ํ๋ค๊ฐ ์๋ก ๋ณด์ผ๋ฌํ๋ ์ดํ ์ ํด์ ํธ๋ํฝ์ ๋ฐ์๋ณด๋ ๊ฒฝํ ์์ฒด๊ฐ ๋๊ฒ ์์คํ๋ค. Next.js๋ฅผ ์จ๋ ๋ ๊นโฆํ๊ณ ์ฒ์์ ๊ฑฑ์ ์ด ๋ง์๋๋ฐ ๋คํํ ์๋น์ค๋ ์ ๋์๊ฐ๊ณ ์๊ณ , ๊ณ์ํด์ ์ฐ๋ฆฌ์๊ฒ ํ์ํ๋ ๊ธฐ๋ฅ์ด ๋ง์ด ์ถ๊ฐ๋์ด์ ์ ํ์ ๋๋๋ ค์ผ ํ๋ ์ผ์ ๋ฒ์ด์ง์ง ์์๋ค. ์ค๋ น ์ด์๊ฐ ์๋๋ผ๋ ์ด๋ฏธ ๋ค report ๋ ์ด์๋ผ์ ์ปค๋ฎค๋ํฐ์ ํ์ ๋๊ผ๋ค.
์ฌ์ ํ Spring / JSP / jQuery๋ก ๋์๊ฐ๋ ํ๋ก์ ํธ๋ฅผ ์ ์ง๋ณด์ ํ ์ผ๋ ์์๋๋ฐ ์ฒ์์๋ ์ ๋ง ์ฝ๋ ์ฝ๊ธฐ๊ฐ ํ๋ค์์ง๋ง ์ ์์ด ๋๊ณ ๋๋ ๋๋ฆ ์นํ์ด์ง๋ฅผ ๋ง๋ค์ด๊ฐ๋ ๋๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ฒฝํํ๊ฒ ๋ ๊ฒ ๊ฐ์์ ๋จ๋๊ฒ ์์ง๋ ์์๋ค. ๋ฌผ๋ก ์ต๊ทผ์ ํธ๋ ๋์๋ ๋ง์ง ์์ง ์์ง๋ง ๋์์ธ ์์คํ ์ด ์ ๊ฐ์ถฐ์ ธ ์๊ณ , ํ์ํ ์ปดํฌ๋ํธ๋ฅผ ๊ฑฐ์ ์กฐํฉ๋ง ํด์ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ์คํ๋ ค FE์ BE ์ฌ์ด์ API๊ฐ ์๋ ๊ฒ๋ณด๋ค ๊ฐ์ฒด๊ฐ ๋ฐ๋ก ํ ํ๋ฆฟ์ ๋ค์ด๊ฐ๋ ๊ฒ์ด ์์ ์ด ๋ ๋น ๋ฅธ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ๋๊ผ๋ค (์ค๊ฐ์ ๋ ์ด์ด๊ฐ ํ๋ ์์ด์ง๋ ๊ฒ์ด๋ ๋น์ฐํ ์ฝ๋๊ฐ ๊ฐ๋จํด์ง๋ ๋์ ์ ๋ฐ๋๋ก ๊ฒฐํฉ๋๊ฐ ๊ฐํด์ง๊ณ ์ฌ์ฌ์ฉ์ด ํ๋ค์ด์ง๋ค). HEY๊ฐ์ ์๋น์ค๋ ๊ทธ๋ฅ rails๋ก html์ ๊ทธ๋ฆฌ๊ณ plain javascript๋ก ์ธํฐ๋์ ์ ๋ฃ๋๋ค๊ณ ์ด๋ค๊ณ ํธ์ํฐ ์์ ๋ดค๋๋ฐ ํ์ฌ์ FE ์คํ๋ค์ด ๊ณผํ๊ฒ ๋ณต์กํ๋ค๊ณ ๋๊ปด์ง๋ ๊ฒฝ์ฐ์ ์ข์ ๋์์ด ๋ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
ํ๋ก์ ํธ ์ธ์ ์ผ๋ก๋ ๋งํฌ์ ์ ์ํ๊ณ ์ปดํฌ๋ํธ๋ BFF๋ฅผ ๋ง๋๋ ๊ฐ๋ฐ์์ ๋กค์ ๋ํด์ ์ข ๊ณ ๋ฏผ์ ๋ง์ด ํ๋ค. ์ง๊ธ ํ์ฒ๋ผ BFF๋ฅผ FE๊ฐ ๋ง๋ค๋ฉด ํ์คํ API ๋์์ธ/์คํ์ ๊ดํ ์ํต ๋น์ฉ์ ์ฃผ๋ ๋์ ์ ์ปดํฌ๋ํธ๋ ๋งํฌ์ ์ด ์ฎ์ฌ์ ๋ธ๋ผ์ฐ์ ์์ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง์ ๋ํ ์ดํด๋๊ฐ ๋จ์ด์ง๊ฒ ๋๋ ๋จ์ ์ด ์๋ค. ํ์์ ์์ญ์ ๋ณดํต ๋ฐ์ดํฐ๋ ๋น์ฆ๋์ค ๋ก์ง๋ง ๋ฐ๊ฟ ๋๋ ์ ๊ฒฝ ์ธ ์ผ์ด ์๋๋ฐ ์ธํฐ๋์ ์ด ์ข ๋ณต์กํ๋ค๋๊ฐ, ํ์ด์ง๋ฅผ ๊ฐํธํ๋ค๋๊ฐ ํ ๋ ์์์น ๋ชปํ ์ง์ ์์ ์ด์๋ก ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ์ฌ์ค ์ด๊ฑด ๋ด๊ฐ ๋งํฌ์ ๊ฐ๋ฐ์ ๋ถ๋ค์ด ์ ๋ฌํด์ฃผ์๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ข ๋ ๊ผผ๊ผผํ ๋ณด๊ณ ์ดํด๋ฅผ ํ๋ฉด ํด๊ฒฐ๋๋ ์ผ์ด์ง๋ง ์ผ์ ์ด ๊ธํ๋ค๋ ํ๊ณ๋ก ๊ทธ๋ ๊ฒ ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ํ์ฌ ๋ณดํธ์ ์ธ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ๋นํด์ ๋งํฌ์ ์ง์/๊ฒฝํ์ด ์ข ์ฝํ๊ณ , ์ธํ๋ผ๋ ๋ก๊ทธ ์ฒ๋ฆฌ ์ชฝ ์ง์/๊ฒฝํ์ด ๋ง์ ์ํ์ธ๋ฐ ์์ผ๋ก ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๊ฒฝํ์ ์์๊ฐ์ผ ํ ์ง ์ง์งํ๊ฒ ๊ณ ๋ฏผ์ ํด๋ด์ผ ๋ ๊ฒ ๊ฐ๋ค. ํ์ฌ์ ์ฒ์์์ ๋๋ ๋ฑ 2๋ ๋ง ๋ฅ์น๋๋๋ก ์ผ์ ํด๋ณด์ ํ๋๋ฐ ์๊ฐ๋ณด๋ค 2๋ ์ด ๋น ๋ฅด๋ค.
QA์ ๋ํ ๊ณ ๋ฏผ๋ ์ข ๋ง์ด ๋ค์๋ค. ์ง๊ธ์ ์ ๋ด QA๋ ๊ณ์๊ณ , ๊ธฐํ์ ๋ถ๋ ์ข ๊ผผ๊ผผํ ์ด๋ฐ์ ๋ฐ ์ผ์ด์ค๋ฅผ ์ฐพ์์ ๋ด์ฃผ์๋ ํธ์ธ๋ฐ ๋ฐ๋๋ก ๋งํ๋ฉด ๋ด๊ฐ ์ฒ์์ ๊ฐ๋ฐํ ์ฝ๋๋ ํ๋ก๋์ ์ ๋๊ฐ ์ ์๋ ์ํ์ธ๊ฐ..?๋ ๊ณ ๋ฏผ์ด ์กฐ๊ธ์ฉ ์๊ธฐ๊ธฐ ์์ํ๋ค. ๋ง์ฝ ๋์์ฃผ์๋ ๋ถ๋ค์ด ์๋ค๊ณ ๊ฐ์ ํ๋ฉด ์ค์ค๋ก ์ด ์ฝ๋๊ฐ ์ด๋ค ์ผ์ด์ค์์ ์ด๋ป๊ฒ ๋์๊ฐ์ผ ํ๋์ง ์ญ ๋ฆฌ์คํธ ์ ์ ํ ์ ์์ด์ผ ํ๊ณ ๊ทธ๊ฑธ ํธ๋ํนํ๊ธฐ ์ ์ผ ์ข์ ํํ๊ฐ ์๋ํ๋ ํ ์คํธ์ธ ๊ฒ์ ๋ง๋ค. ํ์ง๋ง ์ผ์ด์ค๊ฐ ์ธ๋ถ ๋ฐ์ดํฐ์ ์์กด์ ์ด๊ณ ๊ผญ ๋ด๊ฐ ๊ธฐ๋ํ๋ ์ํ๋ก ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค์ง ์๋ ๊ฒฝ์ฐ๋ ๋ง์์ ๊ผญ ํ ์คํธ๋ง์ด ๋ต์ผ๊น ํ๋ ๊ณ ๋ฏผ์ด ๋ค์๋ค. ์คํ๋ ค ๋ฌธ์ ๋ฅผ ๋นจ๋ฆฌ ํ์ ํ๊ณ ๋นจ๋ฆฌ ๊ณ ์น ์ ์๋ ๊ฐ๋ฒผ์ด ๊ตฌ์กฐ๋ก ์ฝ๋์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ROI๊ฐ ๋ ๋์ฌ ์๋ ์๋ค๊ณ ์๊ฐํ๋๋ฐ ์ ์ ํ ์ ์ ์ ๋ชจ๋ฅด๊ฒ ๋ค (ํ๊ฐ์ง ํ์คํ๊ฑด sentry๊ฐ ๊ฐ์ฑ๋น๊ฐ ์ข์ ํฌ์๋ผ๋ ๊ฒ). ์ด ๊ณ ๋ฏผ์ ๋ํด ๋ต์ ํ ์๊ฐ ์์ ๋ ํ ๋จ๊ณ ์ฑ์ฅํ๋ค๊ณ ๋๋ ๊ฒ ๊ฐ๋ค.
๋ง์ง๋ง์ผ๋ก ๋
ธ๊ฐ๋ค
๋ฅผ ๊ฒฝ๊ณํ๋ ค๊ณ ๋
ธ๋ ฅ์ ๋ง์ด ํ๋ค. ์
๋ฌด๋ก ํ๋ ์ผ์ด ๋๋ฌด ๋จ์ ๋ฐ๋ณต ๋
ธ๊ฐ๋ค์ด๋ฉด์ ์ฑ์ฅ์ ๋์์ด ๋์ง ์๋๋ค๊ณ ๋๊ปด์ง๋ ์๊ฐ๋ค์ด ์ข
์ข
์ฐพ์์ค๊ธฐ ๋ง๋ จ์ด๋ค. ์ด ๋ ๋ค์ ๋์ ํ๊ฒ ๋งํ์๋ฉด ๋ด๊ฐ ์ ๋ง ์ผ์ ์ํ๋ ๊ฐ๋ฐ์๋ฉด ๋
ธ๊ฐ๋ค๋ฅผ ์๋ํ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ด ๋ง๋๋ฐ ๊ทธ๊ฑด ๋ ๋ฒ๊ฑฐ์ฐ๋๊น ๋ฐ์๋ค๋ ํ๊ณ๋ก ๊ทธ๋ฅ ๋ฐ๋ณต์ ์ผ๋ก ์ผ์ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์์ฐ์ฑ์ ์ฌ๋ฆฌ์ง ๋ชปํ ๊ฒ์ด๋ฉด ๋ชธ๊ฐ์ด ์ฌ๋ผ๊ฐ๋ ๊ฒ๋ ๊ธฐ๋๋ฅผ ํ๋ฉด ์๋๋ค.
์ฌ ์๋ฐ๊ธฐ์๋ ๋ฆฌํธ์ฝ๋๋ฅผ ์ข ์ด์ฌํ ํ๊ณ ์ ํ๋๋ฐโฆ ๊ทธ๋ฌ์ง ๋ชปํ ์ ์ด ์ข ์์ฝ๋ค. ์ด๊ฒ ๊ผญ ๋ฏธ๊ตญ ๋๊ธฐ์ ์ ๊ฐ๊ณ ์ถ๋ค๊ธฐ๋ณด๋ค๋ ์ ๋๋ด SWE๋ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ถฐ์ผ ํ ์๊ณ ๋ฆฌ์ฆ ์ง์๊ณผ ๊ทธ๊ฑธ ๊ตฌํํ๋ ๋ฅ๋ ฅ์ด ์๊ณ , ๊ธ๋ก๋ฒํ ๊ทธ ๊ธฐ์ค์ด ์ต์ ๋ฆฌํธ์ฝ๋ ๋ฏธ๋์์ ์ฑ์ฑ ํ ์ ๋๋ผ๊ณ ์๊ฐํด์ ๋ฆฌํธ์ฝ๋๋ฅผ ํ๊ธฐ ์์ํ๋ค. ์ด๊ฒ ์ต์ํ ์ ํ์ด๋ฉด ํ๋ฃจ์ 2~3๊ฐ๋ ํ๊ฒ ๋๋ฐ (์ด์ฐจํผ ์ฝ๋๊ฐ ๊ธธ์ง๋ ์์ผ๋) ๊ทธ๋ ์ง ๋ชปํ ๋ ์ฌ๋ผํ์ ๋น ์ ธ์ ๊ธธ๊ฒ๋ ํ ๋ฌ ๋์ ์์ ์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ์ด๋ ธ์ ๋ ์ํ๋ฌธ์ ํ๋ฉด์ ๋ต์ ๋ณด๊ธฐ ์ซ์ดํ๋ ๊ฒ๊ณผ ๋น์ทํ๋ฐโฆ๋ฌธ์ ๋ ๊ทธ๋๋ ํ๋ฃจ ์ข ์ผ ๊ณต๋ถํ ์๊ฐ ์์๊ณ ์ง๊ธ์ ์๋์ง๋ฅผ ์ชผ๊ฐ์ ๋ฌธ์ ๋ฅผ ํธ๋ ์ ์ฅ์ด๋ผ๋ ์ฐจ์ด๊ฐ ์๋ค (ํธ์ํฐ์์ ์ด๋ค ๋ถ๊ป์ ์ง์ฅ์ธ์ ๊ณต๋ถ๋ ํ์๊ณผ ๋ฌ๋ผ์ ์์กด์ฌ ๋ฒ๋ ค์ผํ๋ค๊ณ ํด์ฃผ์ จ๋๋ฐ ์ ๋ง ์ธ๋ฆผ์ด ์ปธ๋ค). ๊ทธ๋๋ ๊ทธ๋์ ๊นจ๋ฌ์์ด๋ผ๋ฉด ์ ํ์ ์ ํ๊ณ ๊ทธ๊ฒ ์ต์ํด์ง ๋๊น์ง ๊ทธ ์์ญ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ์ด๊ฒ์ ๊ฒ ํธ๋ ๊ฒ๋ณด๋ค ๋ญ๊ฐ ์์ด๋ ๋๋์ด ๋ ๋ ๋ค๋ ๊ฒ.
๋ฆฌํธ์ฝ๋๋ฅผ ํ์ง ์๋ ์๊ฐ์๋ ๊ฐ๋ฐ ์ฑ ์ ์ฝ๊ฑฐ๋ ๊ด์ฌ์๋ ๋๊ตฌ๋ค ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผํ์๋๋ฐ ์ฌ์ค ๋ด๊ฐ ๋ค์ด๋ดค์ ๋ฒํ ๋๊ตฌ ์ค์์ ํํ ๋ฆฌ์ผ ๋ ๋ฒจ์์ ์ ์ ๋์๊ฐ๋ ๋๊ตฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ์ฑ ๋ณด๊ฑฐ๋ ๋ฆฌํธ์ฝ๋ ํธ๋ ๊ฒ์ด ๋จ๋ ์ฅ์ฌ๋ผ๊ณ ๋๊ผ๋ค. ์ฝ์ ์ฑ ๋ค์ ๋ํด์๋ ์ฐ๋ง์ ํ ๋ฒ ์ ๋ฆฌ๋ฅผ ๋ฐ๋ก ํ๋ ค๊ณ ํ๋ค.
์ข ๋ ๋จน๊ณ ๋ ์์ง์ด๋ ค๊ณ ์ ๊ฒฝ์ ์ผ๋๋ ๋คํํ ์ฌํด๋ ์ฒด์ค์ด ์ฐ์ด์ ๋นํด ๊ฑฐ์ ๋์ง๋ ์๊ณ ์ค์ง๋ ์์์ ์ ํ์ ์์์ธ๊ฐ ์ถ๋ค. ์ฐจ๋ ์ถํด๊ทผ or ์ฌํ๊ทผ๋ฌด๋ฅผ ํ๋ ํ์ผ์๋ ์ด๋์ ๋ ๊ฐ์ธ์ ์ผ๋ก ์ธ ์ ์๋ ์ฒด๋ ฅ๊ณผ ์ฌ์ ๊ฐ ์๊ฒจ์ ์ข์๋ค.