Skip to content

Meeting 20230730

minjungkim edited this page Aug 27, 2023 · 2 revisions

๋‚ ์งœ โœ”๏ธ

2023๋…„ 07์›” 30์ผ

์ฐธ์„์ž โœ”๏ธ

๊น€๋ช…์ค€, ๊น€๋ฏผ์ •, ์„œ์Šนํ›ˆ, ์ด์ค€์˜

์•ˆ๊ฑด โœ”๏ธ

  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜
  • ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜
  • ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค ๋„ค์ด๋ฐ
  • ๊ฒ€์ฆ ์ „๋žต
  • DTO ๋„ค์ด๋ฐ
  • ํ…Œ์ŠคํŠธ ์ „๋žต
  • ํ”„๋กœ์‹œ์ €๋ž‘ ํ•จ์ˆ˜ ๊ตฌ๋ถ„
  • ๋ฉ”์„œ๋“œ ์ตœ๋Œ€ ๊ธธ์ด
  • ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ

๋‚ด์šฉ โœ”๏ธ

์ฝ”๋“œ ์ปจ๋ฒค์…˜

  • ๋ผˆ๋Œ€ : ๊ตฌ๊ธ€ ์ปจ๋ฒค์…˜

์กฐํšŒ ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜

  • get โ† ์˜ˆ์™ธ๋ฅผ ๋˜์ ธ์•ผํ•จ
  • find โ† Optional

ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค ๋„ค์ด๋ฐ

  • ์ธํ„ฐํŽ˜์ด์Šค โ†’ ํ˜•์šฉ์‚ฌ, ๋ช…์‚ฌ๋กœ
  • ํด๋ž˜์Šค โ†’ ๋ช…์‚ฌ๋กœ

๊ฒ€์ฆ ์ „๋žต

  • Controller DTO @Valid โ†’ Notnull, Length, NotBlank, (์‚ฌ์ „์กฐ๊ฑด๊ฒ€์ฆ)
  • Service โ†’ Notnull, Repository(OPtional.empty) ๋˜์ง€๋Š”์—ญํ•  (๋น„์ง€๋‹ˆ์Šค ํ”Œ๋กœ์šฐ๋ฅผ ๊ฒ€์ฆํ•จ)
  • Domain โ†’ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง ๊ฒ€์ฆ
  • Repository โ†’ ๊ฒ€์ฆ ์•ˆํ•จ / ๋ฌด์กฐ๊ฑด์—†์œผ๋ฉด Optional.empty๋ฅผ ๋‚ด๋ ค์คŒ
  • Entity โ†’ table ์ œ์•ฝ์กฐ๊ฑด ๊ฒ€์ฆ / ํ•˜๋Š”๊ฒŒ ์•ˆ์ •์ ์ž„

DTO ๋„ค์ด๋ฐ

  • ์š”์ฒญ : Request ๋ฅผ ์ ‘๋ฏธ์‚ฌ
  • ์‘๋‹ต : Response๋ฅผ ์ ‘๋ฏธ์‚ฌ

ํ…Œ์ŠคํŠธ ์ „๋žต

  • ๋‹จ์œ„ : ํด๋ž˜์Šค๋‹จ์œ„ ๊ฐ™์€๋ ˆ์ด์–ด์—์„œ ๋‹ค๋ฅธ๋ ˆ์ด์˜ ์ฐธ์กฐ๊ฐ€ ํ•„์š”์—†๋Š”๊ฑฐ
  • ํ†ตํ•ฉ : ํด๋ž˜์Šค๋‹จ์œ„ ๋‹ค๋ฅธ layer๋Š” ์˜์กด์„ฑ์˜ ๋ฐฉํ–ฅ์—๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ Mockingํ•œ๋‹ค
  • ์ธ์ˆ˜ : ํด๋ž˜์Šค mocking์€ ์—†์Œ / ์ „์ฒด๋ฅผ ํ…Œ์ŠคํŠธ / API๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ โ†’ code / tomcat, db โ† mocking ์ฒ˜๋ฆฌ
  • api : ๋ฌด์กฐ๊ฑด ์ „์ฒด ํ…Œ์ŠคํŠธ
  • Controller โ†’ ์ธ์ˆ˜ํ…Œ์ŠคํŠธ์—์„œ ์ปค๋ฒ„๊ฐ€๋Šฅ
  • Service โ†’ repository์—์„œ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฑฐ ์žก์•„์„œ ์˜ˆ์™ธ๋˜์ง€๋Š”๊ฑฐ ์ •๋„๋งŒ ํ…Œ์ŠคํŠธ / ์˜ˆ์™ธํ…Œ์ŠคํŠธ๋ฅผ ๋งŽ์ดํ•จ โ†’ ํ†ตํ•ฉํ…Œ์ŠคํŠธ
  • Domain โ†’ ์ตœ๋Œ€ํ•œ๊ผผ๊ผผํžˆ, ๋™์ž‘, ์˜ˆ์™ธ, ๋ฐ˜๋ก€๊ฐ™์€๊ฑฐ ์ƒ๊ฐํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ โ†’ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
  • Repository โ†’ ์„ฑ๊ณต๋งŒ ํ…Œ์ŠคํŠธ / ์ฐพ์„์ˆ˜ ์—†๋Š”๊ฒฝ์šฐ๋„ ํฌํ•จ โ†’ ํ†ตํ•ฉํ…Œ์ŠคํŠธ

ํ”„๋กœ์‹œ์ €๋ž‘ ํ•จ์ˆ˜ ๊ตฌ๋ถ„

  • ํ”„๋กœ์‹œ์ € : ํด๋ž˜์Šค ๋‚ด๋ถ€ ํ•„๋“œ๋‚˜, DB์™€ ๊ฐ™์ด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฉ”์†Œ๋“œ โ†’ void
  • ํ•จ์ˆ˜ : ์ƒํƒœ๋ณ€๊ฒฝ ์—†๋Š” ๋ฉ”์†Œ๋“œ โ†’ ๋ฐ˜ํ™˜์ด ๋ฌด์กฐ๊ฑด ์žˆ์–ด์•ผํ•จ
    โ†’ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.

๋ฉ”์„œ๋“œ ์ตœ๋Œ€ ๊ธธ์ด

โ†’ ๊ถŒ์žฅ 10 / ์ตœ๋Œ€ 15

์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ

N-tier / ๋‹จ์ผ๋ชจ๋“ˆ

Clone this wiki locally