Skip to content

๐Ÿด ๊น€์œคํ›„ ๐Ÿด ๊น€ํƒœ์˜ ๐Ÿด ๋‚จ๊ฐ€๋žŒ ๐Ÿด ๋ฐ•ํฌ์ฐฌ ๐Ÿด ์œค์ง€์˜ ๐Ÿด ์ด์ฐฝ์œค ๐Ÿด

Notifications You must be signed in to change notification settings

beyond-sw-camp/be10-2nd-1DANDOIT-mat.zip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MAT.zip

TEAM

๊น€์œคํ›„ ๊น€ํƒœ์˜ ๋‚จ๊ฐ€๋žŒ ๋ฐ•ํฌ์ฐฌ ์œค์ง€์˜ ์ด์ฐฝ์œค

๋ชฉ์ฐจ

  1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”
  2. ํ”„๋กœ์ ํŠธ ์ฃผ์š” ๊ธฐ๋Šฅ
  3. ์‚ฐ์ถœ๋ฌผ
  4. ํšŒ๊ณ 

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

1-1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

[ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๋ง›์ง‘ ์ด์•ผ๊ธฐ]

MAT.zip์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ๋งŒ์˜ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.

๋‚˜์˜ ๋ง›์ง‘์„ ๊ธฐ๋กํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ ๋ฐ ๋ฐฉ๋ฌธ ํ›„๊ธฐ ๋“ฑ์„ ๊ณต์œ ํ•ด๋ณด์„ธ์š”.
โœ”๏ธ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ
โœ”๏ธ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ ๊ณต์œ 
โœ”๏ธ ์ •๋ณด ๊ณต์œ  ๊ฒŒ์‹œํŒ

์Œ์•… ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ๋ฅผ ๊ณต์œ ํ•˜๋“ฏ, ์‚ฌ์šฉ์ž๋“ค์€ ์ž์‹ ๋งŒ์˜ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ฐ ๋ฆฌ์ŠคํŠธ์— ์›ํ•˜๋Š” ์Œ์‹์ ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ, ์‚ฌ์šฉ์ž๋“ค๋ผ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ณ , ๊ฒŒ์‹œํŒ์„ ํ†ตํ•ด ๋ง›์ง‘ ํ›„๊ธฐ๋‚˜ ์ตœ์‹  ์Œ์‹ ํŠธ๋ Œ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1-2. ํ”„๋กœ์ ํŠธ ๋ฐฐ๊ฒฝ

โ—๊ตญ๋‚ด ์œ ์ผ ๋ฏธ์Š๋žญ 3์Šคํƒ€ ํŒŒ์ธ ๋‹ค์ด๋‹ '๋ชจ์ˆ˜ ์„œ์šธ' ์˜ค๋„ˆ์…ฐํ”„ ์•ˆ์„ฑ์žฌ ์‰ํ”„๊ฐ€ ๊ธฐ๋กํ•ด ๋‘” ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์†์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด?

โ—์™ธ์‹์—…๊ณ„์˜ ์™• ๋ฐฑ์ข…์› ์‹ฌ์‚ฌ์œ„์›์ด ์ถ”์ฒœํ•˜๋Š” ์‹ ๋Œ€๋ฐฉ์‚ผ๊ฑฐ๋ฆฌ์—ญ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚˜์˜ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ์— ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด?

MAT.zip์€ ์š”์ฆ˜ ์•„์ฃผ ํ•ซํ•œ NETFLIX ์˜ˆ๋Šฅ! ์š”๋ฆฌ ๊ณ„๊ธ‰ ์ „์Ÿ 'ํ‘๋ฐฑ ์š”๋ฆฌ์‚ฌ'์—์„œ ์˜๊ฐ์„ ์–ป์–ด ํƒ„์ƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์š”๋ฆฌ์˜ ์˜๋„, ์ฑ„์†Œ์˜ ์ตํž˜ ์ •๋„, ์ผ์ •ํ•œ ๊ฐ„ ๋“ฑ์„ ๊ท€์‹ ๊ฐ™์ด ์•Œ์•„๋‚ด๋Š” ๋ฏธ์‹๊ฐ€๋“ค์˜ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ์™€ ํ›„๊ธฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ๋‚˜์˜ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋”์šฑ ํ’๋ถ€ํ•œ ๋ง›์ง‘ ํƒ๋ฐฉ ๊ฒฝํ—˜์„ ์„ ์‚ฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


