2010年06月 存档

常用正则表达式

2010年06月24日,星期四

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字

匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用

匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式

原载地址:http://lifesinger.3322.org/myblog/?p=185
转载自:http://www.williamlong.info/archives/433.html

为什么用源代码开放的软件?

2010年06月20日,星期天

星期三, 一月 26. 2005
原因很多。

不用顾及软件成本

源代码开放的软件没有购买成本,拿来就可以开始测试、开发。自由度高。

详细的文档

实际上,现在源代码开放的软件的文档很详细,包括技术细节的描述。而且,源代码本身就是一种很重要的文档。另外,源代码开放的软件有着相当统一的开发习惯,对于技术人员来讲其中技术资料的可读性相当高。而收费软件呢?看到的文档更多的可能就是没有什么技术含量的“用户使用帮助”了。

健壮、稳定

付费软件就更稳定吗?No!作为一个软件测试爱好者,我可以给你举出好些例子来说明不少收费软件并不稳定,存在bug。最典型的就是在一些Windows XP机器上IE经常弹出来错误窗口提示,就算打最新的补丁也不能解决。另外大家可以看看很多付费软件的更新说明,你就会发现这些付费软件几乎在它的每一个版本都存在不少需要解决的bug,而它的每一个更新后的版本都要去弥补上一个版本存在的各种bug。

当然,源代码开放的软件也存在bug。但是源代码开放的软件的bug很多时候是即时解决的,可以讲是当时发现问题,当时解决。很多源代码开放的软件每天或每几天都会发布一个非正式的更新版本,随时修复已知bug。

而且,源代码开放意味着更多的人可以参与到代码修复的工作中来,使用者也可能就是修复者。而在付费软件中,则很可能要经过“用户发现bug–>用户反馈–>公司更新软件–>等待该软件下一个版本发布”的漫长过程。

选择余地大

付费软件的选择余地大吗?No!源代码开放软件的选择余地不比付费软件的选择余地小,或者小多少。举个例子,就拿市场上比较热门的groupware而言,相信不少软件商也做这个东西。我是见过一些软件开发商开发的这类软件的,技术水平如此而已。看看PHP开发的免费groupware软件,其中至少有3、4个的功能都是非常强大、非常可靠的(包括wap等无线应用),比我看过的那些软件开发商开发的都要强许多。

完善的功能

大部分免费源代码软件的功能完善,不然怎么得到广大用户的认可?

以下谈谈国内的软件/信息系统开发。收费软件由于公司技术人员素质的良莠不齐,作出的产品并不一定可靠、完善。看看很多MIS系统的水平就可以看出来了。而决大部分源代码开放的软件,都很完善。

对代码几乎100%的控制权

这点是针对技术人员来讲的,很重要。正是因为这一点,对于专业技术人员来讲,碰到问题,大部分情况下可以完全自己找出解决方案。而对于付费软件,软件使用者很多时候是无法解决碰到的问题的。

更多的代码技术资料,更容易提高技术水平

一般而言,源代码开放软件的开发者可以获得更多的源代码资源,而付费软件的开发者,必然存在技术保密等因素,因此拥有的资源相对较少。从个人技术进步的角度来讲,前者也能更快进步。从技术进步的动力来讲,前者更多的时候是发自内心的热爱,热情更高;而后者,对于一般公司而言,金钱利益的驱使大于兴趣爱好。

[注] 本文用以回答朋友提的一个问题。个人看法,不一定很全面。

转载:http://www.deminy.net/blog/archives/3263-y.html

浅谈Magento

2010年06月20日,星期天

星期六, 七月 5. 2008
最近一个月开始深入研究Magento(一套开源网上商店系统)。

Magento这套开源网上商店系统非常非常非常非常出色。其基于经典的PEAR架构和Zend Framework架构,使用EAV(实体-属性-值)模型,设计完美,扩展性极好。明显超越phpMyAdmin、Smarty等众多著名的PHP开源系统,是PHP开源系统中惊艳、典范、登峰造极之作,是未来网上电子商务站点的首选。

Magento应该是当今开源电子商务系统的翘楚,能跟其在同一档次的同类系统应该没有。和Magento比起来,osCommerce……不堪入目。

