MySQL Geometry Point 데이터 셋 추가Sequelize로 Point 타입 조회시 출력되는 데이터
오늘 한일
MySQL의 Geometry 데이터 셋 구현에 많은 시간을 할애하였습니다. 간단하게 위도, 경도를 Decimal로 구현할 수 있었지만, 그럴 경우 MySQL에서 제공하는 Geometry 함수들을 사용할 수 없고, 무식하게 구현하는 것 같아 Point 형식을 사용해서 구현하였습니다.
Geometry 데이터 셋은 삽입과 조회할 때 함수를 사용해야 하는 것을 확인하였습니다. ST_X, ST_Y같이 별도의 함수를 적용하지 않고 조회할 경우 데이터가 깨진 상태로 출력되고, ST_GeomFromText 함수를 사용하지 않고 Geometry 데이터를 삽입할 경우 오류가 발생하는 것을 확인하였습니다.
Socket에서 네임스페이스마다 미들웨어를 적용할 수 있는 것을 확인하였습니다. 보안성을 위해 인증된 유저만 접속을 허용하기 위해 Socket에 접속 시 인증되어 있지 않은 클라이언트의 접속을 차단하도록 구현하였고, 인증이 허용되었을 경우 userId를 반환하여 로그인된 클라이언트 리스트에 userId를 작성하여 중복 로그인을 방지하는 기능을 추가하였습니다.