• 12
  • 2月

在做字符串比较的时候,如果字符串数量庞大,我们会利用Hash函数来进行加速。

目前,最强大,最易用的字符串哈希函数应该是BKDRHash了吧。

BKDRHash函数的C语言原型如下:
unsigned int BKDRHash(char *str)<br />
{<br />
    unsigned int seed = 131; // 31 131 1313 13131 131313 etc..<br />
    unsigned int hash = 0;<br />
<br />
    while (*str)<br />
    {<br />
        hash = hash * seed + (*str++);<br />
    }<br />
<br />
    return (hash & 0x7FFFFFFF);<br />
}


另外,除了BKDRHash函数外,还有:
APHash DJBHash JSHash RSHash SDBMHash 等供参考。

  • 24
  • 1月

Hanny之前写了一个小软件,是采用ANSI内码的。最近,由于一些非简体中文的机器也使用到该软件,结果就变乱码了。由是乎,需要将内码转换成Unicode了。

其实,vc.net后默认都改为unicode了,毕竟国际化嘛。但是呢,VC6编写,怎么说也还是比较小巧,编译速度又比较快,所以Hanny还是比较喜欢使用vc6。

废话少讲,开始行动了。

阅读剩余部分...

  • 14
  • 1月

MagikeEditor是原来由Magike上移植到typecho的一套编辑器。

原来的typecho后台是采用mootools的脚本的。到0.9版本时改为了jQuery,因此,原来的版本不兼容了。

同时,插入图片和附件的接口也改变了。尤其是插附件的,为了能够与Attachment插件很多地配合使用,Hanny在这里确实是花了不少时间做实验啊,最后终于成功取到了Attach的cid值。

再同时,依然支持图片的插入方式选择。支持自定义按键。

不多说了,升级就是,同时,Simtags也可以退出typecho的舞台了。

下载地址

MagikeEditor.rar (12.7 KB, 下载次数: 5140, 最后修改: 2014-01-14 21:13)

Hanny的typecho插件集

  • 9
  • 1月

IAR有个关键词 __root。不过,Hanny今天又被这个关键词给坑了。

IAR有几个关键词:__root的本意是指该内容不要被链接器优化,可用于函数和变量。__no_init是指变量不需要初始化,一般给变量定位分段时要加。

按照这个理解,加上__root的,是一定要被链接了。可是今天,Hanny发现如果整个.C文件都没有调用的话,即使加上__root也是没有用的。不知道和版本有没有关。Hanny现在用的版本是IAR720H,就为了它的BANK机制。

  • 4
  • 1月

以前的CommentFilter一直靠判断内容来进行过滤的。从最早的黑名单,到后来的无中文屏蔽。不过,反垃圾一直是一项长期的任务。垃圾评论也在不停地升级。现在,那种全英文的评论已经学会夹杂中文了。

于是,得想办法加一些手段来排除机器人发贴才行。可是,typecho的模板众多,要一一地给模板的评论表单中增加一些字段来排除机器发贴似乎也比较麻烦。

于是,这两天时间,花了点时间,了解了一下JavaScript的DOM操作知识,终于给CommentFilter升级了。

测试了一段时间,感觉效果还不错。

更新方式:
1、需要手动备份当前CommentFilter的配置信息。
2、禁用当前的CommentFilter插件(此时,配置信息会全部丢失)。
3、上传新版本的CommentFilter。
4、进行相关的配置。建议:禁止机器发贴。其它选项可暂时关闭,看后面的情况或个人喜好进行修改。
5、配置完成后,进行评论测试,看是否存在评论异常情况。

如果有其它问题,可以和Hanny进行联系。

CommentFilter.rar (2.7 KB, 下载次数: 5067, 最后修改: 2014-01-04 09:01)