- ๊ฐ๋ฐ์ ์๊ฐ
- ํ๋ก์ ํธ ์ํคํ ์ณ
- ์คํ ๋ฆฌ๋ณด๋
- ๊ธฐ๋ฅ๋ช ์ธ์
- ํ ์คํธ ๊ณํ
- ํ๋ฉด ํ ์คํธ
- ๐๊น๊ท๋ฆฐ: ํผ๋ ๋ฆฌ์คํธ, ์์ธ ํ๋ฉด
- ๐๋ฐ๊ฒฝ๋: ๋ก๊ทธ์ธ, ์ 3์ ๋ฐฉ์์ ํตํ ์ธ์ฆ ํ์๊ฐ์ ํ๋ฉด
- ๐๋ฐ๊ณ ์: ๋ชจ์ง๊ธ ๋ฆฌ์คํธ, ์์ธ, ์์ฑ ํ๋ฉด
- ๐์์น์ฝ: ์ฑ์ฉ ๊ด๋ จ ๋ฐ์ดํฐ ์์ง ๊ธฐ๋ฅ ์ถ๊ฐ, ์ฑ์ฉ์ ๋ณด ๋ฆฌ์คํธ ํ๋ฉด
- ๐์ดํ์ฐ: ๋ง์ดํ์ด์ง ๋ด์ ๋ณด(ํ๋กํ ์ด๋ฏธ์ง, ๋ด์ ๋ณด, ๊ฒฝ๋ ฅ), ํ์์ ํผ๋ ๋ฐ ๋ชจ์ง๊ธ, ๋ชจ์ง ์ ์ฒญ ์ธ์ ๊ด๋ฆฌ, ์ ์ฒญ ์ค์ธ ๋ชจ์ง๊ธ ๊ด๋ฆฌ ํ๋ฉด
1. ๋ง์ดํ์ด์ง
1. ๋ด์ ๋ณด
2. ํ๋กํ ์์
3. ๊ฒฝ๋ ฅ ์ถ๊ฐ
4. ์์ฑํ ํผ๋ ๋ชฉ๋ก
5. ์์ฑํ ํผ๋ ์์
6. ์์ฑํ ๋ชจ์ง๊ธ ๋ชฉ๋ก
7. ์์ฑํ ๋ชจ์ง๊ธ ์์
8. ์์ฑํ ๋ชจ์ง๊ธ ์ ์ฒญ ๋ชฉ๋ก
9. ์ ์ฒญํ ๋ชจ์ง๊ธ ๋ชฉ๋ก
2. ๊ฒ์๋ฌผ
1. ๊ฒ์๋ฌผ ์ ์ฒด ์กฐํ
2. ๊ฒ์๋ฌผ ์์ธ ์กฐํ
3. ๊ฒ์๋ฌผ ์์ฑ
4. ๊ฒ์๋ฌผ ์
1. ๋ง์ดํ์ด์ง
4. ๋ชจ์ง๊ธ
1. ๋ชจ์ง๊ธ ์ ์ฒด ์กฐํ 2. ๋ชจ์ง๊ธ ์์ธ์กฐํ 3. ๋ชจ์ง๊ธ ์ ์ฒญ4. ๋ชจ์ง๊ธ ์์ฑ
- ๊น๊ท๋ฆฐ: ์ด ํ๋ก์ ํธ์ ๋ํ ์ฃผ์ ๋ฅผ ์ ํ๋ฉด์ ๋ง์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ฌ ์ฌ๋๋ค์๊ฒ ๋ณด์ฌ์ฃผ๊ณ ์ถ๋ค๋ ์์ฌ์ด ์ปธ์๊ณ , ์ฒ์ ๋งํฌ๋ฅผ ํด๋ฆญํ์ ๋ ๋ณด์ด๋ ๋ฉ์ธ ํ์ด์ง๋ฅผ ์ฅ์ํด์ผ ํ๋ค๋ ๋ถ๋ด๊ฐ๋ ์ปธ์๋ค. ํ์ง๋ง ๋ฐฑ์๋ ๋ RestAPI ๋ฐ JPA ๋ฑ์ผ๋ก ๊ธฐ๋ฅ ๊ตฌํํ๊ณ , ํ๋ก ํธ์๋ ๋ vue.js, css, html ๋ฑ์ผ๋ก ํ๋ฉด ๊ตฌํํ๋ฉด์ ์์ ์๊ฐ์์ ๋ฐฐ์ด ๊ฒ๋ค์ ํ์ฉํ ์ ์๋ค๋ ์ฆ๊ฑฐ์๊ณผ ํ๋ ์ํฉ์ ์ง๋ฉดํ์ ๋ ํ์๋ค๊ณผ ๊ฐ์ด ๋ฐฐ์ฐ๊ณ ํด๊ฒฐํด ๋๊ฐ๋ ๊ณผ์ ์ด ๋๋ฌด ์ธ์ ๊น์๋ค. ๋ํ ์ด ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋์ ๋ถ์กฑํ ์ ์ด ๋ฌด์์ธ์ง๋ฅผ ์๊ฒ ๋๋ ๊ณผ์ ์ด์์ผ๋ฉฐ, ๋ฐ์ ํด ๋์๊ฐ๋ ๊ณผ์ ์ด๋ผ๊ณ ๋๊ผ๋ค. ๋ด๊ฐ ๋งก์ ํ๋ก ํธ ๋ถ๋ถ์ด ๋ชจ๋ ๊ตฌํ๋ ๊ฒ์ ์๋์ง๋ง, ์ดํ์๋ ์ฐจ์ฐจ ์งํํ์ฌ ์์ฑ๋๋ฅผ ๋์ฌ ๊ฐ๊ณ ์ถ๋ค.
- ๋ฐ๊ฒฝ๋: ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ฉด์, ์ง๋ ์ฌ์ ์ ๋์๋ณด๋ ์ ๋ง ๋กค๋ฌ์ฝ์คํฐ ๊ฐ์ ์๊ฐ์ด์๋ค. ํนํ ํ๋ก ํธ์๋์ ๊ด๋ จ๋ ๋ถ๋ถ์์๋ Vue๋ฅผ ๋ค๋ฃจ๋ฉด์ SPA๋ฅผ ๋ง๋ค๊ณ , CORS์ CSR ๊ฐ์ ์๋ก์ด ๊ฐ๋ ๋ค์ ์ง๋ฉดํ๋ ๊ฒฝํ์ด ๋ง์ด ๋จ์๋ค. ๊ทธ๋ฆฌ๊ณ Spring Gateway๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฐ์ํ CORS ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ์ ํนํ ๊ธฐ์ต์ ๋จ์ต๋๋ค. ์ฒ์ SPA๋ฅผ ๋ค๋ค์ ๋๋, ํ์ด์ง๊ฐ ์๋ก๊ณ ์นจ ์์ด ๋น ๋ฅด๊ฒ ๋ก๋๋๊ณ ์ฌ์ฉ์์๊ฒ ๋ถ๋๋ฌ์ด ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ฒ ์ ๋ง ์ ๊ธฐํ๊ณ ๋ฉ์ ธ ๋ณด์๋ค. Vue.js๋ฅผ ์ฌ์ฉํด์ ์ด๋ฐ ํจ๊ณผ๋ฅผ ๊ตฌํํ๋ ๊ฑด ์๋กญ๊ณ ์ ๋๋ ๋์ ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ Spring Gateway์ ํจ๊ป ์์ ํ๋ฉด์ CORS ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์ ์ ๋ง ํค์ด๋์ฌ ์ ์๋ ๋ฏธ๋ก ๊ฐ์๋ค. ๋ค๋ฅธ ํ๊ฒฝ ๊ฐ์ ๊ณต์ ๊ฐ ์ด๋ ๊ฒ ๋ณต์กํ ์ค์ ๋ชฐ๋์ผ๋๊น... ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ๋ฌ ์๋๋ฅผ ํ๋ฉด์, ๊ฒฐ๊ตญ ์ฑ๊ณต์ ์ผ๋ก ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ค์ ์ ์ฐพ์๋์ ๋์ ๊ทธ ์ฑ์ทจ๊ฐ์ ์ ๋ง ๋๋จํ์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒฝํ์ ํตํด ๋๋ ๊ฑด, ๊ธฐ์ ์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์์ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์๋ค๋ ๊ฒ. ํนํ, ์๋ก์ด ๊ธฐ์ ์ด๋ ๊ฐ๋ ์ ์ฒ์ ์ ํ๊ณ ์ด๋ฅผ ํ๋ก์ ํธ์ ์ ์ฉํ๋ ๊ณผ์ ์ ๋๋ก ๋ต๋ตํ๊ณ ์ด๋ ต๊ณ ์ด์ง๋ฝ๊ฒ ๋๊ปด์ง ์ ์๊ฒ ์ง๋ง, ๊ทธ๋งํผ ๋ ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ ์ ์๋ ๊ธฐํ๊ฐ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์ผ๋ก ์ด ํ๋ก์ ํธ์์ ๋ฐฐ์ด ๊ตํ์ ๋ฐํ์ผ๋ก ๋ ๋ง์ ๋์ ์ ํด๋๊ฐ๋ฉด์, ๋์ฑ ๋ฐ์ ๋ ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ๋ค. ์ฒ์์๋ ์ด๋ ต๊ฒ ๋๊ปด์ก๋ ๊ฒ๋ค๋ ์๊ฐ์ด ์ง๋๋ฉด ์ต์ํด์ง๊ณ , ๊ทธ ๊ณผ์ ์์ ๋๋ผ๋ ์ฑ์ฅ์ด ์ ๋ง ๊ฐ์น ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ๋ก์ ํธ๋ฅผ ํ๋ํ๋ ๋๋ง์น ๋๋ง๋ค ์ป์ด ๊ฐ๋ ๊ธฐ์ , ๊ฒฝํ, ๊ตํ์ ๊ฐํ ๋ฌด์๊ณผ ๋ฐ๊ฟ ์ ์์๊น...
- ๋ฐ๊ณ ์: ์ด๋ฒ ํ๋ก์ ํธ์์๋ RestAPI๋ฅผ ํ์ฉํ์ฌ ๋ฐฑ์๋๋ฅผ ๊ฐ๋ฐํ๊ณ , vue.js๋ฅผ ์ด์ฉํ์ฌ ๋์ ์ด๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ํ๋ก ํธ์๋๋ฅผ ์ ๊ณตํ๊ณ ์ ํ์ต๋๋ค. ์ด ๊ณผ์ ์์ JPA๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ฉด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํธ ์์ฉ, ๋ฐ์ดํฐ ํต์ ๊ณผ์ ์์ DTO๋ VO์ ์ ๋ฐ์ ์ธ ์ญํ ๊ณผ ์ด๋ฅผ ์ฌ์ฉํ์ ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ํจ์จ์ฑ ๋ฑ์ ์ค์์ฑ์ ํ์คํ ์ดํดํ ์ ์๋ ๊ธฐํ๊ฐ ๋์์ต๋๋ค. ๋ ํ๋ก ํธ ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฐฑ์๋ ์๋ฒ์์ ํต์ ๊ณผ์ ์์ CORS ์ค๋ฅ๋ฅผ ๋ง์ฃผํ๋ฉด์ CORS ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ํด ๊ณต๋ถํ ์ ์๋ ์ข์ ๊ฒฝํ์ด์์ต๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ์ป์ ์ง์๊ณผ ๊ฒฝํ์ ๋ฐํ์ผ๋ก ๋ ๋์ ์ฝ๋ ๊ตฌ์กฐ์ ์ฑ๋ฅ์ ์ํด ๋ ธ๋ ฅํ๊ณ , ๋์น ๋ถ๋ถ์ ๋ค์ ์ดํด๋ณด๋ฉฐ ํ๋ก์ ํธ์ ์์ฑ๋๋ฅผ ์ ์ฐจ ํฅ์์์ผ ๋๊ฐ๊ณ ์ถ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ํ์๋ค ๋ชจ๋๊ฐ ํ๋์ ๋ชฉํ๋ฅผ ํฅํด ๋ ธ๋ ฅํ๊ณ ํจ๊ป ์๊ณ ํ๋ ๊ณผ์ ์ด ์ ๋ง๋ก ๊ฐ์ง ๊ฒฝํ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค.
- ์์น์ฝ: ๋ฐฑ์๋ ํ๋ก์ ํธ๋๋ ๊ธฐ๋ณธ์ ์ธ CRUD๊ธฐ๋ฅ๋ค๋ง ๋ง๋ค์์ง๋ง ํ๋ก ํธ์๋๋ก ๋ค์ด๊ฐ๋ฉด์ css, html, javascript, vue.js ๊ฐ์ ์น ํ๋ฉด์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋ฐฐ์ฐ๋ฉด์ ์๋ก์ด ๋๋์ด์๊ณ ์ฆ๊ฑฐ์ ๋๋ฐ, ์ฑ์ฉ๊ณต๊ณ ํ๋ฉด์ ๋์ฐ๊ธฐ ์ํ ์ ๋ ๋์, ํตํฉ๊ฒ์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ธฐ ์ํ ELK๋ ๊ณต๋ถํ ์ ์๋ ๊ธฐํ๊ฐ ๋์ด์ ๊ต์ฅํ ๊ฐ์ธ์ ์ผ๋ก ๋ง์กฑ์ค๋ฌ์ฐ๋ฉด์ ๋ง์๊ฑธ ์ป์ด๊ฐ ์ ์๋ ํ๋ก์ ํธ๊ฐ ์๋์๋ ํ๋ ์๊ฐ์ด ๋ค์๊ณ , ์ฑ์ฉ๊ณต๊ณ ๋ฟ๋ง์ด ์๋ ๊ฒ์๊ธฐ๋ฅ๋ ELK๋ฅผ ์ด์ฉํด์ ๋น ๋ฅธ ๊ฒ์์ ํ๋ ๊ธฐ๋ฅ์ ๋ง์ ์ฌ๋๋ค์๊ฒ ๋ณด์ฌ์ฃผ๊ณ ์ถ์์ง๋ง ํ๋ก ํธ ๊ตฌํ๋ง ๋จ์ ์ํ์์ ํ๋ก์ ํธ ๊ธฐ๊ฐ์ด ๋๋๋ฒ๋ฆฐ๊ฒ ์์ฝ๊ฒ ๋๊ปด์ง๊ธฐ๋ ํ์๋ค. ํ์ง๋ง ๊ตฌํ์ด ๋ ๋์๋ค๋ ๋ถ๋ถ๋ณด๋ค ๋ค๋ฅธ ํ์๋ค๊ณผ ์ด์ฌํ ๋ฌด์ธ๊ฐ ๋ง๋ ๋ค๋๊ฒ ์์ฒด๊ฐ ์ฆ๊ฑฐ์ ๊ธฐ ๋๋ฌธ์ ์ธ์์ ์ธ ํ๋ก์ ํธ๊ฐ ๋๊ฒ ๊ฐ๋ค.
- ์ดํ์ฐ: ์ด์ ํ๋ก์ ํธ์ ๊ตฌ์ถํ ์๋ฒ์ vue๋ฅผ ํตํด ์งํํ ํ๋ก ํธ์์ ์ํธ์์ฉ์ ์ค์ ์ผ๋ก ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ค. ๊ธฐ์กด์ ์ค๊ณํ rest api๋ฅผ ๋ฐํ์ผ๋ก ํ๋ก ํธ์์ ํ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ด ๋ฌด์์ด ์์๊น ๊ณ ๋ฏผ์ ํ๋ฉด์ ํ๋ฉด์ ๊ตฌํํ์๋ค. ํ๋ฉด์ ๋ถ๋ฌ์ฌ ๋ ๋ถ๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ์์ ์ปดํฌ๋ํธ๊ฐ ๊ฐ์ด ์์ฑ๋ ๋ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ์ฒ๋ฆฌํ๋ฉด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ชจ๊ฐ ๋ฐ๊ณ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์์ด ๋ฌผ๋ ค ๋ฐ๋ ๊ณผ์ ์์ ์ ๊ฒฝ์ ์ธ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ ๊ณผ์ ์์ ๋ฏธ์ฒ ์๊ฐํ์ง ๋ชปํ๋ ๋ถ๋ถ๋ค๋ ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋ฐ๊ฒฌํ ์ ์์๋ค.