요즘 App을 개발하다보면 지도를 활용하는 어플이 많습니다. 특히 현재 위치에서 다른 위치 사이의 거리를 계산해야 하는 경우가 있는데요.. Google API를 사용할 경우, distanceBetween과 같은 메소드를 활용할 수도 있을 겁니다. 오늘 정리할 내용은 MySQL 쿼리를 활용해서 두 위치 사이의 거리를 계산하는 겁니다. 오랜만에 보는 몇가지 수학함수를 사용하면 간단히 결과가 나오네요.. 다음과 같이 가정하고 쿼리를 만들어 보도록 하겠습니다. 현재 위치 위도 : nowLat 경도 : nowLng 지정 위치 위도: setLat 경도: setLng > select (6371 * acos( cos( radians(nowLat) ) * cos( radians( setLat ) ) * cos( radi..
아이폰에 이어 안드로이드까지 요즘 모바일 어플리케이션 개발이 대세인 듯합니다. 일단 기존 개발자들이 개발에 대한 접근이 쉽다는 장점이 있어 더욱 많아지는 것 같습니다. 아이폰의 경우, Objective-C라는 언어를 별도로 학습해야 하지만 안드로이드는 Java 기반 개발자들에게는 별 어려움 없이 적응 할 수 있기도 하죠. 실제로 자료를 보면 점차 안드로이드 점유율이 높아질 거라 예상하고 있기도 하네요. 저희도 개발하면서 느끼는 거지만 모바일 어플리케이션은 왠지 모르게 느리다는 느낌이 있습니다. 게임이나 내부에서 동작하는 어플리케이션은 조금 낫지만 서버를 접속해야 하는 경우에 특히 이런 경우가 많습니다. 아무래도 3G 네트워크 환경에서의 속도 때문인데요.. 실제 개발할 때는 보통 WIFI 환경에서 개발을 ..
MySQL 쿼리 결과를 파일로 저장할 필요가 가끔 있습니다. ,를 구분자로 한 CSV 파일로 저장하면 엑셀에서 열어서 편집도 가능하죠.. 간략하게 구문을 정리해 봅니다. SELECT col1, col2, col3 INTO OUTFile '저장할파일명' FIELDS TERMINATED BY ',' FROM 테이블명; INTO OUTFILE '저장할파일명' : SELECT 쿼리 결과를 저장할 파일을 지정합니다. FIELDS TERMINATED BY '구분자': 각 Column을 구분할 구분자를 지정합니다. 예를 들어서 다음과 같이 쿼리하면 저장이 됩니다. member 테이블에서 userid, name, email, status 필드 값을 추출해서 mini.csv로 저장합니다. > select userid, ..
◈ mysql database 접속 -- root 유저 접속 mysql> mysql -uroot -- mysql db 접속 mysql> use mysql; -- database 조회 mysql> show databases; -- table 조회 mysql> show tables; -- table 구조 조회 mysql> desc db; ◈ root유저 비밀번호 변경 mysql> UPDATE user SET password = password('storm') WHERE user = 'root'; Query OK, 2 rows affected (0.28 sec) Rows matched: 2 Changed: 2 Warnings: 0 user 테이블상에 root 사용자가 localhost와 host명으로 2개 등..