Magento瑕疵很少,很难得。我想起来《笑傲江湖》里面好像说过,练武不仅仅是武功高的问题,而且还有如何减少自己武功中的瑕疵和漏洞的问题;瑕疵、漏洞越少,才能更立于不败之地(例如武当掌门用滴水不漏的剑法将自身武功的漏洞雪藏其中,让外人不易识破、很难攻入)。就像早先的phpBB3,万众期待,结果居然对UTF-8的支持颇为糟糕,引来一片非议,最终phpBB3还是决定完善地支持UTF-8编码了。Magento在不断减少自身漏洞、缺点方面做得很好。(这段描述只是说Magento在设计上很合理,即便有bug也往往能很快修补;但并不是说Magento没有什么bug)。

使用Zend Studio for Eclipse (仅限于v6.0.1或以上)这款IDE来管理、开发Magento,是最完美搭配。

Magento的缺点:
* 功能很好很强大,在没有专人指导的情况下用户不太容易直接上手,虽然它的易用性其实很不错。
* 二次开发或对其作修改的话,需要有较好的计算机编程知识、PHP编程水平以及web编程水平,最好对Zend Framework这套框架比较了解。对于程序员而言,这不是一个入门级的开源产品可以随便轻易上手的。

其他的就不深入展开了,太花时间。谢绝讨论细节,抱歉。
转载:http://www.deminy.net/blog/archives/4458-y.html

PHP创始人所欣赏的7套PHP产品

2010年06月20日,星期天


星期一, 八月 14. 2006

PHP的前途

2010年06月20日,星期天

星期一, 十二月 17. 2007
== 前言 ==

我原来想给这篇文字起的名字是《PHP大有前途》,后来觉得还是不要这么煽情的比较好,于是就把文章的名字改成了现在这样子。

本文的目的是总结最近半年内PHP技术方面的一些重要进步,并基于此来谈谈PHP技术应用的前途。我自己不会详细叙述每个细节,也不会把每个提到的事件、术语给出具体的出处(相关事件或术语可在google搜索到),但会把所要谈到地方大体讲清楚。

我个人认为最近半年内PHP最重要的三项进步是:Zend Framework v1.0.0的正式发布;Zend Studio for Eclipse (Neon beta)这款集成编辑环境(IDE)工具的推出;命名空间(name spaces)和后期绑定(late binding)将成为PHP 5.3/PHP 6的一部分。

== Zend Framework v1.0.0的正式发布 ==

从PHP Framekwork(框架)而言,有将近十个左右明显出色的框架1,其中最出色的可能有5、6个左右,这包括Zend Framework, CakePHP和Symfony这三款最知名的。Symfony功能相当强大,但CakePHP在易用性等方面更胜一筹。我个人曾优先推荐使用CakePHP。

最近一个来月我开始在公司和家里使用Zend Framework。我的使用感觉是,Zend Framework的设计特别出色,其编程设计所具有的美感可以和Smarty相媲美(Smarty是我特别欣赏的一套PHP程序)。我认为Zend Framework将是未来大型PHP项目开发的重要框架(我个人认为它应该是首选框架)。

我认为选择Zend Framework有如下几条主要原因:
Zend Framework是面向企业级开发的框架(抱歉,这个论述是别人可能曾经说过的,但目前我找不到出处)。

Zend Framework代码本身的优化和在服务器端的优化是有保障的(抱歉,这个论述是别人可能曾经说过的,但目前我找不到出处)。

Zend Framework本身的设计哲学遵循PHP的设计哲学: 简单、易用、易于扩展!(当然,首先你要比较熟悉它,才会觉得它简单、易用)

Zend Framework有着Zend公司的专业性和强大技术保证。Zend Framework不是草莽英雄型、昙花一现型的开源软件,而是由最专业的、最权威的PHP公司组织下开发的框架。

(就我个人而言,我会优先使用Zend Framework, PEAR和Smarty这套组合作为开发工具,另外还要加上PHPUnit, Subversion等。至于Ajax,我个人会选择Dojo这款Ajax引擎。)

