你还在使用Log4J么?可以换换口味了。SLF4J/Logback。

目前的Java项目中,Log系统清一色的是使用common-logging/Log4J。最近看到网上有推荐SLF4J/Logback。看了看,原来是Log4J的作者另起炉灶搞的一个东东。据评测在执行效率,和使用上都大大超过了Log4J,看来Log4J一统天下的局面将成为过去了。
使用的时候,可以将SLF4J看成原来的common-logging,Logback看成原来的Log4J。在你的工程中,你所要应用的类包如下:
logback-classic-0.9.15.jar    logback和slf4j的连接包
logback-core-0.9.15.jar    logback本体
slf4j-api-1.5.6.jar    SLF4J本体
使用方法:


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Logger logger = LoggerFactory.getLogger(App.class);
        logger.debug("Hello world!");
        logger.info("Hello world!");
        logger.warn("Hello world!");
        logger.error("Hello world! {}", "test");


如果你的项目中已经使用了common-logging,那么你也可以利用一个SLF4J的桥接,让其以Logback的实现输出。你需要的仅仅是加入一个桥接包:
jcl-over-slf4j-1.5.6.jar

关于Log输出的配置文件的写法,详细的在Logback主页有说明。大致和Log4J的写法类似。

END
... Read more!

Linux下转换chm工具

在linux下面,可以将chm文件转换为html源文件。
比如ubuntu下面


$ sudo apt-get install libchm-bin
$ extract_chmLib book.chm outdir

END
... Read more!

不准继续污辱中国人

读余大师的这篇文章:不准继续污辱中国人

对于那些给中国人民抗震救灾“抹黑”的人,余大师大义凛然地指责到:“美国没有人这样说,法国没有人这样说,日本没有人这样说,连台湾也没有人这样说。这次地震一周年,世界各国媒体又都来了,也没有一个记者这样说。但是,有几个黄皮肤、黑头发的中国人却这样说了,而且在国际媒体上振振有词。世界历史上很多地方都发生过地震,造成的生态灾难各有记述。去年的512地震,是历史上发生在人口密集地区的最严重的一次,直到今天,居然没有出现任何瘟疫、饥荒、逃亡、难民,这是全世界有目共睹的奇迹。为什么一定要闭着眼睛否认这个发生在自己祖国的奇迹,却去玩弄什么“生灵涂炭、哀鸿遍野”的词汇去诓骗外人呢?你作为中国人的良心放到哪里去了?”
END
... Read more!

OpenVPn超级不错

为了连接inernet中两个不同的内网,vpn是一个不错的选择。刚开始使用的是PPTP,发现不少问题,其中稳定性是最让人头痛的。当然问题的原因可能是设置,或者是防火墙。折腾了好几天已经让人近乎于崩溃了。看到很多人提到OpenVPN,起初是一种比较抵制的心理,因为客户端的配置看上去相对来说复杂了不少。但是实际使用了一下,觉得太爽了,稳定性目前来讲是无可挑剔。设计的思想也很先进,TUN+TSL。安全性也是超一流。严重推荐。
END
... Read more!

macbook远程登录ubuntu,在zsh下backspace键设置问题

ubuntu上一直用bash,最近恋上了zsh,于是ubuntu上的默认终端也改成了zsh。但是从macbook上登录后发现,backspace键不起作用了。以下是解决方案:

1. 在mac的Terminal终端上点击Terminal → Preferences → Settings → Advanced.
2. 将"Declare terminal as:"的"rxvt"改为"xterm-color."
3. 选中"Delete sends Ctrl-H"

END
... Read more!

OpenVPN中[ECONNREFUSED]: Connection refused (code=111)问题的解决

配置完Openvpn后,也顺利能够连接上服务器,但是观察服务器端的连接日志,里面有一大片如下的信息:

[ECONNREFUSED]: Connection refused (code=111)

而且是连续不断的出现,每条日志相隔不过几秒。搜索了一下,有提出如下解决方案:
On server:
ping 10
ping-restart 120

On clients:
ping 10
ping-restart 60 
但是记住,如果原先设置了
keepalive 10 210
得把其注释掉。
END
... Read more!

让你的manpages拥有丰富的色彩

在默认状态下man命令出来的page页都是单纯的黑白的。可以通过定制terminfo信息丰富其色彩。
在你的主目录中,


$ mkdir ~/.terminfo/ && cd ~/.terminfo
$ wget http://nion.modprobe.de/mostlike.txt
$ tic mostlike.txt

修改~/.bashrc,或者你对应的脚本文件,加上这行:alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"
END
... Read more!

JSF中,文件的下载

1) 生成要下载的临时文件
2) 页面增加 iframe:


<iframe name="download_frame" id="download_frame" style="display:none" src="download.faces">  
  • </iframe>  

  • 3) download.jsp 检查 session,如果 session 有下载的文件名,读文件写到 response。
    或者使用类似于shale的remote方法,直接往response中写文件。
    END
    ... Read more!

    两张异样的图

    DSC_0038
    DSC_0076

    两张异样的图。
    END
    ... Read more!

    GW、山梨、八ヶ岳(4)

    DSC_0231DSC_0230DSC_0234DSC_0242DSC_0236DSC_0241DSC_0249DSC_0252DSC_0251DSC_0257DSC_0254DSC_0255DSC_0253DSC_0256
    ... Read more!

    GW、山梨、八ヶ岳(3)

    DSC_0157DSC_0163DSC_0160DSC_0167DSC_0174DSC_0176DSC_0173DSC_0175DSC_0172DSC_0193DSC_0192DSC_0194DSC_0198DSC_0197DSC_0196DSC_0200DSC_0201DSC_0202DSC_0207DSC_0205DSC_0206DSC_0213DSC_0212DSC_0214DSC_0224DSC_0222DSC_0223DSC_0220DSC_0217DSC_0219DSC_0221DSC_0218DSC_0248DSC_0229DSC_0247DSC_0239DSC_0228DSC_0226DSC_0245DSC_0238DSC_0243DSC_0232DSC_0225DSC_0227DSC_0246DSC_0235DSC_0233DSC_0240DSC_0244DSC_0237
    ... Read more!