상세한 내막을 잘은 모르지만 백엔드에서는 비교적 우리보다 빠르게 작업을 마쳤고, 배포까지 끝낸 상태에서 우리가 끝내기를 기다리고 있었다. 그게 저녁 나절이었나. 벌써 기억이 가물하지만 어떤 이유에선지 앞으로 해야 할 작업들을 가볍게 생각한 나는 큰코를 다치고야 말았다. 처음 하는 일이었지만 다행히 큰 어려움 없이 JWT 토큰을 쿠키에 저장하는 데 성공했고, 게시글 작성 여부를 판단하기 위해 사용자를 구별하는 정보가 추가적으로 필요해서 회원가입과 동시에 자동으로 부여되는 사용자의 고유번호를 따로 보관해야 했다. 하지만 일전에 적었듯이 리액트스럽지 못하게 페이지 이동을 강제하는 새로고침을 넣은 상황에서, 바로 그 새로고침 때문에 기껏 보존해둔 state 데이터가 매번 모조리 날아가게 되어 어려움을 겪었다. login을 마치면 쿠키에 토큰이 저장되고 리덕스에 사용자 정보가 들어가는데, login이 끝남과 동시에 메인 페이지로 이동시키는 새로고침이 발생해 정보가 깨끗하게 증발해버리고 마는 것이었다. 이 문제로 인해 몇 시간을 구글링하고 머리 싸맨 끝에 동환님이 id가 데이터에 들어간 것이 확인된 후 history.push('/') 하게 만드는 식으로 해결했다. 이게 가장 완벽하고 적절한 해결책이라고 할 수는 없겠지만 새벽 3시에 내릴 수 있었던 최선의 선택이었음은 분명해 보인다.
오늘 한 일
늦게 잔 것치고는 제때 일어나 늦지 않게 출석했다. 자정까지 과제를 제출해야 하는 날이었는데 자꾸만 새로이 발견되는 오류들과, 후딱 해치워버리고 싶지만 의외로 사람을 끝까지 물고 늘어지는 자잘한 문제들에 온종일 시달렸다. 우리가 고전하느라 백엔드에서는 마냥 손놓고 기다려야 할 뿐이어서 마음이 무거웠다. 실력이 부족한 내가 원망스러운 날이었다ㅠㅠ.. 깃은 왜 그렇게 안 도와주는지 푸시 대상인 파일을 처리해주지 않아 어이없게 누락되고, 결국에는 로컬 저장소를 밀어버리고 다시 통째로 클론해오고 하는 일이 빈번했다. 그래, 이러지 않으면 마지막 날이 아니지.
그래도 완성하고 나니 (비록 그 후에도 몇 번이나 수정->재빌드->재배포 반복) 뿌듯했다. 사실 안 그래도 되지만 괜히 완전한 주소로 남겨놓고 싶어 도메인도 새로 구입해서 달았다. 원래 자정까지 배포한 후 제출하는 게 과제였지만 다행이라고 해야 할지, 제출 링크의 DB에 뭔가 문제가 생겼다고 해서 내일 아침으로 미뤄졌다. 그 덕에 조금 더 여유롭게 마무리했고, 나름대로 훈훈하게 마무리를 지었다. 도메인은 http://dev-moim.shop/
과제 제출로 일찍(?) 끝난 기념으로 해산 후 객체 지향 프로그래밍에 관한 유튜브 영상을 3편 정도 봤다. 아직 코딩과 프로그래밍에 대해 모르는 게 너무 많다.
내일 할 일
과제 제출 확인 후 코드 리뷰를 하고 깃헙 저장소를 정비하고 다른 팀의 과제를 구경한다.
내일은 드디어 클론코딩 주간의 시작이다. 내가 뭘 안다고 벌써 클론코딩을 하는 건지, 말도 안되고 당황스럽기 그지없지만 하다 보면 또 하게 되는 것 아닐까. 다만 팀에 조금이라도 더 도움이 되는 사람이 되고 싶다.