Zend Framework目前的缺点是:该框架似乎依然在作一些比较明显的调整(例如从v1.0.0到v1.0.3之间所作的调整),但可以接受;官方文档比较丰富,但是都是化整为零式的描述,缺乏基于完整项目的好的实例;可用于参考的、与时俱进的实例代码有限(不过你还是可以从Google代码搜索中找到个别完整的基于Zend Framework的开源项目代码)。

== Zend Studio for Eclipse这款IDE的推出 ==

我在今年秋天之前使用Zend Studio作为PHP的编辑软件,大概自十月份Zend Studio for Eclipse推出后就改用了Zend Studio for Eclipse。Zend Studio for Eclipse(不免费)与Eclipse with PDT(免费)相当类似,但有着一些额外的不免费的功能。

一直以来我个人最推崇的IDE是JBuilder企业版(Visual Studio近几年没深入用过,因此无法评价)。Zend Studio for Eclipse目前所能达到的高度虽然(明显)不及JBuilder,但是我已经相当满意了。

Zend Studio for Eclipse依然处于beta状态,依然有着一些缺点(例如界面颜色样式设置不方便、在building projects时可能停止响应等),但就Zend Studio for Eclipse相对于以前的Zend Stuido的改进来讲,我认为这款IDE的前途是光明的。(和Zend Studio for Eclipse比起来,Zend Studio就显得挺傻。)

Zend Studio for Eclipse在管理庞大代码库的时候,其所具有的优势是相当明显的。因此,Zend Studio for Eclipse应是大型PHP项目开发的重要工具。

== 命名空间和后期绑定将成为PHP 5.3/PHP 6的一部分 ==

命名空间的出现便于组织规模庞大的代码系统,便于在不同系统中共享代码。后期绑定将使得PHP与Java的面向对象的风格更接近一步,使得PHP编成的灵活性大大增加,并且将会明显丰富PHP的设计模式(目前PHP可用于实践的设计模式还是很有限的)。

PHP对命名空间的引入在过去的一两周引起较大的讨论。我个人认为命名空间的引入是无需有太多争议的。PHP超强的编程灵活性并不意味着命名空间是可有可无的。没有命名空间,PHP将始终被Java、 .NET开发者们视为小打小敲型的工具而已,难登大雅之堂;没有命名空间,PHP离企业级开发始终有那么一些距离,始终还只是更像是一把瑞士军刀,而不具有航空母舰的气质。

== 结尾 ==

以上三点重要进步为PHP未来进一步扩大应用范围提供了重要的技术保障,但是PHP在企业级开发中被更大范围地接受还是需要一定时间的。首先是因为PHP 5.3和PHP 6的推出及其稳定性依然有待时间考验,其次是在新的技术手段下依然需要一定时间进行技术积累。

如果互联网在未来2到3年还是如今天一般景气的话,那么PHP在未来三年后将应比现在更上一层楼。

[注1] 就国产中文PHP框架而言,有两款可能是最知名的:FleaPHPThinkPHP。可惜的是我并不研究或使用中文PHP框架,因此无法对其作出具体评价。

转载自:http://www.deminy.net/blog/archives/4454-y.html

最经典的(免费)PHP程序合集

2010年06月20日,星期天

星期一, 一月 24. 2005

引子:今天在sf.net看到Snoopy这个程序,欣慰不已。以前一直有写个浏览器模拟器用来对一些网站进行刷屏操作的念头。现在发现了Snoopy这个程序,在它的基础上再来写那个浏览器模拟器的会省很多力气。以前看到过好些很经典的PHP程序,可惜都没有收藏,随着时间的流逝,等到后来想再找回来的时候,却发现已经找不到了。因此做了这个合集,意图网尽天下PHP精华!

因为PHP的免费和源代码开放,因为PHP的跨平台,因为PHP代码编写样式的高度兼容性,因为PHP的对第三方类库的强大支持,因此,PHP编程成为近几年来程序届最绚丽的一朵花。不夸张的讲,从综合的角度考虑,PHP程序员编写的程序的朴实、华丽、有效、完美、统一与协调程度可以和任何一种其它语言相媲美。当然,PHP并不是万能的,不能代替其他语言的存在。2005-01-24 20:33:35

