220511 팀프로젝트 회고

Parker.Park·2022년 5월 11일
0

CodeCampTeamProject

목록 보기
3/22
post-custom-banner

220511 팀프로젝트 회고

dragAndDrop 방식 DB 저장에 대한 고민

팀에서 업무관리하는 페이지에 대해서 만들려고 한다. 현재 상세 업무가 순서를 DB에서 가져 오고, 프론트 페이지에서 순서를 Drag and Drop(이하 dnd) 방식으로 변경이 가능하게 구현하려고 한다.
처음에는 1라인이 있다면 그 라인이 속한 데이터를 가져오고 저장한는 방식이면 되겠다 생각했다. 그런데 노션같은 앱에서 todo리스트를 만들 때 자신이 원하는 위치에 고정을 해놓고 앱을 껐다가 실행해도 다음에 불러올수 있는 기능 쉽지 않게 사용하고, 우리팀도 그 같은 기능을 구현하고자 했다. 그러면 DB에 위치값이 저장 되어야 하지 않을까 생각했다.

저장 방식에 대한 고민

처음에 일정같은 것을 생성할 때 index_num이라는 컬럼을 만들고, 일정있는 라인에 index번호와 매칭 시키는 번호를 생성하는 것이 좋다고 생각했다. 만들 때마다 1, 2, 3, 4...가 나오도록 말이다. 그런데 문제는 dnd방식에서 만약에 맨 뒤 data를 맨앞으로 옮긴다면, 이전에 뒤에 있던 data들은 모두 +1이 되어버리는데, 그러면 결국 뒤바뀐 data를 포함하여 다른 데이터들까지 update를 해야 한다고 생각했다.
구글링을 해봐도 뚜렷하게 풀리는 것 같진 않았다.
결국 여기저기 물어봐서 내린 결론은 바뀐 순서를 포함한 데이터들을 임시로 저장하고, 기존에 있던 데이터를 삭제하고 다시 임시로 저장된 데이터를 db에 저장하는 방식을 생각했다. 그러면 저장된 순서가 나오는 것이고, 순번을 바꿔줘야 하는 것에 대한 복잡함도 사라진다고 생각하였다.
아직까지 코드로 구현하지 않았기 때문에 실제로 데이터를 눈으로 봐야 검증가능 할 것 같다. 비슷한 사례를 좀더 찾아보려고 한다.

배포 준비

수업 마지막 주에 배포를 배웠던 것으로 기억한다. 정말 빠르게 지나가서 따라하는 정도였지, 사실 모르는 것과 다를게 없었다. 다시 배운다는 생각으로 준비한다.

  • vm 인스턴스 생성

  • sql 인스턴스 생성 및 데이터베이스 만듦

  • Dns 연결 : 프로젝트 명을 포함한 Dns구입

  • 인스턴스 그룹 만듦

  • 로드벨러서 만듦

    중간에 데스트를 걷히지 않아서 추후에 다시 진행해봐야 한다.

git 추가기능 : milestone, project, issue

마치면서

뭔가 시간은 많이 할당하고 있는데 나오는건 없었던것같은 기분이다.

profile
개발자준비중
post-custom-banner

0개의 댓글