mysql实现地理位置搜索

随着LBS应用的遍地开花,在数据库中实现基于地理位置的搜索显得尤为重要.今天研究了下,顺便做个小结.

首先设计好一个简单的数据表,用来存放经纬度信息:

CREATE TABLE `index` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lat` double NOT NULL,
  `lng` double NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

创建完成后我们可以查看一下,应该是这个样子

mysql> desc `index`;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| id    | int(11) | NO   | PRI | NULL    | auto_increment |
| lat   | double  | NO   |     | NULL    |                |
| lng   | double  | NO   |     | NULL    |                |
+-------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

接着我们来制造点儿数据,便于等下测试,写了个python脚本来实现:

- 阅读剩余部分 -

JobObject实现对进程进行内存和运行时间限制

最近在研究oj系统,查过网上的解决方案,大致分为两种:

一种是基于Java虚拟机的解决方案,让编译好的程序运行在java虚拟机里面,通过对虚拟机的限制保障时空有效性和系统安全性;

第二种是基于linux系统的方案,通过内置的系统函数设置程序可用资源以及通过限制用户运行此程序以保障系统安全性.

- 阅读剩余部分 -

Linux下为挂载光驱分配执行权限

在虚拟机中装好了Centos后为其安装虚拟机工具.

切入光驱目录:

运行./VBoxLinuxAdditions.run,提示权限不够.

输入

chmod 777 VBoxLinuxAdditions.run

提示只读,无法修改,当时脑子犯浑,半天没想明白怎么回事(=^=).

两种解决方法,一种是修改fstab再重启,第二种则是使用mount的remount参数重新加载.个人偏向后者:

mount -o remount,exec /media/VBOXADDITIONS_*