오늘 한일
- Javascript 코딩 테스트를 준비하고 있습니다. 기존에는 Python을 이용해 코딩 테스트를 진행하고 있었지만, Javascript를 이용해 테스트할 수 없으면 지원할 수 있는 회사의 범위가 상당히 좁아질 것이라 생각하였고, 3주밖에 남지 않았지만 꾸준하게 하루에 1~2문제를 풀 수 있도록 시간을 내도록 노력해야 할 것 같습니다.
- Redis-cli를 사용해봤습니다. MySQL을 사용하던 때와는 다르게 데이터 타입에 따라 삽입, 조회 형식이 달랐고, 모든 형식의 함수를 이해하고 있어야 DB를 사용할 수 있다는 점이 답답하게 다가왔습니다. 그리고 각 데이터별 Expire Time이 설정되어있어 데이터를 일정 시간 사용하지 않는다면 자동으로 삭제되는 경우가 발생했습니다. 이러한 특성은 메모리 캐시에 데이터를 저장하고 있는 Redis의 특성에서 비롯되는 것 같습니다. 사용하면서 MySQL이나 MongoDB보다는 확실히 빠르다는 것을 느낄 수 있었습니다.
- Redis, GeoRedis 모듈을 실전 프로젝트에 적용해보았습니다. 실전 프로젝트에서 Socket.js의 사용자 위치를 입력, 출력하는 부분에서 GeoRedis를 이용해 GEOADD, GEORADIUSBYMEMBER함수를 적용하였습니다. 현재 사용자 반경 500m 이내에 있는 가장 가까운 사람들부터 50명까지 출력하도록 설정하였습니다. 단순히 기존에 사용하던 부분의 코드를 변경하기만 했기 때문에 확실한 논리 구조로 작성을 하지 못했고, 사용자가 많아질 경우 발생하는 부하가 어느 정도 인지 파악하고 있지 못하고 있습니다. 다른 API 작성을 하기 전 확실한 부하 테스트를 할 수 있도록 노력해야 할 것 같습니다.
업무 리스트
- Redis-cli 기본문법 학습 [11:51]
- Redis Node.js 모듈 학습 [11:51]
- Node.js GeoRedis 모듈 학습 [20:40]
- Node.js GeoRedis Middleware 구현 [22:40]
- Socket.IO GeoRedis 사용자 위치 연동 [23:10]
오늘 배운 것
- 코딩 테스트 연습
- Redis-cli
- Redis, GeoRedis Module
내일 할 것
- 코딩 테스트 연습
- Socket.IO Adapter GeoRedis 적용
- EC2 Redis 설정
- EC2 GeoRedis Socket 적용
- 대화방 확정, 강퇴, 탈퇴 API 생성
- 배열 유저 정보 출력 SQL 작성
'항해99 > TIL' 카테고리의 다른 글
2021-08-19 항해99 TIL (0) | 2021.08.20 |
---|---|
2021-08-18 항해99 TIL (0) | 2021.08.19 |
2021-08-16 항해99 TIL (0) | 2021.08.16 |
2021-08-15 항해99 TIL (0) | 2021.08.16 |
2021-08-14 항해99 TIL (0) | 2021.08.14 |