杰出成就奖(应用非常广泛的PHP程序)

phpMyAdmin: 独一无二的用来管理MySQL的Web程序。

Smarty: 最棒的模版引擎,堪称我最佩服的PHP程序设计之一。本站采用。
SmartTemplate是该类软件中最好的第二选择,相对于Smarty它的一个明显缺点在于模版中不支持数组的变量名替换。

ADODB: 数据库连接通用接口程序。毋庸多言。典藏珍品。

osCommerce: 最佳电子商城程序。毋庸多言。1

phpshell: 最经典的PHP编写的web方式的shell界面。遗憾的是我居然找不到它的主页了。其实这个程序的思路也是很容易被理解的,只是作者把它做出来了,而且做得合乎大家的需要。典藏珍品。

大、中型应用

内容管理系统: 空缺。CMS(内容管理系统)可能是PHP应用中最热闹的一类的,百花齐放,百家争鸣。做得很有声有色的有:phpnukepostnukephpwebsitexoopsTikiExponent Content Management System(该系统未测试过,但在sf.net近期排名很高)等等。较小型的CMS有CMS Made Simplephpwcms(该系统近期未测试过)等。因为该类别太热闹了,我看得都眼花了,加上每一个软件跟别的比起来都有一点不足,因此空缺。

moregroupware: 最棒的PHP编写的Groupware软件之一。我曾用此软件2002年10月份左右的那个版本改造成公司的人事、项目管理系统,只是没等正式采用我就离职了。没有机会在工作中使用该软件是一件让我遗憾的事情。groupware系统是php应用中也很热闹的一类,其它做得相当好的有:phpGroupWareTUTOSTikieGroupWare等。2

BBS系统: 空缺。phpBB应用很广,但是总感觉功能仍然没有到我满意的地步。vBulletin收费,因此不在考虑之列。我对2001年9月前后那个版本的vBulletin很熟悉,但对它的评价很差。如果从软件的角度来讲,vBulletin程序写得不错,很专业;但是从Web应用来讲,则很糟糕。vBulletin系统的功能强大是建立在大量的数据库调用和操作基础上的。因此该系统的负载能力差。只要Web访问量一上升,该系统就难以承受。不知道vBulletin现在如何了。

小型应用

GeSHi: 最棒的PHP写的源代码语法加亮程序。本站采用。但目前存在一严重Bug,不支持双字节的文字(例如中文)。

WebCalendar: 最棒的日程安排程序。本站没有采用该软件的唯一原因是本站没有数据库支持,而该软件需要数据库支持。我自2003年夏天前后开始关注该软件,当时该软件还有一些小bug,在对多语言支持方面存在不足,另外在多用户管理设计方面需要改进。相信一年多后的现在,该软件一定做得更不错了。

[关于WebCalendar的补充说明]Web方式的日程管理程序一直是我期望能够用于个人日常生活管理的一类程序,因此我对这类程序一向比较关注,对WebCalendar更是比较关注。遗憾的是根据最近一个月来的数次不成功的安装经历,我不再推荐该软件。原因如下:1. 该软件在数据库登陆密码为空的情况下将无法使用; 2. 该软件要求php的magic_quotes_gpc参数必须设置为启用。我个人认为上述两点缺陷违背了软件易用、通用的基本要求,因此不是一个好软件。我对该软件作者的软件开发技术并不怀疑,但是我很遗憾他的软件开发理念。目前该软件的最新版本为WebCalendar-1.0RC2。2005-02-23 02:03:15

Comet WebFileManager: 最棒的Web文件管理系统。我2002年在厦门工作的时候开始采用该软件,该软件至今仍然让我称道。

Slooze 相册系统: 最棒的不需要数据库支持的网页照片簿。2002年第一次接触,2003年5月本站采用。典藏佳品。最近2年多来该软件没有升级过,因为需要的功能基本上都已经实现了。软件能够做到这种境界,很值得称道。

代码片断、类

Snoopy: 目前为止看到的最棒的浏览器模拟程序。如果要写网页攻击程序,必备该程序。2005-01-24 20:33:42收集。

