回顾我的2011

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

今年的大事还是很多的:年初临过年的时候,跟媳妇回老家领了结婚证,顺便在她老家办了婚礼;4月下旬在青岛的瑟瑟海风中拍完了效果很一般的婚纱照外景(PS:我媳妇觉得别的姑娘的婚纱照都比她的好看: ( );国庆前在我家办完婚礼,顺道去云南旅游了几天,自己也土鳖一般的头一次坐了飞机。当然跟着旅行社组团旅游是绝对苦逼的,今后有机会绝对要自己对着攻略玩啊。

旅游归来后没多久,我和媳妇震惊的发现明年就要为人父母了,一点心理准备都没有,同时也意味着明年的很多计划都要泡汤了。不过我们还是喜悦的,我也有了各种压力:毕竟明年又多了一张吃饭的嘴啊,感觉钱挣多少都不够花。

同样也是年初的时候,确切的说是元旦放假期间,我的前雇主办公地址从西二环搬到了南五环外,后果是如果坐地铁的话来回要4个多小时,跟同事开车的代价则是每天来回130公里的路程外加4天加一箱油。就这样坚持了半年多的时间,由于也有些郁郁不得志的心情在里面,8月份在和前雇主劳动合同到期后我没有选择续约。面试了一些公司,拿到几个offer后,最终选择了京东商城。

现在虽然没法来评判我在几个offer中间的选择是不是最好的,但是可以明确的就是自己下半年的进步远比上半年要大。但是京东的工作强度也理所当然要比前雇主那边强,副作用就是练了快一年的吉他又荒废了半年,完全退化到不会弹了。我经常在想是不是请一个老师来辅导一下,不过如今每天练半小时的练习时间都难保证,也不知道啥时候才能自己弹几个小曲儿娱乐娱乐。

今年乔帮主逝世了,而我也有像果粉发展的强烈趋势:4月份给媳妇买了iphone4,8月份给自己买了ipad2,12月又败了台Macbook Air13寸的高配。用了Mac OS X后,我深深的被Mac的体验震撼了,觉得前十来年的电脑基本算是白用了;在Mac上学着写Objective-c代码也给我打开了一扇新的门,原来写c代码也能这么轻松好玩。

放眼2012年,假如玛雅人的预言是真的,那就只有这最后一年可以奋斗了,因此在这一年里:

1.继续深入了解搜索技术,同时一些与搜索相关的文本处理技术也要多学习。

2.工作态度上要更积极,最近发现自己一个不好的毛病就是怕迎难而上,这个一定要改。

3.利用业余时间做几个Mac下的程序,并开源。

4.吉他一定要坚持练。

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

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

首先先保证内核是最新的

su root
yum update kernel* selinux-policy*
reboot

重启后添加RPMFusion的yum源: [阅读全文]

WordPress实现HTML5预加载

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

 

<?php if ($paged < $wp_query->max_num_pages) { ?>
<link rel="prefetch" href="<?php echo get_next_posts_page_link(); ?>">
<link rel="prerender" href="<?php echo get_next_posts_page_link(); ?>">
<?php } else { ?>
<link rel="prefetch" href="<?php bloginfo('home'); ?>">
<link rel="prerender" href="<?php bloginfo('home'); ?>">
<?php } ?>

 

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)

[阅读全文]

Tags:

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

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

起初按照solr wiki上的说明,在schema.xml里配置了如下filter: [阅读全文]

Tags: ,

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上看到了解决办法: [阅读全文]

Tags: ,

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的源码,看看这个类究竟做了哪些事情。

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

Tags: ,