오늘 한일
- MySQL의 데이터가 날아가는 것을 방지하기 위해 정기적으로 백업을 실행하도록 셸 스크립트를 작성하였습니다. 기존에는 단순히 시간마다 EC2 서버에서 mysqldump 명령어를 일일이 사용하여 백업하였는데, 이번에는 별도의 셸 스크립트 파일을 작성해 백업과 일정 시간이 지날 경우 파일을 삭제하는 이벤트를 구성하였고, crontab에서 지정한 시간마다 실행하도록 설정해 자동으로 백업 및 파일 관리를 할 수 있게 되었습니다.
- React를 디버깅하고 있습니다. 배운 적은 없지만, 전반적인 프로젝트의 API 통신에 대한 논리 구조를 이해하고 있어 React의 코드들이 어떻게 동작하는지에 대한 설명을 듣고 현재 발생하는 문제점은 무엇인지, 어떻게 해결해야 하는지를 생각하였고, 코드를 수정하였습니다. React에서 이전에는 사용하였고, 현재는 삭제한 getPostList라는 Socket 통신을 하고 있어 정상적인 Kakao Map Marker가 생성되고 있지 않았고, 해당하는 이벤트 콜백을 Axios로 일반 API와 통신하도록 수정하였습니다.
- 다음날은 중간발표의 시간입니다. 3주간 프로젝트를 진행하면서 현재까지 구현한 프로젝트의 진행 상황에 대해 공유하고, 문제점에 대해서 피드백을 3명의 튜터님에게 받는 시간입니다. 중간발표를 준비하면서 현재 프로젝트의 아키텍처가 어떻게 구성되어있는지, MVP를 어떤 순서로, 어느 기능을 보여줘야 할지 생각하였고, 만약 질문을 받는다면 어떤 질문을 받을 것인지, 거기에 대한 대답은 어떤 방식으로 할 것인지 작성하였습니다.
- 백 엔드 팀원이 작성한 테스트 코드를 코드 리뷰 및 병합하였습니다. DB와 통신하는 Joi의 테스트 코드는 완벽하였지만, DB와 통신하는 테스트 코드는 많은 부분이 통과하지 못했습니다. DB의 데이터까지 완벽하게 테스트 코드를 작성하기 위해 DB 임시 데이터 삽입 코드를 팀원에게 나눠주었지만, API를 작성하면서 DB를 사용하였기 때문에 Auto Increment의 순서가 변경되고, 데이터의 중복이 발생해 삽입이 실패하고, 임시 데이터를 삭제해 버려 테스트 코드를 작성하여도 다른 팀원의 DB와 호환이 되지 않는 상황이 발생하였습니다. 이러한 문제점을 해결하기 위해 테스트 코드를 실행하기 위한 별도의 Test DB를 생성하고, Sequelize.Seeder를 사용해 동일한 DB 데이터를 가질 수 있도록 설정을 하고, 해당하는 Seeder에 맞게 테스트 코드를 수정할 것입니다.
업무 리스트
- MySQL 정기 백업 및 삭제 crontab 생성 [10:10]
- React 대화방 데이터 호출 오류 해결 [11:18]
- React Socket newPost, removePost 적용[13:10]
- React Kakao Map Marker 생성 및 삭제 논리 구조 작성 [13:10]
- 중간발표 MVP 소개 및 아키텍처 구성 [21:15]
- 중간발표 질문 대비 프로젝트 정리 [21:15]
- 테스트 코드 오류 수정 [22:10]
오늘 배운 것
- React 구조
- 프로젝트의 문제점
내일 할 것
- 프로젝트 오류 디버깅
- 중간발표
'항해99 > TIL' 카테고리의 다른 글
2021-08-15 항해99 TIL (0) | 2021.08.16 |
---|---|
2021-08-14 항해99 TIL (0) | 2021.08.14 |
2021-08-12 항해99 TIL (0) | 2021.08.13 |
2021-08-11 항해99 TIL (0) | 2021.08.12 |
2021-08-10 항해99 TIL (0) | 2021.08.11 |