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

til19

์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_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.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 12 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ๊ฐœ์ธ ๊ณผ์ œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ์ž‘์„ฑ๊ฐœ์ธ ๊ณผ์ œ KPT ํšŒ๊ณ  ์ž‘์„ฑSpring ์ˆ™๋ จ ๊ฐ•์˜(1์ฃผ์ฐจ) ๋“ฃ๊ธฐ๋ฒ ์ด์ง๋ฐ˜ ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐTIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ฐœ์ธ ๊ณผ์ œ KPT ํšŒ๊ณ  ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ถ€์กฑํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ  ๋‹ค์Œ ๊ณผ์ œ์—๋Š” ๋ณด์™„ํ•ด์„œ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.๋‚ด๊ฐ€ ์ž˜ํ–ˆ๋˜ ์ ๊ณผ ๋ถ€์กฑํ•œ ์ , ๋ฌธ์ œ์ ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.Spring ์ˆ™๋ จ ๊ฐ•์˜(1์ฃผ์ฐจ)์ž…๋ฌธ ๊ฐ•์˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐœ๋… ๋ถ€๋ถ„์€ 2๋ฐฐ์†์œผ๋กœ ๋“ค์—ˆ๋‹ค.๋”ฐ๋กœ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค. ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•  ๊ฐœ๋…๋“ค์€ Notion์ด๋‚˜ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค.๋ฒ ์ด์ง๋ฐ˜ ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ์„ธ์…˜RESTful APIURLHTTP MethodM.. 2024. 12. 10.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 11 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ๊ฐœ์ธ ๊ณผ์ œ Lv2๊นŒ์ง€ ๋ฆฌํŒฉํ† ๋ง๊ฐœ์ธ ๊ณผ์ œ ์ฃผ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๊ฐœ์ธ ๊ณผ์ œ README ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ์˜ค๋Š˜ ์ง„ํ–‰ํ–ˆ๋˜ ๊ณผ์ œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ •๋ฆฌํ•ด ๋†”์•ผ๊ฒ ๋‹ค!Lv2 ํŒŒํŠธ๋ฅผ JDBC์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋๋ƒˆ๋‹ค!์ผ์ • ์ˆ˜์ • ํŒŒํŠธ ์ฝ”๋“œ ์ˆ˜์ • - TodoRepository(updateTodo ๋ฉ”์„œ๋“œ ์ˆ˜์ •), JdbcTemplateRepository(updateTodo ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoScheduleService(updateTodoService ๋ฉ”์„œ๋“œ ์ˆ˜์ •)์ผ์ • ์‚ญ์ œ ์ฝ”๋“œ ์ˆ˜์ • - JdbcTemplateRepository(deleteTodo ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoRepository(deleteTodo ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoScheduleS.. 2024. 12. 9.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 10 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๊ฐœ์ธ ๊ณผ์ œ Lv 1 - JDBC๋กœ ๋ฐ”๊พธ๊ธฐ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ์˜ค๋Š˜ ์ง„ํ–‰ํ–ˆ๋˜ ๊ณผ์ œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ •๋ฆฌํ•ด ๋†”์•ผ๊ฒ ๋‹ค!์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋‹ค ์™„์„ฑํ–ˆ๋˜ ๊ณผ์ œ๋ฅผ JDBC๋กœ ๋ฐ”๊พธ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.์ผ์ • ์ƒ์„ฑ ์ˆ˜์ • - Todo(@Setter ์ œ๊ฑฐ), TodoScheduleRepository(์‚ญ์ œ), JdbcTemplateRepository(์ƒ์„ฑ ๋ฐ createTodo ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoScheduleService(createTodoService ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoResponseDto(@AllArgsConstructor Annotation ์ถ”๊ฐ€)์ „์ฒด ์ผ์ • ์กฐํšŒ ์ˆ˜์ • - TodoScheduleService(searchAllTodoService ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoScheduleController(s.. 2024. 12. 8.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 8 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๋ฒ ์ด์ง๋ฐ˜ 1ํšŒ์ฐจ ๋…นํ™”๋ณธ ๋ณด๊ธฐ๊ฐœ์ธ ๊ณผ์ œ Lv1, Lv2 ๋„์ „TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ์˜ค๋Š˜ ์ง„ํ–‰ํ–ˆ๋˜ ๊ณผ์ œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ •๋ฆฌํ•ด ๋†”์•ผ๊ฒ ๋‹ค!๋จผ์ € project์™€ GitHub ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฐ๋™ํ–ˆ๋‹ค.๊ทธ๋‹ค์Œ controller, service, repository, domain, dto ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.๊ฐ๊ฐ์„ ์ผ์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก domain ํŒจํ‚ค์ง€์— Todo ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ํ•„๋“œ์™€ ์ƒ์„ฑ์ž๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.์ •๋ณด๋“ค์„ ์ „๋‹ฌํ•ด ์ค„ ์ˆ˜ ์žˆ๋Š” TodoRequestDto์™€ TodoResponseDto ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.TodoService ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์ฒด TodoScheduleService ํด๋ž˜์Šค, TodoRepository ์ธํ„ฐํŽ˜์ด์Šค์™€ ToroScheduleRepository.. 2024. 12. 6.