2. ํ”„๋กœ์ ํŠธ ์ฃผ์š” ๊ธฐ๋Šฅ

2-1. ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ ๋ฐ ๋ง›์ง‘(์Œ์‹์ ) ์ €์žฅ ๊ธฐ๋Šฅ

  • ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ ๋ชฉ๋ก์˜ ๋ฆฌ์ŠคํŠธ ์ˆœ์„œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ธ์กฐํšŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌ์ŠคํŠธ์— ๋Œ“๊ธ€์„ ๋“ฑ๋ก, ์ˆ˜์ • ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌ์ŠคํŠธ์— ๋ง›์ง‘๊ณผ ๋ง›์ง‘์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋“ฑ๋ก, ์ˆ˜์ • ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2-2. ๋ง›์ง‘ ๋ฆฌ๋ทฐ ๋“ฑ๋ก ๊ธฐ๋Šฅ

  • ์ง€๋„์—์„œ ์Œ์‹์ (์นดํŽ˜)์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Œ์‹์ (์นดํŽ˜)์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋ฅผ ์‚ฌ์ง„๊ณผ ํ•จ๊ป˜ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ง€๋„์—์„œ ์„ ํƒํ•œ ์Œ์‹์ (์นดํŽ˜)์˜ ๋ง›์ง‘ ๋ฆฌ๋ทฐ ๋ชฉ๋ก์„ ์กฐํšŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ง€๋„์—์„œ ์„ ํƒํ•œ ์Œ์‹์ (์นดํŽ˜)์˜ ๋ง›์ง‘ ๋ฆฌ๋ทฐ๋ฅผ ์ƒ์„ธ์กฐํšŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2-3. ๊ฒŒ์‹œํŒ ๋‚ด ์ •๋ณด ๊ณต์œ  ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ๊ธฐ๋Šฅ

  • ๊ฒŒ์‹œ๊ธ€์„ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ํŽ˜์ด์ง€์—์„œ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•  ๋•Œ ์—ฐ๊ด€ ๊ฒ€์ƒ‰์–ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ, ์ž‘์„ฑ์ž ๋‹‰๋„ค์ž„์œผ๋กœ ๊ฒŒ์‹œ๊ธ€์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒŒ์‹œํŒ ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์„ ์กฐํšŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒŒ์‹œ๊ธ€์„ ์ƒ์„ธ์กฐํšŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒŒ์‹œํŒ ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์ธ๊ธฐ ํƒœ๊ทธ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€์„ ๋“ฑ๋ก, ์ˆ˜์ • ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2-4. ํšŒ์›๊ฐ€์ž…

  • ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ด๋ฆ„, ํœด๋Œ€ํฐ๋ฒˆํ˜ธ๋ฅผ ํ•„์ˆ˜๋กœ ์ž…๋ ฅํ•œ ํ›„ ํšŒ์›๊ฐ€์ž…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋ฏธ ๊ฐ€์ž…๋œ ์ด๋ฉ”์ผ๋กœ๋Š” ๊ฐ€์ž…ํ•  ์ˆ˜ ์—†๋‹ค.
  • ๊ฐ€์ž…์„ ์œ„ํ•ด์„œ๋Š” ์ด๋ฉ”์ผ ์ธ์ฆ์„ ํ•ด์•ผ ํ•œ๋‹ค.
  • ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์˜๋ฌธ, ์ˆซ์ž, ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์„ž์ธ 8์ž๋ฆฌ ์ด์ƒ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ฐ€์ž… ์™„๋ฃŒ ํ›„ ์ž„์˜์˜ ๋‹‰๋„ค์ž„์ด ์ž๋™ ์ƒ์„ฑ๋œ๋‹ค.
  • ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋กœ๊ทธ์•„์›ƒ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2-5. ํšŒ์› ์ •๋ณด

  • ๊ด€๋ฆฌ์ž๋Š” ํšŒ์› ์ •๋ณด๋ฅผ ์ „์ฒด์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ „์ฒด์กฐํšŒ ์‹œ ํ•„ํ„ฐ๋ง์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ณ  ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹ค๋ฅธ ํšŒ์›์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋•Œ ๋ณด์ด๋Š” ์ •๋ณด๋Š” ๋‹ค๋ฅด๋‹ค.
  • ๊ด€๋ฆฌ์ž๋Š” ํšŒ์›์˜ ์ƒ์„ธ์ •๋ณด๋กค ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํšŒ์›์€ ์ž์‹ ๊ณผ ๋‹ค๋ฅธ ํšŒ์›์˜ ์ƒ์„ธ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋•Œ ๋ณด์ด๋Š” ์ •๋ณด๋Š” ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.
  • ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋‹‰๋„ค์ž„, ํœด๋Œ€ํฐ๋ฒˆํ˜ธ์˜ ํšŒ์›์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋ฏธ ์‚ฌ์šฉ์ค‘์ธ ๋‹‰๋„ค์ž„์œผ๋กœ๋Š” ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค.
  • ๊ฐ™์€ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋‹‰๋„ค์ž„์œผ๋กœ๋Š” ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค.
  • ํšŒ์› ํƒˆํ‡ด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2-6. ์‹ ๊ณ , ํŒจ๋„ํ‹ฐ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ

  • ํšŒ์›์€ ๋ฆฌ์ŠคํŠธ, ๋ฆฌ์ŠคํŠธ ๋Œ“๊ธ€, ๋ง›์ง‘๋ฆฌ๋ทฐ, ๊ฒŒ์‹œ๊ธ€, ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€, ์ชฝ์ง€์—์„œ ๋ถ€์ ์ ˆํ•œ ๊ธ€์„ ์“ฐ๋Š” ํšŒ์›์„ ์‹ ๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ ๊ณ  ์‹œ ๊ด€๋ฆฌ์ž๊ฐ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ๊ณ  ๋ชฉ๋ก ํŽ˜์ด์ง€์— ์‹ ๊ณ  ์‚ฌํ•ญ์ด ๋“ฑ๋ก๋˜๊ณ  ๊ด€๋ฆฌ์ž ํŒ๋‹จ ํ•˜์— ์‹ ๊ณ ๋ฅผ ์Šน์ธ ํ˜น์€ ๋ฐ˜๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ์ž๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ ํšŒ์›์—์„œ ํŒจ๋„ํ‹ฐ๋ฅผ ๋ถ€๊ฐ€ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํšŒ์›์˜ ๊ณ„์ •์€ ์ผ์ • ๊ธฐ๊ฐ„ ์ •์ง€๋˜๋ฉฐ, ์‹ ๊ณ  ๋‹นํ•œ ์ปจํ…์ธ ๋Š” ๋น„ํ™œ์„ฑํ™” ๋ฉ๋‹ˆ๋‹ค.

