๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Today I Learned(TIL)/์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 15

by carrot0911 2024. 12. 13.

์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง 

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java, SQL) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
  • ๋ฒ ์ด์ง๋ฐ˜ ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐ
  • ๊ฐœ์ธ ๊ณผ์ œ ์‹œ์ž‘!! (Lv 1 ์ค‘๊ฐ„๊นŒ์ง€)
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

 

์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ 

๊ฐœ์ธ ๊ณผ์ œํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค!

  • API ๋ช…์„ธ์„œ์™€ ERD๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค! → ์•„์ง ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„์„œ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋Š” ์ค‘๊ฐ„์ค‘๊ฐ„ ์ฑ„์›Œ๋„ฃ์„ ์˜ˆ์ •์ด๋‹ค!
  • Lv 1์„ ์‹œ์ž‘ํ•˜๊ณ  ์ผ์ • ์ƒ์„ฑ, ์ „์ฒด ์ผ์ • ์กฐํšŒ, ์„ ํƒ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ๊นŒ์ง€ ๊ตฌํ˜„ํ–ˆ๋‹ค!
    • ์ผ์ • ์ƒ์„ฑ API : TodoController(saveTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoService(saveTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoRepository( extends JpaRepository)
    • ์ „์ฒด ์ผ์ • ์กฐํšŒ API : TodoController(findAll ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoService(findAll ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoResponseDto(toDo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ)
    • ์„ ํƒ ์ผ์ • ์กฐํšŒ API : TodoController(findById ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoService(findById ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoRepository(findByIdOrElseThrow ๋ฉ”์„œ๋“œ ์ƒ์„ฑ)

๋ฒ ์ด์ง๋ฐ˜ ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ์„ธ์…˜ ๋‚ด์šฉ ์ •๋ฆฌ๋„ ํ•จ๊ป˜ ํ•ด์•ผ๊ฒ ๋‹ค!

  • ์ฟ ํ‚ค
  • ์„ธ์…˜
  • ํ† ํฐ

 

์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ โœ๏ธ

์˜ค๋Š˜์€ ์กฐ๊ธˆ ์‰ฌ์—„์‰ฌ์—„ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
์˜ค์ „์—๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Java, SQL) ํ•œ๋ฌธ์ œ์”ฉ ํ’€๊ณ  ๋ฐ”๋กœ ๊ณผ์ œ Lv 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๋‹ค!

API ๋ช…์„ธ์„œ์™€ ERD๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๊ธฐ์กด์— ํ–ˆ๋˜ ์ผ์ • ๊ด€๋ฆฌ ์•ฑ์„ Developํ•˜๋Š” ๊ณผ์ œ์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€ ์ƒ๊ฐ๋ณด๋‹ค ์ž‘์„ฑํ•˜๊ธฐ ์ˆ˜์›”ํ–ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋‹ค ์™„์„ฑํ•˜์ง€๋Š” ๋ชปํ•˜๊ณ  ์ค‘๊ฐ„์ค‘๊ฐ„ ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ฑ„์›Œ๋‚˜๊ฐ€์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค!!

Lv 0์„ ์–ด๋Š์ •๋„ ๋๋‚ด๊ณ  Lv 1์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ todo Entity๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒ์„ฑ API๋ฅผ ์™„์„ฑํ–ˆ๋‹ค.
๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๋„์ €ํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.... ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ํŠœํ„ฐ๋‹˜๊ป˜ ์ฐพ์•„๊ฐ€์„œ ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ๋ฌธ์ œ์ ์„ ์ฐพ์•„๋ณด๋‹ˆ @EntityListeners Annotation์˜ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž‘์„ฑํ•ด์„œ SQL ๋ฌธ์ด ๋„˜์–ด๊ฐ€์ง€ ์•Š๋Š” ๊ฒƒ์ด์—ˆ๋‹ค...
๋‹คํ–‰ํžˆ ๋ฌธ์ œ์ ์„ ์ž˜ ํ•ด๊ฒฐํ•˜๊ณ  ์ด์–ด์„œ ์ „์ฒด ์กฐํšŒ API์™€ ์„ ํƒ ์กฐํšŒ API๊นŒ์ง€ ์ƒ์„ฑํ–ˆ๋‹ค!

์˜ค๋Š˜์€ ๋ญ”๊ฐ€ ๊ณต๋ถ€๋ฅผ ์‰ฌ์—„์‰ฌ์—„ํ•œ ๋Š๋‚Œ์ด์—ฌ์„œ ์ฃผ๋ง๋™์•ˆ ๊ณผ์ œ๋ฅผ ์–ด๋Š์ •๋„ ์ง„ํ–‰ํ•ด๋†”์•ผ ๋‹ค์Œ ์ฃผ์— ๋„์ „ ๊ธฐ๋Šฅ๋“ค๋„ ๋„์ „ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค!

์ฃผ๋ง์—๋„ ์ถฉ๋ถ„ํ•œ ํœด์‹์„ ํ•˜๋ฉด์„œ ๊ณผ์ œ๋ฅผ ์ฒœ์ฒœํžˆ ์ง„ํ–‰ํ•ด ๋‚˜๊ฐ€์•ผ๊ฒ ๋‹ค! ์ด๋ฒˆ ์ฃผ๋„ ๊ณต๋ถ€ํ•˜๋Š๋ผ ๊ณ ์ƒํ–ˆ์ง€๋งŒ ์ฃผ๋ง์— ์ข€ ๋” ๊ณ ์ƒํ•˜์ž!! ํŒŒ์ดํŒ…!!!!!!

 

๋‚ด์ผ ๊ณ„ํš โฐ

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java, SQL) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
  • ๊ณผ์ œ Lv 2๊นŒ์ง€ ๋„์ „!!
  • ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜ ๋‚ด์šฉ ๋ณต์Šต & ์ •๋ฆฌ
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

+ ์ถ”๊ฐ€๋กœ ๊ณ„ํš์ด ๋” ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šด๋‹ค~_~