๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋‚ด์ผ๋ฐฐ์›€์บ ํ”„70

์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜_๋ฒ ์ด์ง๋ฐ˜ 3ํšŒ์ฐจ ์„ธ์…˜ ๋ฒ ์ด์ง๋ฐ˜์ธ์ฆ์ธ๊ฐ€12/13 14:00 ~ 15:40 (์•ฝ 1์‹œ๊ฐ„ 40๋ถ„ ์ง„ํ–‰) ์ค‘์š” ํ‚ค์›Œ๋“œ์ฟ ํ‚ค์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์„ธ์…˜์„ธ์…˜ ์ธ์ฆ ๋ฐฉ์‹ํ† ํฐํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹ํ•„ํ„ฐ์ฟ ํ‚ค, ์„ธ์…˜, ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹์€ ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๋ฉด ๋ฌด์กฐ๊ฑด ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๋‚ด์šฉ์ด๋‹ค!์ธ์ฆ ๋ฐฉ์‹์„ ๋น„๊ตํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ข€ ๋” ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค. ์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์ฟ ํ‚ค๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ ‘์†ํ–ˆ์„ ๋•Œ, ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.์‚ฌ์šฉ์ž์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ž‘์€ ๊ณต๊ฐ„์ด๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ• ๊นŒ?!์‚ฌ์šฉ์„ฑ๊ฐœ์ธํ™”๋œ ๊ฒฝํ—˜ ์ œ๊ณต → ๋งž์ถคํ˜• ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.์„ฑ๋Šฅ ์ตœ์ ํ™” → ๋ธŒ๋ผ์šฐ์ €, ์ฟ ํ‚ค์—์„œ ๋ฐ”๋กœ ๊บผ๋‚ด์„œ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.์˜คํ”„๋ผ์ธ ์ง€์›์ฟ ํ‚ค๋ฅผ ํ™œ์šฉํ•œ ๊ธฐ๋Šฅ๋ธŒ๋ผ์šฐ์ €์—์„œ ์š”์ฒญ์ด ๊ฐˆ ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ Request Header์— ๊ทธ ๊ฐ’๋“ค์ด ํฌํ•จ๋˜์–ด์„œ ์„œ๋ฒ„.. 2024. 12. 16.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 16 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๊ฐœ์ธ ๊ณผ์ œ Lv 1 ์™„์„ฑ๊ฐœ์ธ ๊ณผ์ œ Lv 2 ์‹œ์ž‘TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ฐœ์ธ ๊ณผ์ œํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค!์„ ํƒ ์ผ์ • ์ˆ˜์ • API ์™„์„ฑ : Todo(updateTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), UpdateRequestDto ์ƒ์„ฑ, TodoController(updateTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoService(updateTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ)์„ ํƒ ์ผ์ • ์‚ญ์ œ API ์™„์„ฑ : TodoController(deleteTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoService(deleteTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ)ํšŒ์› Entity ์ƒ์„ฑํšŒ์› ์ƒ์„ฑ API ์™„์„ฑ : MemberController(saveMember ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), MemberService(saveMember ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), MemberR.. 2024. 12. 14.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 15 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java, SQL) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ๋ฒ ์ด์ง๋ฐ˜ ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐ๊ฐœ์ธ ๊ณผ์ œ ์‹œ์ž‘!! (Lv 1 ์ค‘๊ฐ„๊นŒ์ง€)TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ฐœ์ธ ๊ณผ์ œํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค!API ๋ช…์„ธ์„œ์™€ ERD๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค! → ์•„์ง ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„์„œ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋Š” ์ค‘๊ฐ„์ค‘๊ฐ„ ์ฑ„์›Œ๋„ฃ์„ ์˜ˆ์ •์ด๋‹ค!Lv 1์„ ์‹œ์ž‘ํ•˜๊ณ  ์ผ์ • ์ƒ์„ฑ, ์ „์ฒด ์ผ์ • ์กฐํšŒ, ์„ ํƒ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ๊นŒ์ง€ ๊ตฌํ˜„ํ–ˆ๋‹ค!์ผ์ • ์ƒ์„ฑ API : TodoController(saveTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoService(saveTodo ๋ฉ”์„œ๋“œ ์ƒ์„ฑ), TodoRepository( extends JpaRepository)์ „์ฒด ์ผ์ • ์กฐํšŒ API : TodoController(findAll ๋ฉ”์„œ๋“œ ์ƒ์„ฑ).. 2024. 12. 13.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 14 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java, SQL) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌSpring ์ˆ™๋ จ ๊ฐ•์˜ ๋“ฃ๊ธฐ (3์ฃผ์ฐจ ์‹ค์Šต ํŒŒํŠธ)Spring ์ˆ™๋ จ ๊ฐ•์˜ ๋‚ด์šฉ ๋ณต์ŠตTIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ์‹ค์Šต ํŒŒํŠธ ๋ณต์Šตํ•˜๋ฉด์„œ ๋‚ด์šฉ๋“ค ์ˆœ์„œ๋Œ€๋กœ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.1. JPA ๊ด€๋ จ ์„ค์ •ํ•˜๊ธฐ๋”๋ณด๊ธฐDataSource ์„ค์ •application.propertiesspring.datasource.url=jdbc:mysql://localhost:3306/boardspring.datasource.username=๊ณ„์ •spring.datasource.password=๋น„๋ฐ€๋ฒˆํ˜ธspring.datasource.driver-class-name=com.mysql.cj.jdbc.DriverHibernate ์„ค์ • application.pr.. 2024. 12. 12.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 13 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌSpring ์ˆ™๋ จ ๊ฐ•์˜ ๋“ฃ๊ธฐ (2์ฃผ์ฐจ)๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜ ๋ธ”๋กœ๊ทธ ์ •๋ฆฌSpring ์ˆ™๋ จ ๊ฐ•์˜ ๋“ฃ๊ธฐ (3์ฃผ์ฐจ ์‹ค์Šต ๊ฐ•์˜ ์ „๊นŒ์ง€)TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ์ดํ•ด๊ฐ€ ์•ˆ๋๋˜ ๋ถ€๋ถ„๋“ค ๋”ฐ๋กœ ๊ตฌ๊ธ€๋งํ•ด์„œ ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค!์ฆ‰์‹œ ๋กœ๋”ฉ (Immediate Loading)fetch = fetchType.EAGEREntity๋ฅผ ์กฐํšŒํ•  ๋•Œ ํ•ด๋‹น Entity์™€ ์—ฐ๊ด€๋œ ๋ชจ๋“  Entity๋ฅผ ๋™์‹œ์— ์กฐํšŒํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.A Entity์™€ B Entity๊ฐ€ ์—ฐ๊ด€๋˜์–ด ์žˆ์„ ๋•Œ, A๋ฅผ ์กฐํšŒํ•˜๋ฉด B๋„ ํ•จ๊ป˜ ์กฐํšŒ๋œ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ฐ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•„์š”ํ•œ ์‹œ์ ์— ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ์กฐ์ธ ๋“ฑ์˜ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๊ณ , ๋ถˆํ•„์š”.. 2024. 12. 11.
์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜_๋ฒ ์ด์ง๋ฐ˜ 2ํšŒ์ฐจ ์„ธ์…˜ ๋ฒ ์ด์ง๋ฐ˜API์™€ ์›น ์„œ๋ฒ„(MVC)12/10 20:00 ~ 21:20 (์•ฝ 1์‹œ๊ฐ„ 20๋ถ„ ์ง„ํ–‰) API (Application Programming Interface)ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ• : ํด๋ผ์ด์–ธํŠธ(์‚ฌ์šฉ์ž ๋˜๋Š” ์™ธ๋ถ€ ์‹œ์Šคํ…œ)์ด ์„œ๋ฒ„์— ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๋‹จ์œ„์ด๋‹ค.ํ•  ์ผ๊ณผ ๊ด€๋ จ๋œ 4๊ฐ€์ง€ API ์˜ˆ์‹œ๋”๋ณด๊ธฐ /** * ํ• ์ผ ์ƒ์„ฑ API */ @PostMapping public String createTodoAPI() { return "created"; } /** * ํ• ์ผ ์กฐํšŒ API */ @GetMapping public String getTodoAPI() { return "retrieve todo"; } .. 2024. 12. 11.