2-7. ํ™œ๋™ ๋“ฑ๊ธ‰ ๋ถ€์—ฌ

  • ํšŒ์›์€ ๋ฆฌ์ŠคํŠธ, ๊ฒŒ์‹œ๊ธ€, ๋ฆฌ๋ทฐ, ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ํ™œ๋™ ํฌ์ธํŠธ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ™œ๋™ ํฌ์ธํŠธ์— ๋”ฐ๋ผ ํ™œ๋™ ๋“ฑ๊ธ‰์ด ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

3. ์‚ฐ์ถœ๋ฌผ

3-1. ์ด๋ฒคํŠธ ์Šคํ† ๋ฐ ๊ธฐ๋ฐ˜ DDD ์„ค๊ณ„ ๋ฌธ์„œ

DDD

3-2. ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

SRS

3-3. ๊ฐœ๋… ERD, ๋…ผ๋ฆฌ ERD, ๋ฌผ๋ฆฌ ERD

  • ๊ฐœ๋… ERD ๊ฐœ๋… ERD

  • ๋…ผ๋ฆฌ ERD ๋…ผ๋ฆฌ ERD

  • ๋ฌผ๋ฆฌ ERD ๋ฌผ๋ฆฌ ERD

3-4. DDL ์ฟผ๋ฆฌ๋ฌธ

3-5. REST API ์„ค๊ณ„ ๋ฌธ์„œ(Swagger ๋“ฑ)

