07/11 (월) : CRUD API 작성 (게시글 순서변경 기능 추가)
프로젝트의 DB가 추가되면서 CRUD의 코드도 전체적으로 변화했다. 게시글의 순서를 변경하는 기능을 위해 테이블과 테이블의 종속 관계가 생겼다. 그 때문에 이때까지 짜놓은 CRUD 전체를 수정해야했다. 사실 어려워서 너무 팀원(팀장)에게 도움을 요청했고, 내 담당 API를 팀원도 따로 작성해보기로 했다. 결과를 보니 서로의 코드가 완전히 다르고 짜놓은 로직도 완전히 달랐다.(신기)
결과적으로 나의 로직으로 CRUD의 흐름이 결정되었다. (어려운 로직이라 상대를 설득하는 과정이 쉽지않았다.)
1. READ : 사용자의 게시글 순서 DB 테이블을 찾아서 그 순서대로 게시글 DB를 찾아 빈 배열에 push. 해당 배열을 response로 보내주기.
2. CREATE : 게시글을 생성할 때, 유저의 게시글 순서 DB 테이블 맨 마지막에 게시글 id 추가.
3. UPDATE : 순서변경 API에서 게시글 id를 순서대로 저장한 배열의 요소가 수정되어 DB 테이블에 저장된다.
4. DELETE : 우선 유저의 순서DB 테이블에 게시글id 삭제, 그 후에 멤버들의 순서 DB 테이블도 수정, 최종적으로 게시글 DB에서 게시글 삭제.
07/12 (화) : CRUD API 완료
07/13 (수) : 타입스크립트 학습
07/14 (목) : 발표 자료 준비 (PPT 작성)
Javascipt 배열 안에 특정 값 포함 여부 확인
내 프로젝트에는 특정 멤버만 공유하는 게시글(명칭 : 맛방) 개념이 있다. 방에 초대된 사람들끼리만 정보를 공유하는 식이다. 방장이 방을 생성할 때 자기 자신을 초대하지 못하게 하기위해, 초대할 멤버의 배열 안에 방장의 id가 들어가지 않도록 막는 조건문을 생성했다. 그때 Array.some() 메서드를 활용할 수 있었다.
또한 게시글의 순서를 변경하는 API를 테스트하다가 입력값으로 잘못된 값을 보낼 수 있다는 생각이 들었다.
순서를 변경하기 전 배열과 변경한 후의 배열의 총 개수가 같아야하고, 배열의 요소도 같아야 한다. 순서만 다를 뿐! 일단은 Array.length 메서드로 비교만 하고 요소의 내용을 비교하진 않기로 했다.
07/15 (금) : 디자이너 & 개발자 미팅, HTTPS 서버 배포
[AWS] SSL 인증서 발급과 EC2 인스턴스 HTTPS 적용
팀 서버 배포는 팀장인 팀원의 서버로 배포되었다. 하지만 나도 내가 배포한 보조 서버를 운영하고 싶었다. 이때까지는 http로만 배포했는데, https를 여러가지 방법으로 시도하다가 드디어 성공하게 되었다. 혹시라도 메인 서버가 고장나면 내 서버로 임시교체하는 방식을 취할 것 같다.
07/16 (토) : 중간 발표, 버그 수정
금요일 밤부터 중간 발표를 준비하다가 밤을 샜다. 팀장이 발표와 질의응답을 했고, 발표를 평가해주신 시니어 개발자분들의 반응이 다른 팀에 비해 꽤 좋았다. 특히 우리 팀은 백엔드가 2명인데, 다른 팀은 3명이라 더 강조된 것 같다. 이 날 충격받은 것은 나의 작업량보다 팀장의 작업량이 두배 이상 많았다는 것이다. 프로젝트를 세팅한 (repo를 생성한) 사람이 코드량이 많다는 위로는 들었지만, 내가 너무 나태했나? 싶은 생각에 자괴감이 들었다. 사실 내 담당 API를 팀장에게 도움 요청 한 것도 컸다. 그리고 내 로직은 좋았지만 코드 구현은 팀장이 더 우수했다. 반성하고 반성한다. 결국엔 취업이 목표인데 작업량이 두배 차이 난다는 것은 너무 불리한 일이다. 노력하자 김상선.
Prettier 사용법 (VSCode, javascript)