删除Mac OS X 10.8 中右键菜单重复的“打开方式”

发现有程序安装新版本后,右键菜单的打开方式中出现了该程序重复的选项:

解决办法:

在Mac OS X中配置Apache+php环境

在Mac OS X 10.8 Mountain Lion 中已经内置了Apache和PHP,所以只需配置一下即可使用。

回顾我的2011

过了今天,就是2012年了。似乎回首往事的时候,总会觉得时间过得太快。朱自清曾经在《匆匆》里感慨“八千多日子已经从我手中溜去”,而我屈指一算,已经超过一万的日子再也回不来了。

Fedora16安装nVidia官方驱动并禁用nouveau驱动

装完Fedora16后,进入Gnome3失败,看来是nouveau驱动对nvidia gt540m的支持不够好,所以只能安装一下n卡的驱动了:

首先先保证内核是最新的

[shell]
su root
yum update kernel selinux-policy
reboot
[/shell]

重启后添加RPMFusion的yum源:

WordPress实现HTML5预加载

参考文章WordPress实现HTML5预加载,给我的博客也加上了prefetch相关代码,针对我用的模板作了修改:

geronimo javamail与sun javamail冲突导致发送邮件失败

问题:
生产线上有一个需要发生邮件通知的服务,通过Exchange Hub Transport Server发送。但是发送邮件时收到了如下异常:

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.1 Client was not authenticated
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1829)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1368)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:886)
at javax.mail.Transport.send(Transport.java:95)
at javax.mail.Transport.send(Transport.java:48)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
at org.apache.commons.mail.Email.send(Email.java:1267)


solr使用自定义QParser后同义词扩展及Token去重的感悟

好久没写博客了。近期在用solr做一套系统,期间有不少心得尚未记录。这里先记录一下solr中自定义QParser如何与SynonymFilter和RemoveDuplicatesTokenFilter配合以实现检索时Token同义词扩展与Token去重。

起初按照solr wiki上的说明,在schema.xml里配置了如下filter:

Android SDK在Fedora 15 64bit上编译时调用platform-tools/aapt报异常的处理方法

在Fedora 15 64bit机器上编译android项目时,得到了这样的异常:

Execute failed: java.io.IOException: Cannot run program "/home/jnduan/android-sdk-linux_x86/platform-tools/aapt": java.io.IOException: error=2, No such file or directory

特意去那个路径下看了一下,aapt是存在的。于是手工执行了一下aapt,又得到了如下错误:

bash: /home/jnduan/android-sdk-linux_x86/platform-tools/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

看来,是因为android的SDK是32位的,它调用了一些32位系统的库,而这些库我的64位系统没有,于是出错了:(

于是google了一番,在Fedora的wiki上看到了解决办法:

Spring3 MVC使用@ResponseBody的乱码问题及解决办法

近日用Spring3的MVC写东西,深感其之于Webwork/Struts2的便利,但是在通过@ResponseBody这个annotation输出一个json字符串的时候,发现页面上获得的json字符串中文字符出现了乱码的现象。通过firefox观察返回的字符串,中文部分全部变成了???????的形式,初步判定是返回时,spring处理@ResponseBody使用了错误的编码。

因为我在web.xml中已经配置了Spring的CharacterEncodingFilter,并且强制将request和response的编码都指定为utf-8,所以出现乱码的原因肯定是在Spring内部某处的逻辑了。

把log4j中关于spring的输出级别调为debug,通过访问出问题的地址,发现Spring在处理@ResponseBody这个annotation的时候,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter使用了org.springframework.http.converter.StringHttpMessageConverter进行处理,于是打开了Spring的源码,看看这个类究竟做了哪些事情。

不看不要紧,一看吓一跳,里面竟然是这样定义其默认编码的:

Spring Roo的一些使用心得

Spring Roo作为一个快速的CRUD生成工具,还是很给力的。不过使用过程中,遇到了一些问题,在此记录下: