打上了ArchLinux里面提到的LCD补丁。附件包含制作好的RPM包。
奶奶的小菜园,纯天然绿色蔬菜。绿色的菜叶充满乡间的气息和恬静的感觉。


By my N73 Camera
默认的Ubuntu安装是没有Man手册的,因此需要额外安装一下这些包
- manpages
- manpages-dev
- libstdc++6-4.2-doc
- manpages-posix
- manpages-posix-dev
Ubuntu & Debian默认关闭了Modeline支持
听说是因为一个root用户的安全的“原因”:https://bugs.launchpad.net/ubuntu/+source/vim/+bug/130531. 所以Ubuntu & Debian系统在默认情况下都禁用了modeline支持(请详见此类系统的:/usr/share/vim/vim71/debian.vim)。
因此说来,普通用户在.vimrc中打开还是没有坏处的。具体方法如下:
set modeline
补充一下:什么是vim的modeline呢?
vim的modeline就是通过在文本中加入一行形如下文的东西来控制vim格式的功能(我也是今天刚知道他叫modeline)
// vim: set ts=4 sw=4 et cindent
PHP源代码中基本都使用了这种功能,更详细的说明可以参考:help modeline
问题简述
相似度比较基于空间向量模型(Vector Space Model)。将两段文本用向量A、B表示,计算AB夹角的余弦值用以表示相似度。
具体步骤如下:
- 提取两段文本中所有词(事先需用空格分割好)。
- 计算每个词在两段文本中分别出现的次数(用BSD tree.h里的RBTREE保存)
- 用词频做为A、B的分量。
- 使用余弦公式计算AB夹角的余弦值。
举例
T1 = 我 爱 北京 天安门
T2 = 我 爱 北京 立交桥
提取所有的词
W = 我 爱 北京 天安门 立交桥
计算每个词分别出现的次数
CA = 我:1 爱:1 北京:1 天安门:1 立交桥:0
CB = 我:1 爱:1 北京:1 天安门:0 立交桥:1
分别计算向量AB
设S为总词数即T1,T2中总共出现词的数量
S = 4 + 4 = 8
A = (1/8, 1/8, 1/8, 1/8, 0/8)
B = (1/8, 1/8, 1/8, 0/8, 1/8)
应用余弦定理计算向量夹角
代码
源代码下载
git clone git://gitorious.org/postgrework-jianingy/mainline.git postgrework
cd postgrework/pg_trgm_sml
直接浏览
http://gitorious.org/projects/postgrework-jianingy/repos/mainline/trees/...
昨晚意外中了Google的Bucket Test,发现Google已经有个靠用户Promote搜索结果的功能。截图右下角还出现了给搜索结果添加注释的功能。想不到这个曾经朴素的搜索结果页正在发生着革命性的变化。
每当需要重启一个PostgreSQL,都需要知道数据库在磁盘上的具体位置。在重启前,可以通过如下方法找到数据库在磁盘上的位置。
postgres=# show data_directory; data_directory ---------------- /export/db/postgres (1 row)</pre>
Bamboo中文分词系统1.0.0 发布, 我感觉应该没啥大问题了,进入了可用的阶段了。欢迎大家测试。
修改日志
- bamboo现在有能力进行词性标注了。
- Bamboo现在有能力进行命名实体的识别了,其中包括人名,地名和机构名。
- Bamboo现在有能力识别各种英文标识符了,例如: UA-1234-5678, F-15,等等
- CRF2有专有的训练脚本了,您再也不用劳神去研究如果Build一个CRF2的模型了
- 我们努力让配置文件更加具有可读性和灵活性,虽然还有很多工作需要继续完成。
- 很多让人头疼的Bug被修正了。
- 改变了PHP,PostgreSQL的扩展程序结构,现在他们可以运行得更快了。
测试程序
#include <sys/time.h>
#include <iostream>
#include <string>
int main()
{
struct timeval tv[2];
struct timezone tz;
int count = 50000;
int elapsed = 0;
// .. string initialization
gettimeofday(&tv[0], &tz);
while(count--) {
// .. real action here ..
}
gettimeofday(&tv[1], &tz);
elapsed = (tv[1].tv_sec - tv[0].tv_sec) * 1000000
+ (tv[1].tv_usec - tv[0].tv_usec);
std::cout << "elapsed: " << (double)elapsed / 1000 << "ms" << std::endl;
}
operator+ vs append
使用 s = “/” + t, 测试时间为 16.375ms, 但是使用 s.append(”/”).append(t) 时间是 5.528ms.
operator+ vs operator +=
使用 s = s + t, 测试时间为 5596.4ms, 而相比之下 s += t 需要 4.639ms.
结论
很明显,像书本上讲的一样,opterator + 总是会创建一个临时对象。所以,要慢很多。因此,当需要连接字符串时应该首选 ** += **.


最新评论
1 周 6 天之前
6 周 4 天之前
10 周 4 天之前