-
牛刀小试RegEx
RegEx中文叫做正则表达式,虽然不是很新的东西了,我很纳闷我居然是才开始了解它。在数据库中查询keyword一般是写成 select * from tablename where columnname LIKE ‘%keyword%’ 而java我记得不是很清楚了,大概是 if(myString.indexOf(keyword) != -1){ //do things… } 这个只是简单匹配,如果有复杂要求就要写多得多的代码了。例如判断keyword是否是一个数字开头,紧跟1个小写字母,跟随若干数字,最后以”pattern”结尾等等,就不是一行代码能写出来的了。对于上例,RegEx+Ruby的写法就是 if keyword =~ /^\d[a-z]\d+pattern$/ #do things end 上式中,//是RegEx的边界,类似””是字符串的边界一样。接下来^代表匹配的开始;\d代表数字,就是0 – 9;[a-z]就是一个从a到z的小写字母了;+是后缀,表示1个或多个,因此\d+就是1个或多个数字的意思了;最后作为关键字的pattern直接写上即可;$代表匹配的结束。 更灵活的应用就是|符号和()括号了。例如判断文本是否包含x或X,RegEx就可以写 /x|X/ 如果要判断文本是否包含多个连续的x或者X,例如xXX、XxX,RegEx就可以写 /(x|X)+/ 如果要判断文本是否包含XXX、XXXX、XXXXX,RegEx可以写 /X{3,5} / 目前的了解就是这么多了,不过以上这些组合起来应该已经可以应付很多种情况了。继续学习。 UPDATE: Regex tutorial from guru99.com
-
免费的正版之路
首先,从道德上来讲,破解正版软件是偷,而购买使用盗版软件就是替贼销赃了。是的,正版软件价格不低,不是每个人都能承受的。但是这世界上诱惑你的好东西多的是,难道买不起了就可以偷么?好在我们还有很多免费的选择。 首先,操作系统有很多免费选择:Ubuntu、FedoraCore、Mandriva、OpenSuse。这些都是Linux,老眼光可能认为Linux是高手用的,但是现在的Linux桌面版确实是面向普通用户的,简单的安装,甚至光盘即可运行。中文支持也不再是问题,不需要自己再安装输入法之类的东西了。看资讯、聊天、收发邮件、看视频等等都是小菜一碟了。Mandriva更是有了Vista才有的3D桌面(这个我还没试过,只是看了截图)! 其次,OpenOffice!虽然开源软件往往不如商业软件(MS Office 2007)花哨体面,功能也要差些,但是看在免费的份上,一俊遮百丑吧。OpenOffice支持MS Office word/excel/powerpoint/access的文件格式,可以双向互通。 Mozilla FireFox & ThunderBird!这对兄弟非常了不起,不仅开源免费,而且胜过商业软件(IE & Outlook) 。有人说,IE也是免费啊,嗯,IE7需要正版Windows才能使用。FF的快捷和安全,用过的人都知道。而TB的内置垃圾邮件过滤每天都帮我挡住上百封垃圾邮件。 杀毒软件:Anti-Vir。只有2个缺点:没有中文版、更新时打广告。记住,只有2个缺点。谢谢Mr徐补充, avast确实不错, 也是个人使用免费的, 用email注册一下就可以了, 而且有中文版, 功能也更全面. 绘图软件:Paint.NET,只有3MB的身材,功能却相当全面。 免费的好东西还有很多,我这抛砖引玉了~
-
Zimbra与中文!人人为我,我为人人
我这实战Zimbra Collaboration Suite(ZCS)差不多已经一个月了,结果很理想,不愧是包揽众多奖项的大作!当然,大作并非就完美,界面的翻译仍旧需要改进。好在我不惧英文,于是自然的开始参与到界面的翻译工作中了。 之前nxzwt已经翻译得很好了,我基于他的工作成果,继续前进了。修改了几个地方: snooze,原来翻译为打盹,字面上不错,但是作为事件提醒对话框上的按钮,我觉得还是翻译为“延后提醒” 比较直观。 free,原来翻译为免费,字面上也是不错,但是在日程表语境中,翻译为“空闲”更好。 dismiss,原来翻译为解雇,我也没找到理想的翻译。毕竟在事件提醒对话框中,我改为“去除”,因为去除提醒比解雇提醒稍好了。抛砖引玉吧。 另外再说具体一下如何将翻译结果应用到ZCS的web client。 首先,ZCSWC是以java为平台的。java可以说是国际化(I18n)的先锋了,但是java支持I18n的方式并不简单。下面是步骤: 下载我做的翻译文件 确认你有JDK,没有的话去java.sun.com弄一个 利用JDK工具native2ascii native2ascii –encoding=gbk ZmMsg_zh_CN.properties.txt ZmMsg_zh_CN.properties 把生成的.properties复制到 /opt/zimbra/tomcat/webapps/zimbra/WEB-INF/classes/msgs 重新启动tomcat服务 这样应该就可以看到中文界面了。 既然已经做了这么多,我希望更多的人能分享我的工作成果,也希望更多的人参与到此项目中来。人人为我,我为人人。
-
升级!ZCS4.5.4和Ubuntu7.04b
由于ubuntu6.10 edgy不支持我的intel DG695主板,我只好拿β版的7.04 feisty来试试运气了。还好,一切顺利了,下面开始安装ZCS(zimbra collaboration suite)4.5.4! 由于ZCS尚未官方支持feisty,一帆风顺的安装似乎不可能了。不过feisty比edgy在底层结果上变动不大,只要安装了必要的软件包,让ZCS以为自己身在edgy即可。以下是我在zimbra论坛上得到的回复。Thanks, dijichi2 ! #vim /etc/lsb-release 修改 DISTRIB_RELEASE=7.04 为 DISTRIB_RELEASE=6 这样ZCS就会认为自己在edgy上安装了。成功! 转贴ZCS4.5.4新特点: Mail Identities. The Mail Identities feature allows users to send email from their account using different names and mail settings. Users can select which From address to use for the mail they are sending from ZWC. 多邮件身份,例如个人身份和职员身份 Personal…
-
FireFox、Zimbra和Java
使用Zimbra后,我发现IE下很自然就是中文界面,而FF却屡次显示英文界面,即使我手工选择encoding也不行。难道FF出了问题? 经过比较,唯一的区别在于,我的FF是英文版的。想到Zimbra的webmail是使用java/j2ee技术开发的,因此Zimbra会根据用户客户端的缺省语种而显示相对应的界面语种,而且Zimbra没有内定的缺省语种,所以……我只能说FF和Zimbra都太客气了,谁也不愿意作出这个决定。 于是,我只好手工将FF的Prefered language设定为Chinese,问题迎刃而解;-)
-
梦想成真:用idea开发ruby on rails
用java做东东的朋友应该都知道JetBrains(下简称JB)和他们的杰作IntelliJ IDEA(下简称IDEA)。JB的口号是develop with pleasure,快乐的开发。而rails的口号是web development that doesn’t hurt,这个不大好直接翻译了,不痛苦的web开发?HOHO,现在是快乐+无痛苦了,因为IDEA的新插件支持rails开发了。我睡觉都要笑醒了。 此插件的链接在此 。主要功能如下: keyword completion,关键字辅助完成 syntax highlighting,句法高亮显示 on-the-fly code validation,即时代码检验 error highlighting,错误高亮显示 Rails templates and generator integration,模版、生成器集成 最后,IDEA开放了开源软件许可,就是说,如果你手头有个开源项目,有项目网站、活跃的项目论坛,那么你可以申请免费的IDEA许可!省了400多美刀哦~ 我也要建个项目:-)
-
几张Zimbra测试截图
把我刚工作时买的PIII 700用上了;-) Zimbra在此老爷机上运行果然缓慢,不过大致效果可以看清楚了。 简体中文哦,很不错吧;)
-
我在WAMP里翻船了
如果你知道LAMP,那么你肯定也知道WAMP:A=Apache httpd, M=Mysqld, P=PHP;那么L自然就是Linux,而W就是Windows了。 也许这是唯一一处在linux上易于windows上的应用。linux几乎都可以在装机时用几个勾选搞定AMP,即使没有(ubuntu?) ,几个apt-get install命令就搞定了。昨天我破例想在一台winxp上试试AMP,于是下载了A、M、P以后开始典型的windows软件安装:点击下一步,下一步……完成。按说也很简单么,只是点击而已,但是开始安装一份PHP应用:Joomla时,Joomla提示没有mysql支持! 这是我平生头一次看到PHP下不支持mysql! 别担心是我的错误,PHP5缺省安装的确不支持mysql,但我是非常讨厌缺省安装的,所以特意勾选的php-mysql的extension。没办法,挨个检查吧: php.ini 无错! httpd.conf 无错!! PATH 无错!!! 但是问题依然在。我只好求助google和baidu,相关内容很“丰富” 。看来问题还是出在PATH上了,尽管我的PATH是正确的。突然我明白了,这是windows,装完软件得restart才行^o^果然,重新启动之后一切正常了。 后来,发现有一款软件就叫WAMP,更加简化了AMP在windows下的安装,只是暂时没有必要去测试了,也不知道装这个WAMP还需要重启否。