주제
주제는 고민 상담 게시판인데 사실상 단순 게시판이나 다름 없었다.
게시판으로서의 기능이 몇개 빠져있지만(글 삭제, 수정 & 댓글 삭제, 수정) 3일하고도 반나절이라는 짧은 시간 그리고 1주차의 실력인 것을 감안해서 단순한 GET, POST의 insert 기능만을 활용해 만들었다.
문제가 일어난 발단
원래는 1주차부터 포지션을 나누지 않았지만 우리 조는 나눠서 진행해보기로 하였고 한 페이지에 모든 기능을 넣는다는 도전을 해보았다.
토이 프로젝트를 해봤던 경험을 살려 모달창을 제안했고 팀원 분들이 받아들였지만 내가 팀원분들에게 드린 모달창에 대한 설명이 조금 미흡했는지
화면 구현하시는 분들이 모달창에서 조금 애를 먹으신 것 같아서 조금 죄송한 마음도 들었다.
모달창에 관한 문제점 말고도 나 스스로의 고민도 있었는데 막상 코드를 작성하기 시작하니 화면구현 없이 내 기능을 확인할 방법을 찾기 어려웠다.
물론 단순 GET은 대충 append 해보면 알아낼 수 있었지만 회원만 이용할 수 있는 기능인 게시글 작성이나 댓글 작성의 경우는 내가 로그인 파트를
맡은게 아니다보니 어떻게 확인할지 막막했고 유저 정보를 받았다는 가정하에 코드를 작성했다.
해결!!
다음 날 같이 백엔드 부분을 맡으신 팀원이랑 작성한 코드를 같이 확인하는데 팀원분이 Talend API Tester를 알려주셨다. url을 입력하면
해당 기능이 잘 작동하는지 오류가 나는지 알 수 있는 툴이었고 알려주셔서 너무 감사했다.
가정하고 작성한 코드다보니 API Tester를 이용했을 때 생각하지 못했던 부분에서 오류가 발생했다. 혼자 작성했을 때는 완벽하다고
생각했는데 박살나는걸 보니까 조금 허무했지만 배워가는 것도 많아서 다행이라고 생각했다. 잘 알려주신 팀원분한테 정말 감사했다.
만났던 문제점은 첫번째로 내가 넘긴 숫자 데이터를 아니 애초에 내가 숫자라고 명시하지 않았다. 1이라고 보냈으니 숫자로 인식하겠지 라는
안일한 생각 때문에 정작 DB에서는 String으로 받아서 문제가 생겼다. int타입인 것을 명시해준 뒤 넘겨주니 해결되었다.
두번째 문제점은 모달창에 게시글 상세조회와 댓글을 불러오는데 상세조회는 괜찮았다. 그런데 댓글은 모달창을 띄울 때 마다 중복된 내용이
추가되어서 문제였다. 이 부분은 append했던 댓글들을 모달창이 닫힐 때 remove해주거나 get해서 불러오기 직전에 댓글 목록 리스트를
비워줘서 해결할 수 있다는 것을 배웠다.
세번째는 기능이 단순한데 비해 기능이 단순해도 화면구현은 그대로인 점이 문제였다. 아무리 한 페이지에서 해결했다고는 하지만 한 페이지에서
해결하려다보니 모달창 갯수는 늘어나 도찐개찐이 된 기분이다. 잘못하면 시간 내에 완성하지 못할 것이라 판단해 나도 css를 공부하며 화면 구현을
같이 했다. 게시글 상세 모달창을 꾸며봤는데 생각보다 Css도 재미있었다. 미적 감각이 부족해 이쁘게 만들진 못한 것 같다
등록 버튼에 알 수 없는 검은 선이 너무 신경쓰인다... 내가 만들었지만 너무 못생겼다 미술쪽으로 진로를 정하지 않은게 정말 다행이다
회고
JWT와 API의 흐름을 이해할 수 있었다. JWT는 서버에서만 처리해서 외부로 노출시키지 않게 해야한다는 점이 중요해보였다. API는 내가 보내고 싶은 데이터의 흐름을 이해하지 않으면 아무 것도 할 수 없다. 우리 팀의 목표가 흐름 이해였던 것 만큼 데이터가 어디로 와서 어디로 흘러가는지, 또 어떻게 보여지는지 만큼은 얻어갈 수 있었던 것 같다.