이번 일지는 지난 일지에 이어 이슈 트레킹 프로젝트가 어떻게 진행 중인지 작성해보았다. Visual studio를 켜고 코드를 치기 시작한 처음 몇 일은 이전에 두 과제를 하면서 생긴 자신감으로 순조로웠지만 그것도 잠시 뿐 다른 기술 블로그의 표현을 빌리자면 환멸의 계곡에 빠져들었다. 코드가 조금 길어지자마자 입력하면 할수록 예상하지 못한 부분에서 끊임없이 생기는 에러들 때문에 자신감이 곤두박질 치기 시작했다. 

 

기대감의 산에서 환멸의 계곡으로 이끈 원인 중 사소한 문제들을 제외하고 영향이 큰 두 부분을 소개하자면 저번 일지에서도 소개한 칸반 보드가 가장 큰 원인이었다. 일지에 드래그, 드랍 기능설명을 쓸 정도로 만족스러웠지만 당시 상태는 백엔드 서버와 연동 없이 ER다이어그램을 참고하여 내가 임의로 만들어 둔 JSON형식의 데이터 값으로 구현한 상태였다. 기대와 달리 막상 서버와 연동을 해서 실행해보니 데이터 값이 기대했던 모양과 달라 작동이 되지 않았다. 마치 여우(내)가 두루미(프로그램)를 초대해 놓고 납작한 접시에 음식(데이터)을 담아주는 꼴이 된 것이었다.  

 

내가 선택한 해결책은 당연하지만 접시의 모양을 바꿔주는 방법을 선택했다. 안타깝게도 구글링을 해보면 칸반보드 예시는 대부분 첫번째 사진과 같은 형태의 데이터 구조를 이용하기에 남이 잘 만들어 둔 코드를 그대로 복사해와서 붙여 넣는 요행을 바라기는 어렵게 되었다. 다행인 점은 접시의 모양만 바꿔주면 되기 때문에 우선 드래그, 드랍을 할 때 같은 칼럼에서 하는 상황인지 다른 컬럼으로 이동하는 상황인지 두 경우로 상황을 나누어서 판단하고 해당 칼럼의 요소들의 순서만 업데이트 해주면 되는 것은 변하지 않는 부분이었다. 그럼에도 시간이 오래 걸렸던 것을 라이브러리에서 사용되는 draggableId, droppableId, source, index에 대한 이해가 완벽하지 않아서 였던 것 같다. 지금은 서버에서 받아온 데이터 값을 이용해서 잘 구현되고 있기에 획일화 된 예시만 보고 이해가 힘들었던 분들을 위해 다른 형태의 예시 코드도 첨부해 둔다. 

기대감의 산에서 환멸의 계곡으로 이끈 또 다른 요인은 이다. 여태까지 컴퓨터나 핸드폰에서 로그인을 할 때 아무런 생각도 없었던 것 같다. 굳이 기억해보자면 카카오 계정으로 로그인과 같은 소셜 로그인 버튼을 눌렀을 때, 카카오 아이디와 비밀번호를 한 번 더 물어보면 귀찮게 군다고 짜증을 냈던 것 같다. 만들고 있는 이슈 트래킹 툴에서도 로그인 기능이 필요하기에 개발 중인데 위에 설명한 칸반 보드와 달리 로그인 관련 부분은 만성질환과 같이 아직까지도 꾸준히 괴롭힘을 받고 있다. 뭐 하나 쉬운 게 없다는 말을 로그인 버튼 하나를 만들면서도 느끼는 중이다.