개발일지
개발일지 58일차
index.ys
2023. 5. 27. 22:44
멘토링 상담 내용 기록
첫번째 질문
- 유저로케이션, 푸박스 로케이션, 로스트로케이션 등 위도,경도만 담아서 새로운 테이블에서 위치 정보를 관리해야 하는지
답변
- 따로 저장해야 하는 이유가 없다면 각각의 테이블에 나눠서 위도,경도를 저장함 차후에 위도,경도만 같이 모아서 관리해아할 상황이 생기면 그때 합쳐서 관리
#데이터 정규화
두번째 질문
- 프론트 엔드에서 데이터를 받을때 Geolocation API로 위도 ,경도 전달 방식
{
location: [ { long: 37.1532 , lat: 126.5956 }, ]
}
or
{
latitude: 37.1532 , longitude : 126.5956
}
어떠한 형식으로 받아야 하는지?
답변
- 대부분 위도,경도를 저장할때 아래와 같은 방식으로 DB에 저장됨 그래서 아래 방식으로 저장
{ address: 경기도 안양시 동안구 000 , latitude: 36.158465, logitude: 127.5621}
- 아래와 같이 저장하면 location으로 데이터를 조회했을때 어떤게 위도,경도인지 구분하기 어렵고 뎁스도 하나 더 추가됨
location: [ { long: 37.1532 , lat: 126.5956 }, ]
세번째 질문
- 네비게이션 기능 구현을 위해 사용자의 실시간 위치를 socket.io를 사용하는 방법, 카카오 네비게이션 API에 자체적인 기능으로 구현 어떤방법으로 해야하는지
답변
- socket.io를 사용하여 실시간으로 데이터를 직접 받아오는 방법보다는 카카오 네비게이션 api를 사용해 프론트엔드에서 네비게이션 기능 구현
추가적인 키워드
- 테이블 정규화
- 오픈라우터 서비스
- 오픈 api를 제외한 모든 api는 클라이언트가 직접 요청을 보내는게 아니라 서버를 거쳐 카카오 api서버에 접근해야함 => 클라이언트에서 바로 요청을 보내게 되면 브라우저에 담긴 사용자의 정보가 그대로 노출되기 때문에 보안적으로 쓰레기임
- Redis의 활용법 (무궁무진) 추가 탐색