支持中文的sphinder 修改版

[不好意思写标题时走神了。。。。。是sphider,不是sphinx.sphider是一个php写的实现抓取和站内搜索的工具。]
这两天想在内部代码开发规范和流程上发一下力,于是选了个基于web的项目管理redmine,搭了起来。同时,还想提供一个PHP文档的在线生成和搜索站点,于是找到了sphider.但是sphider对中文支持很不好,于是我做了一点点hack.

下载地址
安装请按照官方说明来。我是按UTF-8来处理的。目前是单字,对于PHP文档搜索这个特定应用场景来说,足够了。

TT的作者出新作品鸟:kyoto tycoon

嗯 ,这个TT不是那个宾馆床头的TT.它是tokyo tyrant.作者在推出了一堆性能出色的开源产品后,近期又推出了一个基于kyoto cabinet的server:kyoto tycoon.
其实关于kyoto cabinet,我在这里提到过。kyoto cabinet对应的就是tokyo cabinet,而跟tokyo tyrant对应的,就是今天要介绍的kyototycoon.
直接上翻译,原文在:http://www.1978th.net/kyototycoon/spex.html

Kyoto Tycoon 是一个轻量级的数据库服务器, 支持自动过期的实现,这个在各种需要处理缓存数据的程序中很有用。Kyoto Tycoon 也是一个叫Kyoto cabinet的DBM的网络接口。虽然这个DBM拥有很高的性能和并发能力,但是你在处理多进程共享一个数据库,或是需要远程访问一个数据库时感到头痛。而Kyoto Tycoon就是提供来处理Kyoto cabinet的并发处理和远程连接的。Kyoto tycoon由管理各种各样数据库的服务器进程和访问服务器的客户端程序库组成。

The server features high concurrency due to thread-pool modeled implementation and the epoll/kqueue mechanism of the modern Linux/*BSD kernel. It can handle more than 10 thousand connections at the same time. Because such system-specific features as epoll/kqueue are encapsulated and abstracted as the same interface, Kyoto Tycoon has high portability and works almost all UNIX-like systems and Windows.

这个服务器的特性是高并发,这是源于它用了现在linux/BSD内核上的epoll/Kqueue机制以及一个线程池模型实现。它能同时处理高于10k的并发连接。因于像epoll/kqueue这些OS的属性都做了封闭并且抽象得如此之相像,Kyoto Tycoon拥有较高的移植性,能工作在几乎所有类unix系统 和windows系统上。(嗯,作者你就吹吧…)

它的客户端和服务器端是通过HTTP协议来交互的。因此,你可以用任何流行的语言来写它的客户端库和客户端程序。Restful风格的GET,HEAD,PUT,DELETE方法和RPC风格的POST式方法都是它所支持的。RPC风格的接口是基于一个叫TSV-RPC的协议之上的。(嗯 ,这个协议好像不是一个标准协议,如果我没猜错的话,应该是作者自创的,在之前的tokyocabinet什么的库中就出现地p).整个请求的主体系和响应数据都是用tab键分格的值 ,所以解析起来是相当容易。(嗯,是很容易 ,那我想问一下,大哥你怎么表示复杂数据?我猜您的答案:那我们就不支持复杂数据类型好了。。。)。

服务器端可以嵌入lua,一个轻量级的脚本语言。虽然你可能无法找到符合你需求的内置操作类型,你可以在lua中定义函数来实现各种各样的变态的无聊的抑或是吃饱了没事的干的需求。(我这个翻译是不是离主题太远了).Lua脚本的API提供了Kyoto cabinet的全套的各种操作,包括有访问,游标和事务机制。

Kyoto Tycoon的服务器端是用C++ 实现的(好吧,最近作者除开原始c和lua以外,终于学会C++了?嗯 ,其实kyoto cabinet也是c++写的),它在各种有 支持c++03标准TR1扩展的系统上都是可用的。Kyoto tycoon是一个以GNU GPL 的license发布的开源程序。如果你使用HTTP协议和服务端通信而不使用核心库的话,你可以写各种不受我们license控制的客户端程序。

phppod终止更新和技术支持

1.想了很多,最后还是决定不发了,一句话:phppod不再更新。请大家静等官方linux版本,可能的话请使用dnspod的VIP服务。李笑来老师说过:跟你浪费的时间相比,那点点钱算个屁。

我可以为什么样的代码编辑器付费(判断是不是好的代码编辑器的标准)

我对一个代码编辑器的要求是:
1.要有Folding.即使在Mac下,满足这个要求的编辑器仍然不多。
2.要能列举纲要。比如编辑HTML时,能把DOM展示出来,(这个功能,在Mac下espresso做得最好,而且相当美观),编辑PHP时,能把已经写的类和函数列举出来。
3.要有代码完成功能。比如在PHP里,我输入array_p然后按个什么键,能自动将array_pop补全。这个在vim里用snipmate能实现,在Textmate里也能很好地实现,但是很多编辑器搞得不好.
4.要有Project管理和文件目录浏览功能。不说了,基本功能。Textmate的Project管理实现得相当易用,很赞 。但是,也有一些相当牛B的编辑器,觉得这个功能不重要,没有实现。比如,vim,虽然用一些插件能实现这俩功能,但都不好用。
5.要能连接sftp,(ftp是必须的了,我都不屑说了),直接编辑。我实在不想一点点改动都需要启动winscp拷贝下来再在explorer里双击启动什么工具来编辑,改完了保存,再winscp 上传上去。
6.美观,是必须的!
7.简洁,是必须的!(UltraEdit,Editplus,都实现得挺牛B了,但是。。。。就是那一排按钮也确实太多了,看着让人头晕。)
8.快速,也是必须的!
9.易学,也是必须的!(嗯,像vim,功能强大,非常牛B,但是有很多小盆友学不会….)

基本满足要求的:
第一梯队:TextMate Espresso Rj TextED(Windows下唯一一个比较牛点的,有点默仿textmate的意思,目前免费!强烈推荐)

第二梯队:
EditPlus UltraEdit NotePad Notepad++ EmEditor

太重型的工具没有列出来,因此不需要留言告诉我netbeans,eclipse aptana。

下面给个Rj TextEd的界面:

RJ TextED
RJ TextED