Submitted by gouki on 2008, October 23, 3:35 PM
小道消息:Linux 操作系统下的 Firefox 用户,从现在开始也可以用支付宝了。参见支付宝官方网志的安装指导。最近微软黑屏事件闹得挺凶,但这个时候支付宝发布新的安全控件,应该和此事无关。
至于很多苹果用户期待的在 Mac 下使用支付宝的事情,请稍安勿躁,有望在 11 月中旬得到解决。届时也将在支付志第一时间发布。支付宝安全工程师一直在努力!
支持 Mac 操作系统,通用的数字证书,更为安全、开放的支付宝时代即将到来。
原文:http://www.dbanotes.net/opensource/alipay_linux_firefox.html
Tags: 支付宝, linux, firefox, alipay, mac
Software | 评论:0
| 阅读:25736
Submitted by gouki on 2008, October 22, 9:55 AM
一直在搜索这块有问题,中文搜索的话,不可避免的会遇到搜索 A 的时候会出现 B 结果的情形,这种情况在MYSQL4.0的时候犹为明显,最近在翻代码的时候,翻到walker以前写的一篇文章,依稀记得大概也是05年左右的事情了吧。
05年这家伙写了不少代码,什么BMP识别啥的。如今也都随着服务器的损坏而烟消云散了。借着google的光,把walker这篇以前的文章再COPY回来。为以后也开发可以做个参考,只是它的这个方法太占数据库空间了。呵呵
如今的walker代码是几乎不写了,以wow为主,可怜的人啊。。。。。http://www.walkerlee.net 是他现在的网站。
文章如下:
/**
* @author : walkerlee
* @copyright : www.neatstudio.com | www.walkerlee.net
*/
转载请保留以上信息。
关键字:MySQL 全文检索 全文索引 中文分词 二元分词 区位码 相似度
注:本文使用的MySQL版本为:MySQL 4.0.x
在MySQL4中,是已经开始支持全文检索(索引)的了。但是只是对英文支持全文检索。
由于英文在书写上的特殊性,使得分词算法相对中文来说,简单得多。一般来说,我们可以通过单词与单词之间的空格,以及标点符号来完成这个分词过程。
但是就中文来说,就没有那么简单。MySQL无法对中文做出正确的分词,假设有如下英文句子:
"Hello world! Hello PHP! "
通过上面提及的方法,可以很简单的把这个句子分词为:
1 Hello
2 world
3 PHP
我们再来看看中文的句子:
"你好世界,你好PHP! "
按照英文的算法,分词如下:
1 你好世界
2 你好PHP
显然是不能满足我们的需要的。
所以,首先我们要做的是,把中文的句子转变为MySQL眼中的英文,以便使得它能以英文分词算法去对句子进行正确的分词处理。
先将上面中文句子进行标点过滤处理,得到以下句子:
你好世界 你好PHP
接着再使用中文分词中较简单实现的二元分词算法对句子进行二元分词,得到以下句子:
你好 好世 世界 你好 PHP
因为把标点符号替换为空格,以及PHP本身为英文字母的关系,可以不用进行二元切分,所以得到上面句子。
这个时候,我们来看看处理过后的句子,会发现,就其书写格式上来说,已经符合英文的书写格式,既以空格,标点来对单词形成自然间隔。只是上面句子没有标点,只有空格而已。
到此,我们已经成功的将中文“翻译”为MySQL能理解的“英文”书写格式。
但是,问题还没解决,首先,MySQL中,ft_min_word_len(分词词汇最小长度)这个参数的默认值为4,也就是4个字母以上长度的单词,才会被考虑,小于4个的,将会被忽略。
如果不改变这个长度,按照上面的分词结果,我们将无法通过 你好,世界,PHP等检索到相关的结果,因为分出来的词太短了,不在MySQL的选择范围内。
我们可以通过修改ft_min_word_len的值,将其设置为2来解决上面问题,但是这样做的话,在检索列表中的原本就为英文的短小词汇,如:PHP,MP3,也会被划入检索范围内,这样做的结果是,出现很多无意义的相关结果。
请看以下列表:
[MP3] the look
[MP3] because of you
因为他们都同有MP3在标题中,所以会出现上述提到的问题。
回到ft_min_word_len值的问题,我们之所以要修改他,是为了能让MySQL找到我们的二元分词,但是短小的英文又被“无辜”的卷入,我们目 前要解决的问题就是,如何使得MySQL能检索到二个字的中文词汇,又能忽略掉原本的英数?第一个反应是把中文MD5,这样以上分词就将转化为以下结果:
你好 好世 世界 你好 PHP => b94ae3c6d892b29cf48d9bea819b27b9 f5625345be46432fb0fd51340fcf6679 9067de5206278a93823f9c5dc2c737fd b94ae3c6d892b29cf48d9bea819b27b9 PHP
这样做,首先是使得中文分词的长度超越了默认的2个字,同时消除了中文的歧义性。(MySQL4对中文的处理有问题),搜索“车轮”时候,不再会出现类似“发动机”结果的问题。(车轮的例子只是为了方便理解而做出的假设)
通过上面的做法,已经解决了分词最小长度的问题,顺利的把中文词汇长度升级,从而达到把中文词汇划入检索范围,把较短的英数划出检索范围。
休息一下,然后发现这个MD5后的字符串是否太长了点……比较占用空间,要不,于是想到区位码,4位数的区位码能表示一个GB汉字,一个词有二个汉字组成,转换为区位码后是8个数字。不但能确定惟一性,也就MD5而已减少了长度。下面是转换后的:
你好 好世 世界 你好 PHP => b94ae3c6d892b29cf48d9bea819b27b9 f5625345be46432fb0fd51340fcf6679 9067de5206278a93823f9c5dc2c737fd b94ae3c6d892b29cf48d9bea819b27b9 PHP => 36672635 26354232 42322971 36672635 PHP
呵呵,是不是比MD5的小了很多呢?最后我们把相同的词汇留一个,多余的删除。得到
36672635 26354232 42322971 PHP
于是就完成了 "你好世界,你好PHP! " 到 "36672635 26354232 42322971 PHP " 的转换。
通过上面方法结合MySQL全文检索语句,我们可以通过给出一个标题例如: "迈克尔·杰克逊 -《危险之旅之布加勒斯特站》 "找出类似以下的相关标题
迈克尔杰克逊 -《迈克尔杰克逊危险布加勒斯特演唱会》
Michael Jackson -《迈克尔杰克逊 罗马尼亚 危险演唱会》
迈克尔杰克Michael Jackson -《危险之旅》
迈克尔杰克逊 -《迈克尔杰克逊 美国50annive演唱会危险片段》
迈克尔杰克逊 -《迈克尔杰克逊 终极收藏 原版DVD危险演唱会》
迈克尔杰克逊 杰克逊五兄弟 -《The Jackson Motown 25 演唱会》
迈克尔杰克逊 -《迈克尔杰克逊BAD日本Yokohama演唱会》
迈克尔杰克逊 -《迈克尔杰克逊日本大阪演唱会》
迈克尔杰克逊 -《迈克尔杰克逊之胜利-达拉丝演唱会》
迈克尔杰克逊 -《迈克尔杰克逊之胜利演唱会 比丽珍 片段》
迈克尔杰克逊 -《迈克尔杰克逊德国危险演唱会之 billie jean片段》
迈克尔杰克逊 -《Michael Jackson -30周年演唱会》
Michael Jackson -《迈克尔杰克逊 马尼拉 历史演唱会》
迈克尔杰克逊 -《1993年美国橄榄球中场休息精彩表演》
表结构 article
title varchar 200 -------- 用于存放标题 (显示用)
ft text ---- fulltext 用于存放标题分词结果 (检索用)
首先我们在把标题保存到数据库时候,就已经对标题进行分词转区位码,保存到ft字段中,用于相关性的检索。
然后把给出的标题 "迈克尔·杰克逊 -《危险之旅之布加勒斯特站》 "转为 "34853143 31432291 22910104 01042960 29603143 31434923 46034753 47535414 54143435 34355414 54141828 18282851 28513253 32534325 43254456 44565330 ",最后进行全文检索查询:
SELECT title, MATCH( ft ) AGAINST( '34853143 31432291 22910104 01042960 29603143 31434923 46034753 47535414 54143435 34355414 54141828 18282851 28513253 32534325 43254456 44565330 ' IN BOOLEAN MODE ) AS score
FROM article
WHERE MATCH( ft ) AGAINST( '34853143 31432291 22910104 01042960 29603143 31434923 46034753 47535414 54143435 34355414 54141828 18282851 28513253 32534325 43254456 44565330 ' IN BOOLEAN MODE )
ORDER BY score DESC
LIMIT 0, 5
从SQL Query上来看,进行了两次全文检索,其实不然,MySQL会将其视为一次,所以不比担心。
同时使用了AS score,这个score是相似度,分值越高,自然越与给出的标题相近。
二点建议:
1.在实际使用中,挑选score大于1的作为检索结果。
2.检索结果会将本身标题也算入其中,根据score排序,为第一条,别忘记过滤哦 ^_^。
站在用户的立场来说,我们给用户提供了更多的相关内容,站在搜索引擎立场上来说,给关键字提供了更多的相关链接,形成了良好的站内互联结构,提高了搜索引擎对网页的评价。
如果各位碰到错误的不合理的地方,恳请指正,共同进步。谢谢!
参考资料:
1.Monkey的二元分词 作者:Monkey http://www.baidu.com/s?wd=monkey+%B6%FE%D4%AA%B7%D6%B4%CA&cl=3
2.PHP里如何实现汉字转区位码 提供者:haoyoul http://zhidao.baidu.com/question/5371961.html
3.对dvbbs.php全文搜索的完全分析 作者:fcicq http://www.phpx.com/happy/viewthread.php?tid=124691
Tags: walkerlee, 全文检索, mysql, 中文
DataBase | 评论:0
| 阅读:22639
Submitted by gouki on 2008, October 21, 10:46 PM
想说的是,团队没在一起开发N年了,虽然大家都还保持着联系。。。
walkerlee卖机票去了,hihiyou北京泡妞去了,老戴广州去了,totododo电信去了,唯有我还在上海没挪过地方。
总以为Walkerlee不会再搞开发了,毕竟当boss了嘛,HOHO,不料今天QQ又骚扰我说是写了一个插件,想介绍我使用,被我义正言辞的拒绝了。wow,确实很多年没有玩了,从头至尾,我的人物就没有超过10级。
废话不说了,介绍一下窝窝的插件。
– ==========================================
– 插件说明
– ==========================================
英文:NEATSheepDog
中文:法师的牧羊犬
版本:1.0 BETA
作者:walkerlee
联系:walkerlee[at]yahoo(dot)cn www.walkerlee.net
简介:这个插件能使你设置一个目标作为监视目标,在不切换你”当前目标”的情况下可以监视目标的血条用图形和百分比表示.同时监视目标上的变形术剩余时间.
插件还支持对监视对象施放变形术的特性.如果玩家和监视目标之间距离超过变形术施法距离,插件会以半透明的形式提示玩家.
同时,在变形术到达剩余的指定时间时,施法时间到时和羊被打断时,屏幕会有相对应的提示.
– ==========================================
– 按键说明
– ==========================================
插件分为血量条和读秒条.其中鼠标操作:
鼠标左键单击血量条时,如果玩家当前目标不是监视目标并且监视目标已被设为焦点,则把监视目标设置为玩家当前目标.
鼠标中键单击血量条时,把玩家当前目标设置为焦点即监视目标.
鼠标右键单击血量条时,把玩家当前目标设置为焦点目标同时施放变形术.
鼠标左键单击读秒条时,如果监视目标已经被设置为焦点,则对监视目标施放变形术.
鼠标右键单击读秒条时,如果监视目标已经被设置为焦点,清除监视目标的焦点设置.
按住鼠标左键拖动血量条或者读秒条可以拖动插件界面,到你想要的位置上松开鼠标左键即可.
– ==========================================
– 监视目标说明
– ==========================================
监视目标显示的优先顺序为,在有焦点目标的情况下,优先显示焦点目标,在没有焦点目标的情况下,显示当前目标.
当前目标直接用目标的名字表示,焦点目标用*目标名字*表示.例如血量条上显示”风之步行者”,表示监视目标当前为玩家的当前目标.
血量条上显示”*风之步行者*”,表示监视目标为玩家设置的焦点目标.
– ==========================================
– 安装说明
– ==========================================
进入你魔兽世界的安装根目录,例如 “D:\游戏\魔兽世界\”,在这个目录下面你可以看到Launcher.exe,Wow.exe等文件.
在根目录下找到文件夹Interface,如果没有,请自行建立一个文件夹并将其命名为”Interface”.
进入Interface文件夹,找到Addons文件夹,如果没有该文件夹,请自行建立一个文件夹并将其命名为”Addons”.
把NEATSheepDog这个文件夹复制到Addons文件夹中,在登陆魔兽世界后,角色选择画面的左下角的插件选项中找到”法师的牧羊犬”,如果没有打钩,请打上.进入游戏即可使用本插件.
– ==========================================
– 截图说明
– ==========================================
截图\demo.jpg 插件界面以及特点演示
截图\alert1.jpg 变形术剩余10秒提示
截图\alert2.jpg 变形术打断提示
截图\alert3.jpg 变形术结束提示
Enjoy your World of Warcraft’s life!
walkerlee 2008-10-21
下载地址:http://www.walkerlee.net/wow/addons/NEATSheepDog/NEATSheepDog.rar
程序界面
变形术剩余10秒提示
变形术被打断提示
变形术结束提示
Tags: 团队, wow, 插件, 法师, neatstudio
Software | 评论:2
| 阅读:21607
Submitted by gouki on 2008, October 21, 7:43 PM
不得不说,这个软件对初学者来说意义很大。不需要再使用国外的那些APPSERV,XAMPP等软件了。
毕竟张宴在自己的博客里也多次介绍了nginx,也有多篇评测文章,而我在配置windows下的nginx的时候却一直跑不起来,永远显示着404,或者说自己RP不好吧。
这次的作品里亮点挺多,还没有试有没有什么其他问题,但相比较而言,应该够使用了,亮点如下:
1、FTP
2、MAIL
3、nginx
4、memcached
5、还有就是不知道算不算鸡肋的:perl和asp支持,不过,如果是为了测试用的话,还是值得的。
6、虚拟主机的一些自由配置
[软件作者:张宴 本文版本:v1.0 最后修改:2008.10.21 http://blog.s135.com/read.php/373.htm]
两年后,APMServ再出新版本──APMServ 5.2.6,升级了各集成软件的版本,增加了Nginx、Memcached、WinSCP,以及部分Linux命令的支持。
软件名称:APMServ 5.2.6
软件作者:张宴
授权方式:免费软件
发布日期:2008年10月21日
运行环境:WinNT/Win2000/WinXP/Win2003
文件大小:20.4MB
官方网站:http://apmserv.s135.com
讨论群组:http://blog.s135.com/apmserv/bbs/
下载地址:
㈠官方下载点:
[国内下载点①→新浪爱问CDN] http://blog.s135.com/apmserv/bin/5.2.6/sina/
[国外下载点①→美国微软公司] http://blog.s135.com/apmserv/bin/5.2.6/microsoft/
㈡其它下载点:将陆续提供。
老版本下载>>>
软件简介:
APMServ 5.2.6 是一款拥有图形界面的快速搭建Apache 2.2.9、PHP 5.2.6、MySQL 5.1.28&4.0.26、Nginx 0.7.19、Memcached 1.2.4、phpMyAdmin 2.11.9.2、OpenSSL、SQLite、ZendOptimizer,以及ASP、CGI、Perl网站服务器平台的绿色软件。无需安装,具有 灵活的移动性,将其拷贝到其它目录、分区或别的电脑时,均只需点击APMServ.exe中的启动按钮,即可自动进行相关设置,将Apache和 MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、虚拟目录、端口更改、SMTP、上传大小限制、自动全局变量、SSL证书制作、缓存性能优化等设置,只需鼠标一点即可完成。
1、注意事项:APMServ程序所在路径不能含有汉字和空格。
2、MySQL默认用户名:root,密码为空
3、MySQL数据库文件存放目录:MySQL5.1\data或MySQL4.0\data
4、网站根目录[HTML,PHP]www\htdocs [ASP]www\asp [CGI,Perl]www\cgi-bin
5、访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL)
6、非默认端口,网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/
7、如果在“扩展功能”中选择使用Memcached,它的端口为:11211
8、APMServ集成了以下软件:
Apache 2.2.9 【HTTP服务器】
Nginx 0.7.19 【HTTP服务器】
NetBox 2.8 Build 4128 【HTTP服务器+ASP脚本解释引擎】
PHP 5.2.6 【PHP脚本解释引擎】
MiniPerl 5.8 【Perl脚本解释器】
Memcached 1.2.4 【key-value内存缓存系统】
MySQL 5.1.28 【MySQL数据库服务器】
MySQL 4.0.26 【MySQL数据库服务器】
phpMyAdmin 2.11.9.2 【MySQL数据库在线管理工具】
eAccelerator 0.9.5.3 【PHP脚本加速引擎】
ZendOptimizer 3.3.3 【PHP脚本加速引擎】
OpenSSL 0.9.8h 【HTTPS(SSL)安全传输协议】
附加组件:
㈠Perl、CGI支持(需下载ActivePerl):
APMServ 5.2.6 附带的是MiniPerl,可以运行简单的Perl、CGI程序。如果运行复杂的Perl、CGI程序,请下载ActivePerl,安装在 APMServ所在分区根目录下的usr目录中。假如APMServ所在目录为E:\APMServ5.2.6,则将ActivePerl的安装路径选为 E:\usr
ActivePerl 5.8.8.819 for Windows 下载地址:[华军软件园] [中国站长站]
软件截图:
㈠主界面:
㈡虚拟主机设置界面:
Software | 评论:0
| 阅读:17915
Submitted by gouki on 2008, October 20, 5:10 PM
同门网,大概也算是最近的一个SNS网站吧。只是他们网站的有些方法实在让我很郁闷。
这两天,他们有两个人加了我MSN,开始以为是开发界同行,也就同意加入了。这两天,问他们是谁吧?谁也不说话,然后搜索了一下网络,发现也有很多人在说有类似的事情发生。
这,确实让人很郁闷,也很烦。你要是正规的网络推手,或者其他的,我也就算了。加别人一下MSN,然后把名字改成同门网,这种变相的广告实在受不了。
BS一下,顺便再说明一下,以后有这种类似的MSN加你的时候,还是不要同意的好。
同时,这两人已经从我的好友当中delete and block 。。。
Tags: 同门网, msn, 好友, sns
Misc | 评论:1
| 阅读:21393