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

Spring9

์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜_๋ฒ ์ด์ง๋ฐ˜ 3ํšŒ์ฐจ ์„ธ์…˜ ๋ฒ ์ด์ง๋ฐ˜์ธ์ฆ์ธ๊ฐ€12/13 14:00 ~ 15:40 (์•ฝ 1์‹œ๊ฐ„ 40๋ถ„ ์ง„ํ–‰) ์ค‘์š” ํ‚ค์›Œ๋“œ์ฟ ํ‚ค์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์„ธ์…˜์„ธ์…˜ ์ธ์ฆ ๋ฐฉ์‹ํ† ํฐํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹ํ•„ํ„ฐ์ฟ ํ‚ค, ์„ธ์…˜, ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹์€ ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๋ฉด ๋ฌด์กฐ๊ฑด ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๋‚ด์šฉ์ด๋‹ค!์ธ์ฆ ๋ฐฉ์‹์„ ๋น„๊ตํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ข€ ๋” ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค. ์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์ฟ ํ‚ค๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ ‘์†ํ–ˆ์„ ๋•Œ, ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.์‚ฌ์šฉ์ž์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ž‘์€ ๊ณต๊ฐ„์ด๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ• ๊นŒ?!์‚ฌ์šฉ์„ฑ๊ฐœ์ธํ™”๋œ ๊ฒฝํ—˜ ์ œ๊ณต → ๋งž์ถคํ˜• ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.์„ฑ๋Šฅ ์ตœ์ ํ™” → ๋ธŒ๋ผ์šฐ์ €, ์ฟ ํ‚ค์—์„œ ๋ฐ”๋กœ ๊บผ๋‚ด์„œ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.์˜คํ”„๋ผ์ธ ์ง€์›์ฟ ํ‚ค๋ฅผ ํ™œ์šฉํ•œ ๊ธฐ๋Šฅ๋ธŒ๋ผ์šฐ์ €์—์„œ ์š”์ฒญ์ด ๊ฐˆ ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ Request Header์— ๊ทธ ๊ฐ’๋“ค์ด ํฌํ•จ๋˜์–ด์„œ ์„œ๋ฒ„.. 2024. 12. 16.
์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜_๋ฒ ์ด์ง๋ฐ˜ 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.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 10 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๊ฐœ์ธ ๊ณผ์ œ Lv 1 - JDBC๋กœ ๋ฐ”๊พธ๊ธฐ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ์˜ค๋Š˜ ์ง„ํ–‰ํ–ˆ๋˜ ๊ณผ์ œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ •๋ฆฌํ•ด ๋†”์•ผ๊ฒ ๋‹ค!์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋‹ค ์™„์„ฑํ–ˆ๋˜ ๊ณผ์ œ๋ฅผ JDBC๋กœ ๋ฐ”๊พธ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.์ผ์ • ์ƒ์„ฑ ์ˆ˜์ • - Todo(@Setter ์ œ๊ฑฐ), TodoScheduleRepository(์‚ญ์ œ), JdbcTemplateRepository(์ƒ์„ฑ ๋ฐ createTodo ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoScheduleService(createTodoService ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoResponseDto(@AllArgsConstructor Annotation ์ถ”๊ฐ€)์ „์ฒด ์ผ์ • ์กฐํšŒ ์ˆ˜์ • - TodoScheduleService(searchAllTodoService ๋ฉ”์„œ๋“œ ์ˆ˜์ •), TodoScheduleController(s.. 2024. 12. 8.
์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜_๋ฒ ์ด์ง๋ฐ˜ 1ํšŒ์ฐจ ์„ธ์…˜ ๋ฒ ์ด์ง๋ฐ˜์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ, ์ปดํฌ๋„ŒํŠธ ์Šค์บ”, ์Šคํ”„๋ง ๋นˆ ์ค‘์š” ํ‚ค์›Œ๋“œโญ๏ธโญ๏ธโญ๏ธโญ๏ธโญ๏ธ - ๋ฉด์ ‘์— ๋‚˜์˜ค๋Š” ๋‚ด์šฉ๋“ค์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜์กด์„ฑ ์ฃผ์ž…์ œ์–ด์˜ ์—ญ์ „์ปดํฌ๋„ŒํŠธ ์Šค์บ”์Šคํ”„๋ง ๋นˆ๋นˆ์˜ ์ƒ์• ์ฃผ๊ธฐ๋นˆ ์Šค์ฝ”ํ”„์‹ฑ๊ธ€ํ†ค ์Šคํ”„๋ง ์š”์ฒญ ํ๋ฆ„๋„ @RestController@RequestMapping("/hello")public class HelloController { @GetMapping() public String sayHello() { return "hello"; }}์•„๋ž˜ ์ž‘์—…์€ ๋ˆ„๊ฐ€ ํ–ˆ์„๊นŒ?!์ „๋ถ€ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ•ด์ค€๋‹ค!!HelloController helloController = new HelloController();helloController.sayHello(); ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ฅผ.. 2024. 12. 7.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 6 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ - ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ๋“ฃ๊ธฐ์Šคํ”„๋ง 6์ฃผ์ฐจ ๊ฐ•์˜ ๋“ฃ๊ธฐTIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ๋Š” ๋”ฐ๋กœ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•ด ๋‘ฌ์„œ ํŠœํ„ฐ๋‹˜๊ป˜ ์ฐพ์•„๊ฐ€์„œ ์–ป์€ ๊ฟ€ํŒ์„ ์ ์–ด์•ผ๊ฒ ๋‹ค!๋ฌธ๋ฒ•์ ์ธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ๊ณ ์ณ์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ๋ฌธ๋ฒ•์ ์ธ ์—๋Ÿฌ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค..gradle, .idea, build ํŒŒ์ผ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํด๋”๋ฅผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋ณธ๋‹ค.๊ทธ๋ž˜๋„ ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์บ์‹œ๋ฅผ ์‚ญ์ œํ•œ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋ณธ๋‹ค.IDE ์ž์ฒด์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ข…์ข… ์žˆ์–ด์„œ IntelliJ ์žฌ๋ถ€ํŒ…, ์ปดํ“จํ„ฐ ์žฌ๋ถ€ํŒ… ๋“ฑ๋“ฑ ์ข…๋ฃŒ ํ›„ ๋‹ค์‹œ ์ ‘์†ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด ๋˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ๋‹ค.์‹ค์Šต ๊ฐ•์˜๋ฅผ.. 2024. 12. 4.
์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ ๊ธฐ์ˆ  ์ ์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ ๊ธฐ์ˆ  ์ ์šฉํ•ด ๋ณด๊ธฐ 1. ํ”„๋กœ์ ํŠธ ์„ธํŒ…๋”๋ณด๊ธฐbuild.gradle ์˜์กด์„ฑ ์ถ”๊ฐ€JDBC Template, MySQL ์˜์กด์„ฑ ์ถ”๊ฐ€// MySQLimplementation 'mysql:mysql-connector-java:8.0.28'// JDBC Templateimplementation 'org.springframework.boot:spring-boot-starter-data-jdbc'ํ”„๋กœ์ ํŠธ ์„ค์ •IntelliJ Database ์—ฐ๋™ํ•˜๊ธฐCREATE TABLE memo( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '๋ฉ”๋ชจ ์‹๋ณ„์ž', title VARCHAR(100) NOT NULL COMMENT '์ œ๋ชฉ', conte.. 2024. 12. 4.