2주차가 끝나고 3주차 미션이 시작됐다.
3주차 미션은 Spring Core
에 관한 미션이었다.
이번 미션은 진짜 고생을 많이 한 것 같다.. 일단 과정은 이렇다
학습 테스트는 어렵지 않았다
페어
들과 화면공유하면서 같이 진행했는데 서로의 생각을 바로바로 말하면서 코드에 적용해볼 수 있었다. 하다가 잠깐 막혔었는데 정빈이가 방향을 제시해줘서 잘 해결했다.
페어프로그래밍 재미있는것 같다. 나중에 기회가 된다면 온라인상이 아니고 오프라인으로 진행해보고 싶다!
페어프로그래밍을 하면서 알게된 점은 생성자 주입
을 할 때 @Autowired
어노테이션을 안붙여도 된다는 것이었다. 생성자 주입
을 할 때 항상 이런 것은 아니고
이번주 미션에서 억까를 좀 많이 당했다. 사실 억까가 아니고 내가 잘 안읽은 것 같긴하다...
방탈출 예약을 하기 위해서는 시간도 필요해서 시간 관련 테이블도 추가해서 외래키로 연관관계를 지정해줬다.
Time
테이블을 추가하고 기존에 있던 기능들을 수정해야 하는 미션이 있었는데 여기서 전달하는 컬럼의 이름을 제대로 보지 않고 진행했다가 한동안 막혀 있었다. 해당 사실을 발견하고 컬럼명에 맞게 적용을 했는데도 동작을 제대로 하지 않았다..
시간은 추가가 되는데 방 예약이 안된다고 생각했다. 이렇게 생각하게 된 이유는 추가 버튼을 눌렀을 때의 화면에는 나오는데 그 화면을 새로고침을 하면 예약했던 내역이 화면에서 없어져서 그렇게 생각을 했다. 그래서 해당 부분의 코드를 계속 보고 고쳐봤는데 여전히 동작이 제대로 이루어지지 않았다.
그런데 화면에서는 보이지 않아도 저장된 예약의 아이디는 계속 올라갔다. 이걸 보고 DB
에 저장은 되는데 이상한걸 불러와서 생기는 현상이라고 생각했고 그쪽으로 방향을 변경하고 코드를 보게 되었다. 쿼리문은 나와있던 것을 사용해서 이상이 없다고 생각했고 마지막은 전달하는 객체쪽이었다. 결국 그쪽은 계속 쳐다보다가(7시간 정도..) 결국은 해결했다....
이번에 이렇게 고생했으니까 다음에는 같은 실수를 하지 않았으면 좋겠다... 그리고 한가지 경우만 생각하지 않고 다양한 상황에 대해 생각해보고 오류를 해결해나가야 할 것 같다.
힘들었지만 해결해서 다행이다
리뷰를 바탕으로 코드를 좀 더 개선해봐야겠다.