Advanced HTTP Client: 目前为止看到的最棒的HTTP协议模拟类。本站典藏。

URL类: URL处理类。不一定是最棒的,但是是对我最实用的。可惜还要在它的基础上做一定程度的修改。本站采用。

文件压缩类: 空缺。TAR/GZIP/BZIP2/ZIP Archives类可暂时代理该类,但其通用性有待提高(在Sun Solaris默认设置下工作性能不佳)。该类别软件中目前暂未发现佳品。

Schedule类: 目前为止看到的最佳日程安排设计类,需要GD库支持。本站采用。

INI文件读取类: 暂时空缺。

文件上传类: 因为本人对此使用不多,暂时空缺。根据以往对此类别程序的观察,个人推荐MyUpload

Shell参数传递处理类: Cli。根据2003年的使用经验8月份前后的使用检验推荐该类。近期未曾测试该类,暂不评价。

本文不断更新中
本文初创:2005-01-24 20:25:59
最后更新:2005-02-23 02:09:36

[补充说明1] 从开发者的角度来讲,osCommerce并不值得推荐。参见“电子商务系统osCommerce评测”一文。2005-10-28 20:32:54

[补充说明2] 目前groupware软件中,相对来讲我最推荐的是eGroupware。2006-03-23 09:05:5

转载自:http://www.deminy.net/blog/archives/3268-y.html

我目前首选的一些常用软件产品

2010年06月20日,星期天

星期四, 十一月 16. 2006
类别    软件    热爱指数    评价    本站相关信息
电子邮件        Google Gmail    *****        最接近完美    1, 2
网页浏览    FireFox    *****    超强    1, 2
文档压缩    WinRAR    ****    简洁、稳定     
文档格式    PDF    ****    便捷    1, 2
PDF阅读    Adobe Acrobat    ****    舒心    1
mp3播放    WinAMP    ****    稳定、多功能        1
即时消息    MSN Messenger    ****    有序    更多的…
Java编程    JBuilder    ****    超强     
Whois    domaintools.com    ***    超强     
虚拟光驱    DAEMON Tools    ***    小巧    1
地图查找    Google Map    ***    易用,超强     
OCR    ABBYY    ***    超强    1, 2
文本编辑    UltraEdit    ***    过于强大    1, 2
文本比较    UltraCompare    ***    超强     
看图软件    ACDSee    ***    超强     
烧盘软件    Nero    ***    超强     
杀毒软件    Kaspersky    ***    称职    1, 2
RSS阅读    bloglines.com    ***    便捷    1
VoIP    Skype    ***    高清晰音质    1, 更多的
文件下载    讯雷    ***    下载超快     
文件更名    Magic File Renamer        **    够用    1
系统配置    超级兔子    **    易用     
操作系统    Windows XP    **    傻瓜    1
字典软件    Babylon    **    凑合     
FTP软件    LeapFTP    **    凑合     
屏幕截取    HyperSnap    **    超强    1
中文输入    微软拼音    **    习惯了    1, 2
BT下载    Azureus    *    凑合    1
硬盘搜索    Google Desktop    *    超强    1

转载自:http://www.deminy.net/blog/archives/4348-y.html

去除PDF文件保护

2010年06月20日,星期天

星期一, 九月 25. 2006
PDF是我最喜欢的文件交流格式。

PDF文件有多种文件保护方式。最为常见的两种方式是:密码保护和数字证书保护。

密码保护是比较容易破解的,相信有众多的软件可以去除密码保护。我个人偶尔会使用“PDF Password Remover”等软件进行去除PDF文件密码保护的工作。

相对来讲,PDF文件的数字证书保护比较难以去除。

今天下午,由于想要去除某PDF文件的数字证书保护,于是在网上搜索、研究了一下,发现德国人Martin Backschat在2005年5月12日介绍了一个有效的方法

Martin所介绍的方法的思路是:使用perl程序执行一段perl语言脚本,去除PDF文件中数字证书相关字段。具体操作方法我就不多做介绍了,原文中有详细介绍。好些访客在原文后面评论说使用Martin的方法不能正常工作。我自己测试后,在原文后面做了如下评论(以下为中文翻译节选):

