일단 앱을 실행 시켰을때만 위치정보를 보낼건지.. 아님 폰 처음키면 자연적으로 백그라운드에서 앱이 돌아가서 위치정보를 보낼지 정해야하고
(카톡 같은 경우 폰 키고 따로 어플 실행 안시켜도 다른 사용자가 메시지 보내면 자연스럽게 메시지 온거 알려주듯이..)
서버로 위치 정보 전송하는 부분은 일단 5분마다 폰에서 현재위치를 체크한 다음에.. 폰 자체 디비나 데이터를 저장할수 있는 공간에 저장해..
이미 저장되어 있는 값이 있으면 저장되어 있는 값이랑 지금 현재 위치랑 비교하고
거리차이가 별로 나지 않으면 서버에 전송하지 말고.. 만약 300미터(500미터로 정하던 1키로로 정하던 그건 개발자 마음...)
이상이 차이가 난다고 하면 그 값은 폰에도 저장하고 서버에도 전송하게 하는거지.. 그러면 한곳에 머물러 있으면 서버에 계속 위치를 전송할
필요가 없겠지... 이러면 일단 서버로 전송하는 횟수는 확실히 줄어들거야....
어쨋건 폰에서 5분마다 위치를 탐색하니 베터리 소모는 어느정도 감수 해야해..(그래서 하데에서는 자기위치 서버로 보내는
기능을 온 오프 할수 있는걸로 앎) 그나마 베터리 소모를 줄이자면 위에 언급했듯이 폰에서 먼저 거리를 비교하는데.. 5분전에 저장됬던 값이랑
비교해서 별 차이가 없으면 +1분을 해준다거나(다시 체크하는 시간을..) 아님 그냥 10분으로 확 늘리던가해.. 근데 한곳에만 있는게 아니라
자동차를 타고 이동중일수도 있고 기차를 탈수도 있잖아.. 5분전에 저장한 값이랑 지금 위치랑 비교해서 거리차이가 확 난다 싶으면 거리에
반비례해서 시간을 줄이는거야.. 최소 1분으로.. 그니까 자동차나 기차.. 지하철을 타면 1분마다 전송하게 만드는거지...(근데 이거 또한
베터리 소모가 크니 사용자한테 알림창으로 계속 위치정보를 보낼거냐고 알림창을 표시해주면 더 좋을듯..) 솔직히 나도 상용화한 앱을
만든적이 없어서 저 베터리 줄이는건 생각만 하고 직접 구현해본적은 없는데 충분히 가능할거라 생각... 서버에서는 유저가 폰으로 위치정보를
날리면 그 값을 쿼리에서 비교하는거지.. 아까 말했듯이 두점간의 거리공식 이용해서(해싱을 해서 값을 줄인다는데 그부분은 나도 잘 모르겠고)
아마 위도랑 경도는 디비에서 인덱스를 잡아주면 좀더 빨리 뽑아낼거야.. 음.. 아무튼 내가 생각하는건 이런데... 상용화된 앱은 어떻게
돌아가는지 모르겠당
(카톡 같은 경우 폰 키고 따로 어플 실행 안시켜도 다른 사용자가 메시지 보내면 자연스럽게 메시지 온거 알려주듯이..)
서버로 위치 정보 전송하는 부분은 일단 5분마다 폰에서 현재위치를 체크한 다음에.. 폰 자체 디비나 데이터를 저장할수 있는 공간에 저장해..
이미 저장되어 있는 값이 있으면 저장되어 있는 값이랑 지금 현재 위치랑 비교하고
거리차이가 별로 나지 않으면 서버에 전송하지 말고.. 만약 300미터(500미터로 정하던 1키로로 정하던 그건 개발자 마음...)
이상이 차이가 난다고 하면 그 값은 폰에도 저장하고 서버에도 전송하게 하는거지.. 그러면 한곳에 머물러 있으면 서버에 계속 위치를 전송할
필요가 없겠지... 이러면 일단 서버로 전송하는 횟수는 확실히 줄어들거야....
어쨋건 폰에서 5분마다 위치를 탐색하니 베터리 소모는 어느정도 감수 해야해..(그래서 하데에서는 자기위치 서버로 보내는
기능을 온 오프 할수 있는걸로 앎) 그나마 베터리 소모를 줄이자면 위에 언급했듯이 폰에서 먼저 거리를 비교하는데.. 5분전에 저장됬던 값이랑
비교해서 별 차이가 없으면 +1분을 해준다거나(다시 체크하는 시간을..) 아님 그냥 10분으로 확 늘리던가해.. 근데 한곳에만 있는게 아니라
자동차를 타고 이동중일수도 있고 기차를 탈수도 있잖아.. 5분전에 저장한 값이랑 지금 위치랑 비교해서 거리차이가 확 난다 싶으면 거리에
반비례해서 시간을 줄이는거야.. 최소 1분으로.. 그니까 자동차나 기차.. 지하철을 타면 1분마다 전송하게 만드는거지...(근데 이거 또한
베터리 소모가 크니 사용자한테 알림창으로 계속 위치정보를 보낼거냐고 알림창을 표시해주면 더 좋을듯..) 솔직히 나도 상용화한 앱을
만든적이 없어서 저 베터리 줄이는건 생각만 하고 직접 구현해본적은 없는데 충분히 가능할거라 생각... 서버에서는 유저가 폰으로 위치정보를
날리면 그 값을 쿼리에서 비교하는거지.. 아까 말했듯이 두점간의 거리공식 이용해서(해싱을 해서 값을 줄인다는데 그부분은 나도 잘 모르겠고)
아마 위도랑 경도는 디비에서 인덱스를 잡아주면 좀더 빨리 뽑아낼거야.. 음.. 아무튼 내가 생각하는건 이런데... 상용화된 앱은 어떻게
돌아가는지 모르겠당
고정된 상점 등의 타겟을 찾는거면 유저의 좌표가지고 이미 저장된 디비에 쿼리 때리면 금방 나오고, 움직이는 타겟들 잡아내는거면 아까 내가 말한 원의 공식, 혹은 GPS좌표값을 이용해서 해싱해도 되겠고.
그리고 GPS 좌표 전송하는건 딱 맵뷰 보고 있을때만 전송하게 하면 괜츈할듯.
맵뷰보고 있을때만 전송하면 맵뷰 안보고 멀리 이동해버리면 현재 위치랑 지도에 표시된 위치랑 상당한 차이가 나버려서
근데 쿄스케횽은 SCJP 안땄음? SCJP 딴 사람을 프갤은 물론이고 주변에서 한명도 못본듯 -_-;
사용자1이 어플은 실행되어 있는데 자동차로 멀리 이동하거나 현재위치에 없는데.. 맵뷰를 안보고 있기 때문에 다른 사용자는 사용자1이 지도에 표시되어 있는 위치에 있는줄 알게됨
맵뷰 안보고 있을땐 걍 탐색 타겟에서 빼버리는거지. 보통 맵뷰를 안본다는건 주변에 누가 있는지 안본다는거고, 이 말인 즉슨 어플을 안쓰고 있다거나 이미 다른 타겟하고 얘기중이라 별 상관 없지 않을까?
그거 비싸다고 해서 안땀 ㅋㅋ 나중에 기회되면 따야지
사용자가 항상 맵을 보고 있을순 없어.. 카톡같은 경우 카톡화면을 볼때만 메시지가 오는게 아니니까
수험료 12만 5천원이라드라 ㅜㅜ 그냥 보고 싶은날 가서 현장에서 카드 긁고 바로 보면 된다카는데 코레일 공채 가산점 쬐끔 주는거땜에 이걸 따야되나 싶긴 함 ㅋㅋㅋㅋ
하데같은 경우는 게시판 기능도 있고 해서... 사용자가 딴짓 하고 있어도 현재 위치를 계속 전송해줘야지..
아직 형은 취업하려면 많이 남았으니까 따두는게 좋을지도
ocp도 따두면 좋을거야.. 덤프지만.. 이력서에 써놓으면 좋으면 좋았지 해될일은 없으니
그건 그렇네. 근데 위치나 이동수단에 따라 전송시간 가변으로 만들려면 그거도 꽤 귀찮을듯...
OCP는 나중에 코레일 공채 보고 떨어지고 나면 봐야 할듯. 이수 시간이 겁내 많더만 ㄷㄷㄷㄷㄷ
귀찮기야 하지... 저건 나도 입코딩이고 해본적 없으니... 가능은 할거 같음.. 사용자들이 베터리에 민감해서..
정보처리기사 scjp ocp 이거에 토익 800이상이면 그래도 중견기업 가는데 무리 없을듯 싶어...
ㅋㅋ 정보 쌩유..일단 내가 생각하는 방향은 ㅋㅋ 특정 메뉴 클릭시에만 위치정보 전송하려고 함 ㅋㅋ
아. 맵뷰에 위치 찍어주면서 \'최종 업데이트 시간 : 언제\' 하고 같이 띄워놓고, 관심있는 타겟한테는 위치 갱신 요청 할 수 있게 하면 맵뷰 볼때만 위치전송하게 해도 괜찮겠네. 오우거가 요청하면 토껴야 되잖음
프갤은 댓글 폭발할때 댓글대신 글로 싸지르면 다시 금방 갤 메인 리스트에 올라갈꺼 같다는 생각이 금방 들었음 ㄷㄷㄷㄷㄷ
IP로 위치 잡아
아니면 앱 구동시 대략적인 위치만 잡고 그 위치 써.
액션을 취할때 위치정보를 받아서 보내려고 한다면.. 그만둬.
IP로 위치라..... 으음?
위치정보를 바로 받아오는것도 아니니까 실시간으로는 힘들어. AGPS 방식이라 기지국 위치를 빨리 잡긴하지만 그래도 오래걸리니 구동시에만 받아서 우려먹어. 백그라운드에서 돌릴생각도 하지말고 액티브 될때는 다시 받아.
그러면 자동차를 타고 있거나 지하철을 타고 있을때 앱을 구동하면 처음 실행시켰던 위치가 그 사용자 위치가 되는거임?
자신의 근처 사람들 땡겨오는게 쉽지 않을거야. WGS84 좌표계를 쓰기 때문인데, 거리계산 공식을 구해서 쓰던가, 한국에서만 쓸꺼면 KATECH 좌표로 변환해서 쓰면 돼. 미터단위라서 바로 계산하면 된다.
처음 실행시켰던 위치가 사용자 위치가 되는거지. GPS 켜두면 밧데리 존나 빨리 달아서 안됨. 주기적으로 갱신을 시키던지, 실행시 좌표 혹은 백그라운드에서 포어그라운드 들어올때 다시 잡던지 등등.
5분에 한번씩이나 10분에 한번씩 자기위치 판단하면 되지 않음?? gps는 도로수준까지 검색한다는데.. 그렇게 까지 필요 없고 기지국 위치로 판단하는식 쓰면 될듯한데.. 그니까 10분에 한번씩만 위치탐색 하는식...
어차피 백그라운드에서 5분이니 10분이니 시간 체크하는 것도 베터리 소모가 크려나...;;
아이폰은 백그라운드에서 그런짓 하기 힘듬.
아.. 아이폰은 안드로이드랑 달라서 그럴수 있겠구나......
안될건 없는데.. 계속 위치정보 보내줘야되는거 아니면 안하는게 낫다.