TIL(240325)

Dyong_Songยท2024๋…„ 3์›” 25์ผ
0
post-thumbnail

๐Ÿ“• ํด๋ก ์ฝ”๋”ฉ (7์ผ์ฐจ)

ํด๋ก ์ฝ”๋”ฉ 7์ฃผ์ฐจ, 7์ผ์ฐจ

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

๊ธฐ์ˆ  ๋งค๋‹ˆ์ €๋‹˜๋“ค์˜ ํ”ผ๋“œ๋ฐฑ ํ‚ค์›Œ๋“œ

  1. ์Šค์›จ๊ฑฐ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋นผ์„œ ๊ด€๋ฆฌํ•˜๊ธฐ
  2. hasCode, equals ์žฌ์ •์˜
  3. ์™ธ๋ถ€ API ์‚ฌ์šฉ์„ ์œ„ํ•œ Key๊ฐ’์„ Bean์œผ๋กœ ๋“ฑ๋กํ•ด์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”
  4. @JsonProperty ์• ๋„ˆํ…Œ์ด์…˜์„ ํ™œ์šฉํ•ด ํœด๋จผ ์—๋Ÿฌ ๋ฐฉ์ง€ํ•˜๊ธฐ (์™ธ๋ถ€ API ์‚ฌ์šฉ)
  5. DB ์กฐํšŒ ์ตœ์ ํ™”
    โ†’ Where์™€ join์„ ์ตœ์†Œํ™”ํ•˜์—ฌ, ๋ฐ์ดํ„ฐ๋ฅผ ํผ์˜จ ํ›„ ์ž๋ฐ” Stream์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต
    โ†’ ํ•ด๋‹น ๊ณผ์ •์—์„œ map, set๊ณผ ๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด ํ•„์š”
  6. ๊ธฐ์ˆ ์  ์˜์‚ฌ ๊ฒฐ์ •์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์ด์œ ๊ฐ€ ์žˆ์„ ๊ฒƒ
    ex) DB ์„ ํƒ, ์„œ๋ฒ„ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ฐฐํฌ, API ์„ ํƒ ๋“ฑ๋“ฑ
    โ†’ ์„ ํƒ ์ด์œ ์™€ ์„ ํƒ์ง€์— ๋Œ€ํ•œ ์ดํ•ด ํ•„์š”
  7. ํฌํŠธํด๋ฆฌ์˜ค์˜ ์ค‘์š”์„ฑ
profile
๊พธ์ค€ํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์ž! Do steady yong

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด