2021๋…„ 11์›” 12์ผ๐Ÿฅบ

๊น€๊ด‘ํ›ˆยท2021๋…„ 11์›” 11์ผ
3

TIL(Today I Learned)

๋ชฉ๋ก ๋ณด๊ธฐ
37/49

๐Ÿ’ชCome Back

์–ผ๋งˆ๋งŒ์˜ TIL์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ถ„๋ช… Today I Learn์ธ๋ฐ ์ผ์ฃผ์ผ๋งŒ์— ๋“ฑ์žฅํ•˜๋Š” ๊ผด์ด๋ผ๋‹ˆ... ๋ถ„๋ช… ๋”ฑ ํ•˜๋ฃจ๋งŒ TIL์„ ์‰ฌ๋ ค๊ณ  ํ–ˆ๋˜๊ฑด๋ฐ... ํ•˜๋ฃจ๊ฐ€ ์ดํ‹€์ด๋˜๊ณ  ์ดํ‹€์ด ์‚ผ์ผ์ด๋˜์–ด ์–ด๋Š์„ธ ์ผ์ฃผ์ผ์ด๋ž€ ์‹œ๊ฐ„์ด ํ˜๋Ÿฌ ๋ฒ„๋ ธ๋‹ค. (๊ทธ๋Ÿฐ ์ง“์€ ํ•˜์ง€ ๋ง์•„์•ผ ํ–ˆ๋Š”๋ฐ)

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

๋ถ€๋”” ์ด ๊ธ€์„ ๊ธฐ์ ์œผ๋กœ ๋‹ค์‹œ๋Š” TIL์ด ๋Š๊ธฐ๋Š” ๋ถˆ์ƒ์‚ฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์œผ๋ฉด ์•„์ฃผ์•„์ฃผ ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. ๋‹ค์‹œํ•œ๋ฒˆ ๊ธฐ์–ตํ•˜์ž TIL์€ ๊ฐ€๋ณ๊ฒŒ ๋งค์ผ์˜ ์ฝ”๋”ฉ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋Š๊ผˆ๋˜ ์ ๊ณผ ๊ธฐ์–ต์— ๋‚จ๋Š” ์ •๋ณด๋งŒ ์ ์–ด์ฃผ์ž๊ณ . ์ง€๊ธˆ์€ ์ด๊ฑธ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ , ๋” ํ›Œ๋ฅญํ•œ ๊ธ€์€ ๋ฏธ๋ž˜์— ํ›Œ๋ฅญํ•ด์ง„ ๋‚ด๊ฐ€ ์“ฐ๊ฒ ๊ฑฐ๋‹ˆ ํ•˜์ž. ํ˜„์žฌ์˜ ๋‚˜๋Š” ํ˜„์žฌ์˜ ๋‚ด ์ˆ˜์ค€์— ๋งž๋Š” ๊ธ€์„ ์“ฐ์ž.


โœ” ์˜ค๋Š˜ ํ•œ ์ผ

  • Spring Boot ํด๋”์ƒ์„ฑ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • Spring Boot AOP(ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„ํ•˜๊ธฐ ์ „ ๋™์ž‘ํ•  ์ „์ฒ˜๋ฆฌ ์ฝ”๋“œ) ๊ตฌํ˜„
  • ์–ด๋…ธํ…Œ์ด์…˜ @Transactional ๊ณต๋ถ€
  • Spring Boot ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ฝ”๋“œ ๊ตฌํ˜„

๐Ÿ’ป @Transactional

Spring Boot์˜ ์–ด๋…ธํ…Œ์ด์…˜ @Transactional์€ ๋ฉ”์†Œ๋“œ๋‹จ์œ„๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ฉ”์†Œ๋“œ๋ฅผ ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ ค๋…ผ ์ƒํƒœ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ฆ‰, ๋ฉ”์†Œ๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ณผ์ •๋™์•ˆ์— DB์— ์ €์žฅ๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋ฌ๋˜ ํ–‰์œ„๋“ค์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋…ผ ์ƒํƒœ์—์„œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์ •์ƒ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ๋˜๋ฉด Commitํ•ด์ค€๋‹ค.(ํ–‰์œ„๋“ค์„ DB์— ์ ์šฉํ•ด์ค€๋‹ค) ๋งŒ์•ฝ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๊ทธ๋™์•ˆ ๋™์ž‘ํ–ˆ๋˜ ๋ชจ๋“  ๋™์ž‘๋“ค์„ RollBack ์‹œ์ผœ์ค€๋‹ค. ์ด๋กœ์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•ด์ค€๋‹ค.


๐Ÿ‘€์ƒ๊ฐ ์ •๋ฆฌ

