Ubuntu和Windows共存,修改启动顺序

2012/11/19

使用Ubuntu以来,一直是使用Ubuntu带的WUBI将其安装在Windows下的硬盘上。前两天希望从11.04升级到最新版本,一直升级不成功,于是打算直接重装。这次直接装在硬盘分区上。

可装完以后,发现一件很纠结的事:开机时,默认是使用的Ubuntu引导,默认选项是Ubuntu。而我希望默认启动的是Windows。

我上谷歌百度了一下,有讲到修改 /boot/grub/menu.lst文件达到变换启动顺序的目的。

但是在我系统的这个目录下并未发现有这个文件(我的系统是Ubuntu 12.10),可能是版本不一样吧。不过,这个目录下有一个文件 grub.cfg  与传说中的menu.lst格式好像差不多。于是我对这个文件做了修改。重启后,启动项成功改为Windows 7!

以下是修改过程:

 

阅读全文…

Note 2,887

初探SQLite的R-Tree

2012/09/11

R-Tree简介:

R-Tree是一种为空间查询而生的数据结构。只要给出一个空间对象的范围,使用R-Tree就可以快速而精确的查询出你所需要的空间对象(一个精确对象或是与之叠加的一组对象)。

让你的SQLite支持R-Tree

如果你使用的SQLite是从SQLite官网上直接下载的DLL文件,那么它应该已经包含了R-Tree功能模块。如果你使用的是自己定制的SQLite库,那么你在编译的时候,就需要打开R-Tree开关了(R-Tree模块默认是禁用的)。在C模式下编译的时候,添加 SQLITE_ENABLE_RTREE 宏开关,就可以获取R-Tree模块支持了。

在SQLite中使用R-Tree

构建R-Tree结构

SQLite中的R-Tree以虚表(Virtual Table)实现,最多支持5维空间索引。在N维R-Tree中,需要给出一个64位有符号整型作为索引(同时也是主键),然后给出N维的32位浮点数的空间范围值对。例如,一维的R-Tree,需要给出三个字段:索引、最小值、最大值,二维的R-Tree,需要给出五个字段:索引、X最小值、X最大值、Y最小值、Y最值…以此类推,五维的R-Tree,有11个字段。

在SQLite中创建一个R-Tree很简单,只需要一条Sql语句就可以搞定:

格式:CREATE VIRTUAL TABLE <name> USING rtree(<column-names>);

例如:CREATE VIRTUAL TABLE demo_index USING rtree(

id,              — Integer primary key

minX, maxX,      — Minimum and maximum X coordinate

minY, maxY       — Minimum and maximum Y coordinate

);

 

阅读全文…