๐Ÿ’ก itAbility

๋ชฉ์ฐจ


๊ฐœ๋ฐœ์ž ์†Œ๊ฐœ

  • ๐ŸŠ๊น€๊ทœ๋ฆฐ: ํ”ผ๋“œ ๋ฆฌ์ŠคํŠธ, ์ƒ์„ธ ํ™”๋ฉด
  • ๐ŸŽ๋ฐ•๊ฒฝ๋•: ๋กœ๊ทธ์ธ, ์ œ 3์ž ๋ฐฉ์‹์„ ํ†ตํ•œ ์ธ์ฆ ํšŒ์›๊ฐ€์ž… ํ™”๋ฉด
  • ๐Ÿ๋ฐ•๊ณ ์€: ๋ชจ์ง‘๊ธ€ ๋ฆฌ์ŠคํŠธ, ์ƒ์„ธ, ์ž‘์„ฑ ํ™”๋ฉด
  • ๐Ÿ‰์„œ์Šน์—ฝ: ์ฑ„์šฉ ๊ด€๋ จ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ์ฑ„์šฉ์ •๋ณด ๋ฆฌ์ŠคํŠธ ํ™”๋ฉด
  • ๐Ÿ“์ดํ˜„์šฐ: ๋งˆ์ดํŽ˜์ด์ง€ ๋‚ด์ •๋ณด(ํ”„๋กœํ•„ ์ด๋ฏธ์ง€, ๋‚ด์ •๋ณด, ๊ฒฝ๋ ฅ), ํšŒ์›์˜ ํ”ผ๋“œ ๋ฐ ๋ชจ์ง‘๊ธ€, ๋ชจ์ง‘ ์‹ ์ฒญ ์ธ์› ๊ด€๋ฆฌ, ์‹ ์ฒญ ์ค‘์ธ ๋ชจ์ง‘๊ธ€ ๊ด€๋ฆฌ ํ™”๋ฉด




ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ณ




์Šคํ† ๋ฆฌ๋ณด๋“œ

1. ๋งˆ์ดํŽ˜์ด์ง€
1. ๋‚ด์ •๋ณด

2. ํ”„๋กœํ•„ ์ˆ˜์ •

3. ๊ฒฝ๋ ฅ ์ถ”๊ฐ€

4. ์ž‘์„ฑํ•œ ํ”ผ๋“œ ๋ชฉ๋ก

5. ์ž‘์„ฑํ•œ ํ”ผ๋“œ ์ˆ˜์ •

6. ์ž‘์„ฑํ•œ ๋ชจ์ง‘๊ธ€ ๋ชฉ๋ก

7. ์ž‘์„ฑํ•œ ๋ชจ์ง‘๊ธ€ ์ˆ˜์ •

8. ์ž‘์„ฑํ•œ ๋ชจ์ง‘๊ธ€ ์‹ ์ฒญ ๋ชฉ๋ก

9. ์‹ ์ฒญํ•œ ๋ชจ์ง‘๊ธ€ ๋ชฉ๋ก
2. ๊ฒŒ์‹œ๋ฌผ
1. ๊ฒŒ์‹œ๋ฌผ ์ „์ฒด ์กฐํšŒ

2. ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ์กฐํšŒ

3. ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ฑ

4. ๊ฒŒ์‹œ๋ฌผ ์ˆ˜
3. ๋ชจ์ง‘๊ธ€
1. ๋ชจ์ง‘๊ธ€ ๋ชฉ๋ก

2. ๋ชจ์ง‘๊ธ€ ์ƒ์„ธ ์ •๋ณด

3. ๋ชจ์ง‘๊ธ€ ์ž‘์„ฑ
4. ๋กœ๊ทธ์ธ




๊ธฐ๋Šฅ๋ช…์„ธ์„œ




ํ…Œ์ŠคํŠธ ๊ณ„ํš




ํ™”๋ฉด ํ…Œ์ŠคํŠธ

1. ๋งˆ์ดํŽ˜์ด์ง€
  1. ํ”„๋กœํ•„ ์ด๋ฏธ์ง€, ๋‚ด์ •๋ณด ์ˆ˜์ •
    1. ํ”„๋กœํ•„ ์ด๋ฏธ์ง€, ๋‚ด์ •๋ณด ์ˆ˜์ •
  2. ๊ฒฝ๋ ฅ ์ถ”๊ฐ€
    2. ๊ฒฝ๋ ฅ ์ถ”๊ฐ€
  3. ๊ฒฝ๋ ฅ ์‚ญ์ œ
    3. ๊ฒฝ๋ ฅ ์‚ญ์ œ
  4. ๊ฒŒ์‹œ๋ฌผ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
    4. ๊ฒŒ์‹œ๋ฌผ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
  5. ์ž‘์„ฑํ•œ ๋ชจ์ง‘๊ธ€ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
    5. ์ž‘์„ฑํ•œ ๋ชจ์ง‘๊ธ€ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
  6. ๋ชจ์ง‘๊ธ€ ์‹ ์ฒญ ์ธ์› ๊ด€๋ฆฌ
    6. ๋ชจ์ง‘๊ธ€ ์‹ ์ฒญ ์ธ์› ๊ด€๋ฆฌ
  7. ์‹ ์ฒญํ•œ ๋ชจ์ง‘๊ธ€ ๊ด€๋ฆฌ
    7. ์‹ ์ฒญํ•œ ๋ชจ์ง‘๊ธ€ ๊ด€๋ฆฌ
2. ์ฑ„์šฉ์ •๋ณด 1. ์ฑ„์šฉ์ •๋ณด ์ถœ๋ ฅ ๋ฐ ์‚ฌ์ดํŠธ ์ด๋™
3. ๊ฒŒ์‹œ๋ฌผ 1. ๊ฒŒ์‹œ๋ฌผ ์ „์ฒด ์กฐํšŒ

2. ์ƒ์„ธ์กฐํšŒ

3. ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ฑ
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๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ”„๋ก ํŠธ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ด ์žˆ์„๊นŒ ๊ณ ๋ฏผ์„ ํ•˜๋ฉด์„œ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ํ™”๋ฉด์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ๋ถ€๋ชจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ์ž์‹ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ฐ™์ด ์ƒ์„ฑ๋  ๋•Œ ๋ฐœ์ƒํ•˜๋˜ ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ€๋ชจ๊ฐ€ ๋ฐ›๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž์‹์ด ๋ฌผ๋ ค ๋ฐ›๋Š” ๊ณผ์ •์—์„œ ์‹ ๊ฒฝ์„ ์“ธ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฏธ์ฒ˜ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค๋„ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.