“Martin提供的脚本能够在Windows上的Cygwin环境下正常工作,也能去除pdf v1.6的数字证书保护,但是……

(1). 如果使用Windows上安装的ActivePerl等程序运行该脚本,则不能正常工作;

(2). 该脚本不能在Linux/Solaris上正常工作。”

本文只是提供一个技术信息,但并不鼓励、也不赞同恶意的破解行为。

本文谢绝细节讨论。

转载自:http://www.deminy.net/blog/archives/4302-y.html

在未名空间上关于Drupal内容管理系统的一些回复

2010年06月20日,星期天

星期六, 六月 19. 2010
前言:
最近开始泡mitbbs(未名空间)。

我上网一般不主动发贴,基本上只回帖。基于我上网发贴/回帖“不误导别人,不废话,不灌水。”的准则(这一准则写在了我的mitbbs发贴签名档里面),当每次我回答别人一些我熟知领域内的问题的时候,态度是比较端正的,回复是比较详细的,措辞是比较客观的。

遗憾的是各类网站新开张的新开张的,说关闭的就关闭。有时候我发现我在别的网站写下的文字说不定什么时候就没有了,于是决定把我在别的网站写下的文字(主要是回帖)整理整理,放在我自己的网站上,权当备份。

本文整理的是这两天我在mitbbs有关Drupal这一内容管理系统的有关回复。需要特别说明的是,后面比较长的一段时间内我也许还会断断续续写下其他一些关于Drupal这一强大的网站建站系统及内容管理系统的方方面面。

下面转贴中仅对文字拼写错误和排版作必要修正。所述内容均为个人观点,仅供参考。

问题一
发信人: cplus2009 (mac), 信区: StartUp
标 题: question about open source software
发信站: BBS 未名空间站 (Wed Jun 16 13:05:28 2010, 美东)

我在考虑改写某些开源软件后推销出去…一般情况下大家是怎么做这个的?我需要购买授权许可证吗?通常需要多少钱?1 (I am thinking of to use some open source software, to enhance it and marketing it… normally how people do this? Do I need to license the open source and normally how much is the cost….)

回答
发信人: deminy (deminy), 信区: StartUp
标 题: Re: question about open source software
发信站: BBS 未名空间站 (Wed Jun 16 22:48:41 2010, 美东)

比较常见的做法,也许是基于某一个开源软件提供服务(service),当然,首要条件是这个开源软件要好。事实上这样的开源软件是比较多的。

例如,Drupal,也许是当今最好的免费内容管理系统(根据某些标准来评判),好些公司都基于它来做服务。它的创始人开办了一家公司acquia.com,提供基于Drupal的各种网站建设、搜索引擎优化等服务。另外一家公司volacci.com,则专门做基于Drupal的搜索引擎优化(它还开发了一个最好的Drupal SEO流程插件)。这两家公司至少表面上看都比较成功,至于其他大大小小的基于Drupal的网站建设、网站托管公司,那就更多了。

中国人当中,内容管理系统做出了点名堂的是XOOPS (xoops.org.cn),是一个Montreal的中国博士生牵头维护的一个开源系统,成立了自己的公司。

因此,你的思路是可行的,而且事实上很多人在做。

问题二
发信人: XiHuaYuan (美不胜收), 信区: StartUp
标 题: Re: question about open source software
发信站: BBS 未名空间站 (Thu Jun 17 19:21:37 2010, 美东)

谢谢大侠的贴子,很好很好。 那个 PHPChina/Discuz 也是中国人做的,还有PHPwind,PHP168等等. 做中文站,是不是这些比Drupal更好一些呢?
谢谢大侠指点哦。

回答

发信人: deminy (deminy), 信区: StartUp
标 题: Re: question about open source software
发信站: BBS 未名空间站 (Thu Jun 17 20:31:30 2010, 美东)

谢谢你的夸奖。

首先,我个人很倾向于Drupal,这是根据我个人喜好、以及多年来在相关技术和行业方面的经验作出来的选择。和绝大部分国产或海外的内容管理系统比起来,Drupal都有着明显的、长足的优势。