swagger_api.pdf

api-docs.json

Swagger UI

REST API ์„ค๊ณ„ ๋ฌธ์„œ

REST API ์„ค๊ณ„ ๋ฌธ์„œ

3-6. ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ

๋ฆฌ์ŠคํŠธ ์„œ๋ž

๋ฆฌ์ŠคํŠธ ์„œ๋ž ๋ฆฌ์ŠคํŠธ ์„œ๋ž ๋ฆฌ์ŠคํŠธ ์„œ๋ž

๋ฆฌ์ŠคํŠธ

๋ฆฌ์ŠคํŠธ ๋ฆฌ์ŠคํŠธ ๋ฆฌ์ŠคํŠธ ๋ฆฌ์ŠคํŠธ ๋ฆฌ์ŠคํŠธ

๋ฆฌ์ŠคํŠธ ๋Œ“๊ธ€

๋ฆฌ์ŠคํŠธ ๋Œ“๊ธ€ ๋ฆฌ์ŠคํŠธ ๋Œ“๊ธ€ ๋ฆฌ์ŠคํŠธ ๋Œ“๊ธ€ ๋ฆฌ์ŠคํŠธ ๋Œ“๊ธ€

๋ง›์ง‘

๋ง›์ง‘ ๋ง›์ง‘ ๋ง›์ง‘ ๋ง›์ง‘ ๋ง›์ง‘

๊ฒŒ์‹œ๊ธ€

๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๊ฒŒ์‹œ๊ธ€

๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€

๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ๋ณธ์ธ์ด ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๋ฌผ ๋Œ“๊ธ€ ์กฐํšŒ

์ข‹์•„์š”

๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ์ข‹์•„์š” ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ์ข‹์•„์š” ์ทจ์†Œ

ํŒจ๋„ํ‹ฐ

ํŒจ๋„ํ‹ฐ ํŒจ๋„ํ‹ฐ ํŒจ๋„ํ‹ฐ

ํšŒ์›๊ด€๋ฆฌ
1. ํšŒ์›๊ฐ€์ž…(๋น„ํšŒ์›)
  • ์‹คํŒจ(์ด๋ฉ”์ผ ์ธ์ฆ๋ถ€ํ„ฐ ํ•ด์•ผํ•จ)
  • ํšŒ์›๊ด€๋ฆฌ

  • ์ด๋ฉ”์ผ ์ค‘๋ณต์ฒดํฌ
  • ํšŒ์›๊ด€๋ฆฌ

  • ์ด๋ฉ”์ผ๋ฐœ์†ก
  • ํšŒ์›๊ด€๋ฆฌ

  • ์ด๋ฉ”์ผ์ธ์ฆ
  • ํšŒ์›๊ด€๋ฆฌ

  • ํšŒ์›๊ฐ€์ž…์™„๋ฃŒ
  • ํšŒ์›๊ด€๋ฆฌ

2. ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ
  • ๋กœ๊ทธ์ธ
  • ํšŒ์›๊ด€๋ฆฌ

  • ๋กœ๊ทธ์•„์›ƒ
  • ํšŒ์›๊ด€๋ฆฌ

3. ํšŒ์›์ •๋ณด์ˆ˜์ •(ํšŒ์›)
  • ๋‹‰๋„ค์ž„ ์ค‘๋ณต์ฒดํฌ
  • ํšŒ์›๊ด€๋ฆฌ

  • ๊ฐ™์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์ˆ˜์ •์•ˆ๋จ
  • ํšŒ์›๊ด€๋ฆฌ

  • ์ˆ˜์ •์™„๋ฃŒ
  • ํšŒ์›๊ด€๋ฆฌ

4. ํšŒ์›์ „์ฒด์กฐํšŒ(๊ด€๋ฆฌ์ž๋งŒ ๊ฐ€๋Šฅ)
  • ์‹คํŒจ(ํšŒ์›)
  • ํšŒ์›๊ด€๋ฆฌ

  • ๊ด€๋ฆฌ์ž
  • ํšŒ์›๊ด€๋ฆฌ

  • ๊ด€๋ฆฌ์ž+ํ•„ํ„ฐ๋ง, ์ •๋ ฌ
  • ํšŒ์›๊ด€๋ฆฌ