์•ž์œผ๋กœ ์–ด๋–ป๊ฒŒ ๊ณต๋ถ€ํ•ด์•ผํ• ์ง€์— ๋Œ€ํ•œ ์ƒ๊ฐ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์ž.

  • โ›Github ํ™œ์„ฑํ™”!
    ์Šคํ”„๋ง ๊ณต๋ถ€ํ•œ๋‹ค๊ณ  Github์„ ๋„ˆ๋ฌด ๋ฐฉ์น˜ํ•ด๋’€๋‹ค.(๋‚ด ์ž”๋””!)
    ์Šคํ”„๋ง์œผ๋กœ ์„œ๋ฒ„ ๊ตฌํ˜„ํ•œ๋‹ค๊ณ  ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ ์งœ๋Š” ๊ฒƒ๋„ ๋‚ด ์Šคํ„ฐ๋”” ๋ ˆํฌ์— ์˜ฌ๋ ค๋ฒ„๋ฆฌ์ž.

  • โ›๊ฐœ์ธ or ํ† ์ด ํ”„๋กœ์ ํŠธ ์‹œ์ž‘
    ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„์—์„œ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋„ ๋ฌผ๋ก  ๋„ˆ๋ฌด ์ข‹๋‹ค ํ•˜์ง€๋งŒ, ๊ฒฐ๊ตญ ํŒ€์›๋“ค์ด ํ•จ๊ป˜ ์งœ๋‹ค๋ณด๋‹ˆ ๋ฐฐ์šฐ๋Š” ์ž…์žฅ์—์„œ๋Š” ๋‚ด๊ฐ€ ์งœ๋Š” ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋†“์น˜๊ณ  ๊ฐ€๋Š” ๋ถ€๋ถ„๋„ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์Šคํ”„๋ง์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ œ๊ณต๋ฐ›๋Š” ์ฝ”๋“œ๋งŒ ๋ณด๋‹ˆ ๋‚ด๊ฐ€ ๋„๋Œ€์ฒด ๋ฌด์—‡์„ ๋ชจ๋ฅด๊ณ  ์–ด๋””๊นŒ์ง€ ์•Œ๊ณ ์žˆ๋Š”์ง€ ํ˜ผ๋ž€์ด ์™”๋‹ค. ์ง„์งœ๋กœ ๊ฐ„๋‹จํ•˜๊ณ  ํˆฌ๋ฐ•ํ•˜์ง€๋งŒ ์•Œ์ฐจ๊ฒŒ ๋“ค์–ด์žˆ๋Š” ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ„ํšํ•ด์„œ ์‹œ๊ฐ„์„ ๋‘๊ณ  ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€์•ผ๊ฒ ๋‹ค.(A~Z) ๋งค์ผ ๋”ฑ ํ•œ์‹œ๊ฐ„์”ฉ๋งŒ์ด๋ผ๋„ ํˆฌ์ž๋ฅผ ํ•ด์„œ ๋‚ด ์ˆ˜์ค€๋„ ํŒŒ์•…ํ•˜๋ฉด์„œ ๋‚ด ์‹ค๋ ฅ ํ–ฅ์ƒ์—๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์„๊นŒ?

  • ์‹œ๊ฐ„์˜ ํ•œ์ •์„ฑ
    ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์— ๋งž์ถฐ์„œ ์ตœ์„ ์„ ๋‹คํ•˜๋ ค๋ฉด ๋‚ด ์ˆ˜์ค€์„ ํŒŒ์•…ํ•˜๋Š”๊ฒŒ ๋จผ์ €์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚ด ์ˆ˜์ค€์„ ํŒŒ์•…ํ•˜๋ ค๋ฉด ์‹œํ—˜์„ ๋ด์•ผ์ง€, ์ผ๋‹จ ๊ธฐ์กด์˜ ๋‹ค๋ค˜๋˜ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„์˜ ํƒ€์ž„์–ดํƒ์„ ๋จผ์ € ์Šคํ”„๋ง์œผ๋กœ ์ปจ๋ฒ„ํŒ… ํ•ด๋‚˜๊ฐ€๋ฉด์„œ ๋‚ด ์ˆ˜์ค€์„ ํŒŒ์•…ํ•ด๋ณด๊ณ  ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ๋ฌด์—‡์œผ๋กœ ์ฑ„์›Œ๋‚˜๊ฐˆ์ง€ ์ƒ๊ฐํ•ด๋ณด์ž.
    ์•„ ๊ทธ๋ฆฌ๊ณ  ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์€ ๊ธฐ๋กํ•ด ๋†“์ž(~11/14)

profile
์ž˜ ๋ถ€ํƒ๋“œ๋ ค์š”

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