끝을 보는 용기

Spring 본캠프 Day 072 - 4단계 및 5단계 일정 관리 앱 Develop 완료, 5단계 진행 중, 첫 쿠키(🍪) 생성 및 예외 처리

writingforever162 2024. 12. 17. 23:18

아주 예전에 '두 번 구운 과자'를 의미하는 이탈리아 전통 간식 비스코티(Biscotti)와 마카롱을 구운 뒤로 쿠키(🍪) 구울 일이 없을 줄 알았는데, 오늘 아주 원 없이 구웠다. 반환을 이상하게 해서 'redirect: /' 문자열이 그대로 출력되긴 했지만, 아무튼 굽긴 잘 구웠다. 정확히는 세션(session)을 생성했지만. 그 과정에서 수많은 문제를 일으키긴 했지만.

개발 분야를 공부하는 지금은 모든 순간이 전부 새롭지만, 오늘은 그토록 시도하고 싶었으나 엄두조차 내지 못한 '예외 처리'를 해낸 날이라서 다양한 오류를 내고 캡처하길 반복했다. 매일 여백을 용납할 수 없다는 듯이 줄글로 나열된 오류 메시지가 깔끔하게 두 줄로 정리되니 속이 다 시원했다.

'401 Unauthorized' 오류는 작성해야 할 트러블슈팅(troubleshooting)을 늘린 일등 공신이나 다름없었다. 우선은 이메일이 일치하지 않는지, 또는 비밀번호가 일치하지 않는지 각각 구현하라는 요구 사항은 없었기 때문에 사진처럼 오류 메시지가 출력되도록 구현했다.

한 번 예외 처리에 성공하고 나니, 그다음 예외 처리하기는 처음보다 어렵지 않았다. 물론 '처음보다' 어렵지 않았을 뿐, 긴장한 정도는 크게 다르지 않았다. 방심했다가 오류가 발생할까 봐 차분한 마음으로 코드를 쓰려고 했다.

가장 까다로운 예외 처리가 바로 로그인(login)하지 않은 사용자가 POST나 GET과 같은 메서드(method)를 호출하려고 할 때였다. 왜냐하면 필수 과제 4단계에서 구현한 필터(filter)에서 처리해야 했기 때문에. 컨트롤러(controller) 전에 발생하는 예외를 처리해야 했기 때문에 좀 골치 아팠다. 그래도 시행착오 끝에 예외 처리에 성공했다.

오늘은 7시 30분 전에 일어나서 모든 운동과 스트레칭을 했지만, 내일은 조금 힘들지 않을까 싶다. 아침에 일찍 일어나도 전날 누리지 못한 여유를 누리느라 밀린 트러블슈팅(troubleshooting)을 쓴다든지 코드를 한 줄 더 본다든지 하지 않는다는 점을 오늘 여실히 깨달았다. 너무 늦게까지는 아니나, 오늘 밤에 도전 과제 6단계에 도전하거나 실컷 낸 문제를 어떻게 해결했는지 정리할 예정이다. 

 

🥇 도전 과제 6단계: 비밀번호 암호화 
🥈 도전 과제 7단계: 댓글 CRUD 
🥉 도전 과제 8단계: 일정 페이징(Paging) 조회

4️⃣ 트러블슈팅(troubleshooting) 작성하기
5️⃣ 리드미(README) 작성하기: 필수 과제 3-4단계

6️⃣ 리드미(README) 작성하기: 도전 과제 5-6단계

7️⃣ 리드미(README) 작성하기: 도전 과제 7-8단계

 

리드미 초안이며 주석을 미리 써둬서 그나마 부담감과 압박감이 덜하다. 가능하면 내일 모든 과제를 끝낼 수 있도록 집중력을 발휘하자. 오늘도 어김없이 열심히 달렸듯이.