2024/12/09 3

Spring 본캠프 Day 064 - 도전 단계 과제 첫 도전, 3단계 일정 관리 앱까지 일단 만들긴 했는데…….

역시 직접 짠 코드는 마음에 들지 않았다. 좋아하는 스파게티와 멀어지고 싶을 만큼. 퇴실하기 전 약 20분이 남았을 때, 튜터님이 한컴타자연습 치는 줄 아셨다고 웃음이 빵 터졌을 만큼 부서져라 키보드를 두들겨서 3단계 일정 관리 앱 만들기를 끝냈다. 도전 과제 3단계는 '데이터베이스(database) 구성을 바꾸면 얼마나 고생하는지' 몸소 겪으라는 의미로 내준 과제 같았다. 더도 말고 덜도 말고 표가 딱 하나 늘었을 뿐인데, 고칠 부분은 정말 자비 없이 늘었다.  10배? 아니. 20배.오늘은 점심과 저녁 시간 직전까지 튜터님과 3단계 과제를 붙잡느라 아침에 허리 근력 강화 운동을 하고 점심 먹기 전에만 10분 정도 움직였다. 다행히 오늘 메뉴가 부대찌개이기도 했고, '아무리 바빠도 한국인은 밥심이지!'..

2단계: "PATCH를 두 번 눌러야 수정이 돼요. 왜 이럴까요?"

[문제]Postman으로 일정을 부분 수정하는 PATCH를 실행하면 Send 버튼을 두 번 눌러야 수정되었다. 500번 대 오류 메시지가 뜨지는 않았으나, 이는 분명 무언가에 문제가 있다는 뜻이었다. 이 문제를 확실히 해결하고자 아침 9시에 팀에서 데일리 스크럼(Daily Scrum)을 마치는 대로 튜터님을 찾아갔다. [원인]이번에 발생한 문제는 PATCH 기능이 두 번 이루어진 게 아니라, 수정된 일정을 제대로 반환하지 않아서 생긴 문제였다. 스프링(Spring) 내에서 쓰는 객체와 데이터베이스는 별개인데, Send 버튼을 눌렀을 때 데이터베이스에서만 일정을 수정한 탓에 API 응답에서는 수정 전 일정이 출력된 것이었다. [해결](1) 데이터베이스와 한 번 더 소통하기ⓐ 해결 방법더보기package c..

1단계: "넌 띄어쓰기를 소중히 하지 않았어"

[문제]SQL 쿼리(query)문을 작성하고 실행하니 바로 500 Internal Server Error 메시지가 떴다. 이 정도면 저 오류 메시지를 보려고 리팩토링(refactoring)하는 게 아닌가 싶었다. [원인]package com.spring.weekthree.repository;import com.spring.weekthree.dto.responsedto.PlanResponseDto;import com.spring.weekthree.entity.Plan;import org.springframework.http.HttpStatus;import org.springframework.jdbc.core.*;import org.springframework.jdbc.core.namedparam.MapSq..