5. ํšŒ์›๊ฒ€์ƒ‰(๊ด€๋ฆฌ์ž, ํšŒ์›)
  • ํšŒ์›
  • ํšŒ์›๊ด€๋ฆฌ

  • ํšŒ์›+์ •๋ ฌ
  • ํšŒ์›๊ด€๋ฆฌ

  • ๊ด€๋ฆฌ์ž
  • ํšŒ์›๊ด€๋ฆฌ

6. ํšŒ์›์ƒ์„ธ์กฐํšŒ(๊ด€๋ฆฌ์ž, ํšŒ์›์ž์‹ , ๋‹ค๋ฅธํšŒ์›)
  • ํšŒ์›์ž์‹ (์ด๋ฆ„๊ณผ ๋ฒˆํ˜ธ ๋ณด์ž„)
  • ํšŒ์›๊ด€๋ฆฌ

  • ๋‹ค๋ฅธ ํšŒ์›(๋‹‰๋„ค์ž„, ๋“ฑ๊ธ‰, ์ธ๊ธฐํšŒ์› ์—ฌ๋ถ€, ํŒ”๋กœ์ž‰/ํŒ”๋กœ์›Œ ์ˆ˜)
  • ํšŒ์›๊ด€๋ฆฌ

  • ๊ด€๋ฆฌ์ž
  • ํšŒ์›๊ด€๋ฆฌ

7. ํšŒ์›ํƒˆํ‡ด
  • ์‹คํŒจ(๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜)
  • ํšŒ์›๊ด€๋ฆฌ

  • ์„ฑ๊ณต
  • ํšŒ์›๊ด€๋ฆฌ

3-7. MSA ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ๋„

MSA


4. ํšŒ๊ณ 

4-1. ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๋‚ด์šฉ
1 ๊ตฌ์กฐ์ ์ธ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… - CQRS ํŒจํ„ด์„ ์ ์šฉํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ์ดˆ๊ธฐ์—๋Š” Domain ๊ณ„์ธต์„ ํ™œ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ์ง€ ๋ชปํ•˜์—ฌ application ๊ณ„์ธต์˜ ์—ญํ• ์ด ๊ฑฐ๋Œ€ํ•ด์กŒ๊ณ  ์ด๋กœ ์ธํ•ด์„œ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์ธก๋ฉด์—์„œ๋„ ์ฝ๊ธฐ๊ฐ€ ๋ถˆํŽธํ–ˆ์œผ๋ฉฐ, ์˜ค๋ฅ˜๋ฅผ ์ฐพ๋Š” ๊ณผ์ •๋„ ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋Ÿฌ๋ธ”์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ Domain ๊ณ„์ธต์„ ํ™œ์šฉํ•˜์˜€๊ณ  ์ด์ „๋ณด๋‹ค ๋” ๊ตฌ์กฐ์ ์ด๊ณ  ์ฒด๊ณ„์ ์ธ ํ˜•์‹์ด ๊ฐ–์ถ”์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ์‹œ๊ฐ„์ƒ์œผ๋กœ๋„ ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ๋ณ€ํ–ˆ์Šต๋‹ˆ๋‹ค
2 ํ˜•์‹์˜ ๋ถˆ์ผ์น˜ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… - ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ž์œ ์„ฑ์„ ์ข€ ์—ด์–ด๋‘๊ณ  ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ตฌํ˜„์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ํ˜•์‹์˜ ๋ถˆ์ผ์น˜๊ฐ€ ์ƒ๊ฒผ์—ˆ๊ณ  ์ด๋ฅผ ๋‹ค์‹œ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ์‹œ๊ฐ„๋„ ์ƒ๋‹นํžˆ ๋งŽ์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒ€์›์˜ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋‹ค๋ณด๋‹ˆ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ†ต์ผ๋œ ํ˜•์‹์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๋‹ค๋ณด๋‹ˆ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์ด ๋†’์•„์กŒ๊ณ  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •๋„ ์ˆ˜์›”ํ–ˆ์Šต๋‹ˆ๋‹ค.
3 ์‘๋‹ต ๋ฐ์ดํ„ฐ๊ฐ€ SSR์— ์ง‘์ค‘๋œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… - ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ–ˆ๋˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์„œ ์•Œ๊ณ  ์žˆ๋Š” ์ง€์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๋‹ค ๋ณด๋‹ˆ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ๋ฐฉ์‹์˜ ์‘๋‹ต ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๊ณ  ์ด๋ฅผ ์กฐ๊ธˆ ๋Šฆ๊ฒŒ ์•Œ๊ฒŒ ๋˜์–ด์„œ ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ๋” ํ˜•์‹์ ์œผ๋กœ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋ก ํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ๋•Œ ๋” ํŽธ๋ฆฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

