오늘 한일
- Node.js 서버에서 사용하는 Redis 모듈의 사용 방법을 확인했습니다. 기존에는 SET, GET, ZADD와 같이 모듈에서 지정된 Command만 사용되는 줄 알았는데 Redis의 공식 Document에서는 별도의 방법이 지정되어 있지 않았고, 모든 명령을 사용할 수 있다고 소개되어 있었습니다. 그래서 ZRANGEBYSCORE과 같이 -inf, +inf, 와 여러 개의 인자가 들어가는 함수를 사용해보았고, 정상적으로 조회되는 것과 MULTI EXEC Transaction을 이용해 여러 개의 명령을 한 번에 정의할 수 있는 기능도 사용할 수 있었습니다. Reids-cli 대다수의 기능을 사용할 수 있는 것을 확인하였고, 한정된 명령어를 사용할 수 있었던 이전과는 다르게 논리 구조를 탄탄하게 구현할 수 있게 된 것 같습니다.
- Redis의 Geometry Member에 만료 시간을 설정하는 논리 구조를 작성하였습니다. Redis에서는 key 단위마다 Expire를 사용해 만료 시간을 설정할 수 있습니다. 하지만 Geometry 데이터 형식은 key 내부에 member가 추가되는 형식으로 구현되어 있고, Expire를 사용하여도 하나의 사용자 위치를 삭제시킬 수 있는 것이 아니라 모든 위치를 삭제하는 방법으로밖에 구현할 수 없습니다. 그렇다면 Node.js 서버에서 GEOADD를 이용해 사용자의 위치를 추가할 때 별도의 key에 작성된 시간을 추가해 일정 시간마다 삭제하면 되지 않을까 생각하였고, Redis의 MULTI EXEC Transaction을 이용해 사용자의 위치와 작성된 시간을 서버에서 동시에 변경할 수 있도록 구조를 작성하였습니다.
- React.js에서 Naver Cloud SENS를 이용해 핸드폰 인증 API를 연동하였습니다. 기존에는 이메일 인증 메일 > 이메일 인증 > 회원 가입 순으로 구현되어 있었지만, 핸드폰 인증 문자 발송 > 핸드폰 인증 > 회원 가입 순으로 변경하였습니다. React.js에서 변경된 API의 URL과 내부 인자를 수정하였고, 기능이 정상 동작하는 것을 확인하였습니다.
업무 리스트
- Socket 입장, 퇴장 채팅방 이벤트 삭제 [17:01]
- Redis Geometry 데이터 Expire 논리 구조 정의 [20:28]
- Redis MULTI Transaction 문법 학습 [20:28]
- React.js 핸드폰 인증 API 연동 [23:30]
- 확정 게시글 조회 API 구현 [00:08]
오늘 배운 것
- 마케팅 특강 피드백
- 엔 코드 협력사 발표
- Redis Expire, TTL
- Redis MULTI EXEC Transaction
- 백 엔드 코드 병합
내일 할 것
- 코딩 테스트 연습
- 트러블 슈팅 문서 마무리
- GeoRedis 자동 삭제 기능 구현
- 광고 기획 구상
- FaceBook Ads 사용
'항해99 > TIL' 카테고리의 다른 글
2021-08-25 항해99 TIL (0) | 2021.08.26 |
---|---|
2021-08-24 항해99 TIL (0) | 2021.08.25 |
2021-08-22 항해99 TIL (0) | 2021.08.22 |
2021-08-21 항해99 TIL (0) | 2021.08.21 |
2021-08-20 항해99 TIL (0) | 2021.08.21 |