制作和维护中文网站,Drupal比较明显的缺点有2个:1. 中文信息方面不够,大量的有关技术和维护信息(文档和讨论)都是英文的;2. 可能在中文插件(modules)上有所不足(从插件数量到插件维护状态)。如果你的网站不特别强调使用某些中国的第三方服务(例如集成taobao的某些功能等),那么Drupal依然是很好的选择。

中文的内容管理系统近些年做得比较努力,也不错,但我个人从来不采用(XOOPS是个例外,但是我比较后悔曾经采用过它一次,希望其开发者不要介意),也很少测试。个中原因,我就不细说了,纯属个人喜好和看法而已。我只能说,中文的某些产品在安全性(易受攻击程度、以及漏洞修复速度)、软件产品升级维护、功能丰富程度等方面,也许有待改进。

另外,如果做英文网站,综合多方评测的结果、包括我个人的使用体验来看,通常最好的是应该是Drupal。当然,Joomla也是很不错的有竞争力的一个产品。如果所建网站是多语言版本的(同时有多种语言支持的)、或者是重视搜索引擎优化效果的、或者是数量较多的网站,Drupal是当然的首选。

问题三
发信人: tianbao999 (天宝), 信区: StartUp
标 题: Re: question about open source software
发信站: BBS 未名空间站 (Fri Jun 18 13:30:22 2010, 美东)

wordpress比较熟悉。

Wordpress和drupal相比,有什么差异呢?
您对wordpress怎么看呢?

回答
发信人: deminy (deminy), 信区: StartUp
标 题: Re: question about open source software
发信站: BBS 未名空间站 (Fri Jun 18 17:15:45 2010, 美东)

WordPress应该是最流行的blog软件产品。这是有历史原因的(因为起步早等等),但并不一定代表它是最好的该类产品。不过,由于它确实很流行,因此用户使用它可以得到更多的一些便利:更容易在网上得到技术支持;更容易找到相应的网站托管服务;更多的(付费的或免费的)theme(页面样式选择);更多的公开的或私有的插件等等。

对于一般的blog用户,选择WordPress应该是个不错的选择,但绝不是唯一的选择,也不一定是最好的选择。另外,它起步于blog这一单一功能需求,虽然可以将它归类于CMS(内容管理系统),它依然算不上一个功能强大、功能完善、扩展性好的CMS系统。

Drupal和WordPress的部分主要差异在于:

1. Drupal可以比较轻松地胜任多种不同类型网站的需要:论坛、blog、电子商务、新闻等等;WordPress在这方面不是其所擅长的;

2. 一个基于WordPress开发的(支持多用户的)blog网站,要拓展其功能、转型成为一种功能比较齐全、类似某些门户论坛等性质的网站的话,比较困难;而一个基于Drupal开发的类似网站,则不存在这样的问题。

3. Drupal(加上相关插件)可以做到绝大部分WordPress所具有的功能;反过来则不行:Drupal有一些特别的功能(甚至是很好的功能)WordPress是做不到的、或者是比较吃力的。

不同用户有不同的需要。简而言之,通常而言,在更广泛的范围内Drupal功能明显更强大、更灵活;而如果仅仅就blog或者类似功能而言,WordPress始终是一个不错甚至挺好的选择。

另外,功能强大的,不一定是最适合你需要的。如果你仅仅是需要一个简单的blog,使用Drupal不一定是你最好的选择:对于大多数人而言,即便有利器在手,如果这个利器很沉,玩起来也许是更吃力的。

补充说明1: 此段“问题一”中的中文部分是根据最初问题(英文)翻译过来的,非发问者原文。

转载自:http://www.deminy.net/blog/archives/4469-y.html

OCR与中文化

2010年06月20日,星期天

此文是转载,写作时间比较久了,具体观点可能于现在不符。
————-
星期三, 十一月 2. 2005
有两大突破传统键盘输入技术的信息输入技术:一是语音,二是手写和OCR(意译为“文字识别”)。本文主要讨论OCR,但也适用于手写,因为两者使用的技术是一致的。