4-2. ํšŒ๊ณ 

๊น€์œคํ›„

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


๊น€ํƒœ์˜

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง๊ณผ ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๋ฉฐ ์ˆ˜์—… ์‹œ๊ฐ„์— ์ง„ํ–‰ํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ ์‹ค์Šต๋งŒ์œผ๋กœ๋Š” ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์ฒ˜์Œ์—๋Š” ๋ง‰๋ง‰ํ•จ์ด ์ปธ์ง€๋งŒ ํŒ€์›๋“ค์˜ ๋„์›€์„ ๋ฐ›์œผ๋ฉฐ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด ๋งค์šฐ ์œ ์ตํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ํŒŒ์ผ ๊ตฌ์กฐ์™€ ๊ฐ ๊ณ„์ธต์˜ ์—ญํ• ์— ๋Œ€ํ•ด ํ™•์‹คํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค, ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ๊ณ„์ธต์˜ ์—ญํ• ๊ณผ ๊ทธ๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€๋ฅผ ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์ฒด๋“ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ด๋ก ์ ์œผ๋กœ๋„ ๊ฐ์„ ์žก์ง€ ๋ชปํ–ˆ๋˜ ๋‚ด์šฉ์„ ์ง์ ‘ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ทธ ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ CRUD ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ ์™ธ์—๋„ ์ข‹์•„์š”, ์‹ ๊ณ ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ, ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋‹จ์ˆœํžˆ ๊ตฌํ˜„๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋‚ด๋ถ€์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ณผ์ •์„ ๊ฑฐ์ณ ์„œ๋น„์Šค๋กœ ์ œ๊ณต๋œ๋‹ค๋Š” ์ ์„ ๊นŠ์ด ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋ฉด์„œ, ํ”„๋กœ๊ทธ๋žจ์ด ์›ํ™œํžˆ ์šด์˜๋˜๊ธฐ ์œ„ํ•ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์š”์†Œ๋“ค์ด ์กฐํ™”๋ฅผ ์ด๋ฃจ์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์‹ค๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

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


๋‚จ๊ฐ€๋žŒ

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์ฒ˜์Œ ํ•˜๋Š”๊ฒŒ ๋งŽ์•„ ๋งŽ์ด ๋ฐฐ์šฐ๊ฒŒ ๋˜๋Š” ๊ณผ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์ฒ˜์Œ์œผ๋กœ ๊ฒฝํ—˜ํ–ˆ๋Š”๋ฐ, ์ด๋ฅผ ํ†ตํ•ด ์–ป์€ ๊ฒƒ์ด ์ •๋ง ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘์—… ๊ณผ์ •์—์„œ ๊ฐ์ž์˜ ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉด์„œ, ์„œ๋กœ์˜ ์ฝ”๋“œ ์Šคํƒ€์ผ๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ๋” ๋‚˜์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ฝ”๋“œ์˜ ํ€„๋ฆฌํ‹ฐ๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ž‘์€ ์‹ค์ˆ˜๋‚˜ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„๋“ค์„ ๋ฏธ๋ฆฌ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์–ด ์œ ์ตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ณผ์ •์„ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์†Œํ†ต์ด ์ด๋ฃจ์–ด์กŒ๊ณ , ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ CQRS ํŒจํ„ด์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ, ์ฒ˜์Œ์—๋Š” ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ  ๊ตฌ์ฒด์ ์ธ ์„ค๊ณ„๋ฅผ ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น(์ปค๋งจ๋“œ)๊ณผ ์กฐํšŒ(์ฟผ๋ฆฌ)๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ณต์žกํ•œ ๊ตฌ์กฐ์—์„œ ์–ด๋–ค ์ด์ ์„ ์ œ๊ณตํ•˜๋Š”์ง€๋ฅผ ์ž˜ ๋ชฐ๋ผ์„œ ์ ์‘์ด ํž˜๋“ค๊ณ  ์ฒด๊ฐํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ–ˆ์ง€๋งŒ ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋ฐ ํ™•์žฅ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ์‹์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

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


