2010年07月 存档

JCreator打包JAR可执行文档

2010年07月8日,星期四

将Java编译后的class文件打包成jar文件以后就可以在windows下直接双击执行了,看起来比较帅。

单击Configure菜单,选择Options,在弹出的对话框左边选择Tools,然后在右边选择New,在弹出的下拉菜单中选择Create Jar file。

jcreator

然后Tools下就会多了一项Create Jar file选项。单击它就会看到这个选项的命令和参数。但是这样默认生成Jar文件的MANIFEST.MF会缺少Main-Class,所以我们需要改一下默认的命名。默认的Arguments为

cvf $[PrjName].jar .

jcreator

我们将其改成

cvfe $[PrjName].jar $[PrjName] .

jcreator

这样生成的Jar文件中的MANIFEST.MF就包含Main-Class了。写个程序测试一下

import javax.swing.*;
 
public class hello {
    
    public static void main(String[] args) {
    	
    	JOptionPane.showMessageDialog(null,"Hello world!");
    }
}

编译好以后选择Tools->Create Jar file,就会在hello.class文件的目录中生成hello.jar文件,双击就会弹出对话框。Java写的界面真难看。

iesetup.exe无法找到入口

2010年07月7日,星期三

某天帮别人弄电脑,把IE6升级到IE8,下载好安装程序运行时却弹出“iesetup.exe无法找到入口,无法定位程序输入点SHRegGetvaluew于动态链接库SHLWAPI.DLL上”,Google了一下“iesetup.exe无法找到入口”,又是乱七八糟的答案,说什么换个浏览器,别用垃圾的IE。推荐用Firefox,Chrome什么的我没有话说,有XX推荐用360浏览器的,笑而不语。

后来查了一下IE8的微软官方下载地址,发现系统要求写着Windows XP Service Pack 2; Windows XP Service Pack 3。而那台电脑的系统是Windows XP Service Pack 1的,怪不得装不上。升级到SP3就可以了,作文以记之。

Ubuntu下安装Lighttpd+PHP+MySQL

2010年07月6日,星期二

Lighttpd是轻量级的网页服务器软件,相较于其他的网页服务器,lighttpd仅需少量的内存及CPU资源即可达到同样的效能。与FastCGI下的PHP组合非常的完美。

安装包Lighttpd和PHP

sudo apt-get install lighttpd php5-cgi

启用FastCGI模式

sudo lighty-enable-mod fastcgi

重启Lighttpd进程

sudo /etc/init.d/lighttpd force-reload

安装MySQL

sudo apt-get install mysql-server

安装PHP的MySQL模块

sudo apt-get install php5-mysql

再重启一次Lighttpd进程就行了

Ubuntu从NTP服务器同步时间

2010年07月5日,星期一

曾经的曾经,那台Ubuntu服务器的时间老是越走越快。我只看过一点点Ubuntu的书,于是问了一下I大,他给了个链接给我,太长了就懒得看。以下翻译自Ubuntu官方文档

本页描述的是让你的电脑时间保持准确的方法。这对服务器是有用的,但是对桌面机器就没有必要了。

NTP协议是一个为了从网络上同步时间的TCP/IP协议。简单的说,就是客户端向服务器请求当前时间,然后用它来设置本地时间。

……(这里忽略一段)

Ubuntu有两种自动调整时间的方法:ntpdate和ntpd

ntpdate

ntpdate是Ubuntu标准的一部分,并且在开机时会运行一次,根据Ubuntu的NTP服务器设置你的时间。然而,一台服务器的时间在两次重启之间很可能会有很大的偏差,所以偶尔校正一下时间是很有意义的。最简单的方法就是通过cron每天运行一次ntpdate。用你最喜欢的编辑器,以root权限创建一个文件/etc/cron.daily/ntpdate,包含

ntpdate ntp.ubuntu.com

/etc/cron.daily/ntpdate文件必须是可执行的

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

ntpdate是一个很粗钝的工具——它只能每天校正一次时间,以一个很大的程度。(译者注:文档上面是这么写的,但是我觉得好像不对吧,可以每小时运行一次啊)ntp守护进程ntpd更加的细微。它计算会你系统时钟的偏差并持续的校正它,所以不会有会导致不持续的日志的很大程度的校正。代价是消耗很小的处理能力和内存,但是对于现代的服务器来说这是微不足道的。

安装ntpd:

sudo apt-get install ntp

……(改变时间服务器的省略)

译者:看得懂和翻译得好之间还是有很大差距的……

用JavaScript实现PHP的urldecode函数

2010年07月4日,星期日

之前写过一篇《用JavaScript实现PHP的urlencode函数》,然后今天查看博客访问量的时候发现了一个来自百度知道的引用。我说过,我很讨厌百度知道之类的东东,理由我就不说了,你打开上面的链接就知道了。别人问的明明是用php的urlencode函数编码以后的东西用JavaScript怎么解码,下面的人给了我文章的链接,我写的可是怎样用JavaScript实现php的urlencode编码啊。问题都不看清楚就乱回答,还说什么“单独写个函数解决这问题”,又不给出代码。别人会写的话还问你做什么?

不要跟我提JavaScript的decodeURI函数,我在之前的文章说过,这个和php的urldecode函数根本不是一回事。下面是我根据高人的代码改写的JavaScript版的urldecode函数,参考的链接在开头提到的文章中有,就不一一列举了。和之前的urlencode函数一样,只实现了utf-8版的。

在线演示(注意在博客首页无法演示)


代码下载地址:

[download id=26]