国际上第一流的OCR软件是ABBYY FineReader和ScanSoft OmniPage(ScanSoft公司前2个月更名为Nuance),其它OCR软件都明显不如这两款软件1。ABBYY FineReader是俄国人开发的。俄国人开发的著名软件不多,但却有2个是世界第一流的,一个是OCR软件ABBYY FineReader,还有一个就是Kaspersky Anti-Virus反病毒软件(原名AVP)。OmniPage是美国公司Nuance推出的,该公司在语音和图像识别技术上都有一定的功力。

这两款世界一流的OCR软件在文字识别上功能很强大,只是对于科技文献(尤其是含有各种数理表达式的文献)的识别有些弱。另外,这两个第一流的OCR软件都有一个共同点,就是支持多种文字语言,大约支持170种到190种文字语言。这两个软件还有一个共同点,就是都不支持东亚文字语言,例如中文繁简体、韩文和日文。这说明针对东亚文字的OCR技术是和针对字母的OCR技术是有一些明显的不同的。

如果要使用中文OCR软件,最有名的两个是清华文通的TH-OCR(原名清华紫光OCR)和汉王科技的文本王系列。其它的国产OCR软件要么是基于这2个软件的,要么效果比较差。例如超星阅读器内嵌的OCR功能就颇不能让人满意。

即使是这两个最著名的中文OCR软件,也是不能让人满意的,具体不细评价(何况我还没有测试过汉王科技的文本王系列)。总之,这些国产OCR产品的产品介绍是超出了它们在现实中所具有的能力的。

举例而言,汉王吹嘘文本王软件“对印刷文稿录入的识别率高达99.5%”。这是一种典型的吹嘘法2:用一个理想化的事例作为典型实例告诉听众(就像房地产商卖房子),但事实是听众大部分时候所需要处理的数据都不是处在理想化的状态的。因此可以讲,实际使用中大部分时候(远远)达不到99.5%的识别率。而且,正确识别了文字也不等于所识别的文字就有用。你可以把所有的字都识别的,但是如果这些被识别后的字是无序的,那么识别率就算是100%也是没有意义的。目前所有的OCR软件在文字识别后的格式处理都不尽如人意,这是OCR软件的一个软肋。

中文OCR应该仍然有很多需要解决的(关键性的)技术问题。

中文OCR的需求应该是非常强大的,因为中国是一个有着数千年历史积淀的国度,有着太多的纸质资料需要电子化。因此,中文OCR是一个很有前途的方向,但需要相应的技术实力去做。目前国产OCR软件还有很大的提升空间。如果结合国外先进的OCR技术进行中文化,会是一个比较好的中文OCR发展方向。

[补充说明1] 对于OCR软件的具体评测请参见“文字识别(OCR)软件评测”一文。

[补充说明2] 这种吹嘘的手法我们曾经在“对《金山快译2005》的评价”一文中见过。

[补充说明3] 用过“Google Scholar”的朋友可能会发现,Google也是一个潜在的OCR巨人,因为它的搜索技术能够搜索到通过扫描录入的论文内容。要做到这点,首先必须具备相应的OCR技术,而Google在任何一个它准备进入的领域都做得极其出色。只是不知道Google使用的OCR技术是自己的还是别人的。

[补充说明4] 如果ABBYY和OmniPage能够突破OCR中文识别技术并进入中文市场,当前的国产OCR软件都将死得很惨,就如同曾经的文字处理软件WPS、CCED等。

有意思的是,应用软件开发中,大部分国产软件处于溃败状态,敌不过国外软件。能够存活下来并且发展得比较好的,好些是那些对中文文字依赖度比较高的软件,例如金山词霸,还有就是OCR软件。

杀毒软件市场,虽然国外软件技术上做得更好,但是由于国内杀毒公司能够提供更好的中文化服务和本地服务,并且使用方式更适合中国人的习惯,何况杀毒效果表面上看起来差异性不是太大,因此国产杀毒软件也能在市场上占据相当的地盘。但是纯粹从技术的角度来讲,国内的软件技术整体上始终是落后的。只是由于有文化这样的一个屏障,使得国产软件公司可以更轻松一点地喘口气。

转载自:http://www.deminy.net/blog/archives/2992-y.html