๋ฐ•ํฌ์ฐฌ

๊ฐœ์ธ์ ์œผ๋กœ ๊ถŒํƒœ๊ธฐ์— ๋น ์ ธ ํž˜๋“  ์‹œ๊ธฐ๋ฅผ ๋ณด๋‚ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํŒ€์›๋ถ„๋“ค์ด ์—ด์‹ฌํžˆ ํ•ด์ฃผ์…”์„œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ„ ๊ฒƒ ๊ฐ™์•„ ํŒ€์› ๋ถ„๋“ค์—๊ฒŒ ๋ฌดํ•œํ•œ ๊ฐ์‚ฌ๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!


์œค์ง€์˜

์ˆ˜์—… ์‹œ๊ฐ„์— ๋ฐฐ์šด DB์™€ ๋ฐฑ์—”๋“œ ์ง€์‹์„ ๋ชจ๋‘ ๋‹ค ํ™œ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋งŽ์€ ์„ฑ์žฅ์„ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์œผ๋กœ ๊ฐ™์ด ํ˜‘์—… ํ•˜๋ฉด์„œ ๊นƒํ—ˆ๋ธŒ ์‚ฌ์šฉ๋„ ๋Šฅ์ˆ™ํ•ด์กŒ๊ณ  ํŒ€์›๋ถ„๋“ค์˜ ๋„์›€ ๋•๋ถ„์— CRUD ์ž‘์—…์€ ์ด์ œ ๋‹ค ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค! ์ข‹์€ ํŒ€์›์˜ ์•„์ด๋””์–ด๋กœ ์œ ์šฉํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ƒํ•ด ๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๊ณ  ํ•จ๊ป˜ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋‚ด์„œ ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ฆ๊ฒ๊ฒŒ ํ”„๋กœ์ ํŠธ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ฆ๊ฑฐ์› ๊ณ  ๋ชจ๋‘ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


์ด์ฐฝ์œค

์ˆ˜์—…์—์„œ ๋ฐฐ์šฐ๋Š” ๋‚ด์šฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋งŽ์€ ๊ฒƒ์„ ์ง์ ‘ ๋Š๋ผ๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ์•Œ์ฐจ๊ฒŒ ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์šฐ๋Š” ๊ณผ์ • ์†์—์„œ ํ”„๋กœ์ ํŠธ ์‹ค์Šต์„ ํ†ตํ•ด์„œ ๋”์šฑ ๋น ๋ฅด๊ฒŒ ์ฒด๋“ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๊ณ  ์•ž์œผ๋กœ์˜ ์š•์‹ฌ๋„ ๋งŽ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ ํ”„๋กœ์ ํŠธ ๋•Œ ๋” ๊ตฌ์กฐ์ ์ด๊ณ  ์ฒด๊ณ„์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๊ณ  ๋งŽ์€ ๋ถ€๋ถ„์—์„œ ์ €์˜ ๋ถ€์กฑํ•จ์„ ๋Š๋ผ๋ฉด์„œ ์ด ๋ถ€๋ถ„์„ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์ฑ„์›Œ๋‚˜๊ฐ€๋ฉฐ ๋‹จ์ ์„ ์ค„์ด๊ณ  ์žฅ์ ์„ ์ฑ„์›Œ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘๋“ค ๊ณ ์ƒ๋งŽ์•˜์Šต๋‹ˆ๋‹ค!

About

๐Ÿด ๊น€์œคํ›„ ๐Ÿด ๊น€ํƒœ์˜ ๐Ÿด ๋‚จ๊ฐ€๋žŒ ๐Ÿด ๋ฐ•ํฌ์ฐฌ ๐Ÿด ์œค์ง€์˜ ๐Ÿด ์ด์ฐฝ์œค ๐Ÿด

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages