2011年9月 的存档

javascript中几种连接字符串效率的测试例子

2011年9月27日 没有评论

在javascript对应字符串的连接有三种方法,用的最多可能是”+=“,其次是concat函数,其实还可以借助array的join方法来完成字符串的连接。分别在浏览器IE6,firefox3.0,safari,chorme中测试,发现通过join的方式最快,其次是 +=,最慢的是concat方式。啥也别说了,直接上代码。

重要提示,IE6中可能会把浏览器卡死,如果要测试,请把initData中的100000修改一下,似乎1000就可以看到效果了!效果测试请点击这 里阅读全文…

imagemagick图片反色处理

2011年9月27日 2 条评论

图片反色处理通过convert的negate参数来实现,同时可以针对制定的区域进行反色。

  • 整个图片进行反色出来
convert -negate src.jpg negate.jpg

效果图如下:

原始图片 反色处理后图片

  • 部分区域反色

convert -region 100x100+0+0 -negate src.jpg negate-part-1.jpg

convert -gravity center -region 100x100+0+0 -negate src.jpg negate-part-2.jpg

注意:regoin参数需要在negate前,否则无法对指定的区域进行反色处理。另外关于gravity参数详细信息请参考:ImageMagicK之gravity参数详解

linux中配置的crontab不执行

2011年9月26日 1 条评论

在linux下提供的crontab可以很轻松的帮我们完成一些需要定时处理的任务。在某些系统下,明明通过terminal可以执行的动作,加入到crontab后却没有执行,检查配置也没有任何问题。最终发现是由于cron的运行环境(包括path等)可能不是和登陆的当前用户一致造成的,所以在配置crontab时,建议命令用完整路径。

分类: Linux 标签: ,

java如何调用系统命令

2011年9月26日 没有评论

java中可以通过Runtime来执行系统命令,大致操作如下:

Runtime rt = Runtime.getRuntime();
Process process = rt.exec("命令字符串");
//获取命令的输出
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;

while ((line = in.readLine()) != null) {
	System.out.println(line);
}

如果命令有错,把上述的process.getInputStream()替换成process.getErrorStream(),可以有效的获取操作系统给出的错误提示,帮我们分析命令出错的原因。

elipse的java项目获取项目的绝对路径

2011年9月26日 没有评论

在非web项目中需要获取项目在硬盘上的绝对路径,可以使用System.getProperty(“user.dir”)来获取。需要说明的事,这个值是运行java程序的当前目录,例如在D:\test下执行

java -classpath D:\workspace3.6\prj\target\mytest.jar;%classpath% com.demo.Test

这时得到的值是 D:\test

另外System.getProperty()参数大全如下:

java.version			Java Runtime Environment version
java.vendor			Java Runtime Environment vendor
java.vendor.url			Java vendor URL
java.home			Java installation directory
java.vm.specification.version	Java Virtual Machine specification version
java.vm.specification.vendor	Java Virtual Machine specification vendor
java.vm.specification.name	Java Virtual Machine specification name
java.vm.version			Java Virtual Machine implementation version
java.vm.vendor			Java Virtual Machine implementation vendor
java.vm.name			Java Virtual Machine implementation name
java.specification.version	Java Runtime Environment specification version
java.specification.vendor	Java Runtime Environment specification vendor
java.specification.name		Java Runtime Environment specification name
java.class.version		Java class format version number
java.class.path			Java class path
java.library.path		List of paths to search when loading libraries
java.io.tmpdir			Default temp file path
java.compiler			Name of JIT compiler to use
java.ext.dirs			Path of extension directory or directories
os.name				Operating system name
os.arch				Operating system architecture
os.version			Operating system version
file.separator			File separator ("/" on UNIX)
path.separator			Path separator (":" on UNIX)
line.separator			Line separator ("\n" on UNIX)
user.name			User's account name
user.home			User's home directory
user.dir			User's current working directory

本文参考了 http://yueguangyuan.iteye.com/blog/71940

分类: Java 标签: , ,

linux中去掉敲命令时用 tab 发出“嘀”的声音

2011年9月22日 没有评论

在linux下可能tab键是用的最多一个吧。在使用ls,cd等命令时使用tab可以帮我们减少很多键盘输入,比如我们要进入一个很长目录名的目录下,可能只需要敲入前几个字符,然后使用tab,这时整个目录名都帮补充出来了。如果有几个前面都相同的目录,它也会提示出来,有些系统下还会发出嘀”的响声,如果不喜欢这个声音,可以通过修改配置去掉它。用vi 编辑 /etc/inputrc 文件, 去掉 “set bell-style none”前面的#号,重启动系统即可!

分类: Linux 标签:

linux下删除文件名乱码文件

2011年9月22日 没有评论

linux下通过rm命令来删除文件,但是如果要删除文件名乱码的文件,就不能直接使用rm命令了,因为压根就无法输出文件名来。不过借助find命令可以实现对其删除。在linux下对于每个文件都一个对应的不变的inode号,使用 ls -li 可以查看到文件的inode号,同时find可以根据inode号来查找,另外find命令中可以执行其他的命令。删除的步骤如下:

  1. 通过ls -li 获取要删除乱码文件名文件的inode号,比如得到的是 123456
  2. 执行删除
find ./ -inum 123456 -exec rm -rf {} \;

注意:“{}”后要空一格再加上“\;”。

分类: Linux 标签: , , ,

find命令错误提示路径必须在表达式之前

2011年9月22日 没有评论

在某些版本的linux下,通过find查找当前目录下所有后缀名jpg的文件,命令为

find ./ -iname *.jpg

会出现“find: 路径必须在表达式之前”的错误提示。解决的方法有两种

  1. 使用转义符把*转义,即  \*.jpg
  2. 用引号引起来 ,即 “*.jpg”

注意:如果需要把find 的结果提交给while,例如:

`echo find ./ -iname "\*.jpg"` | while read f
do
   #do something
done

则既需要转义符,也需要引号

分类: Linux 标签: ,

eclispe下svn插件保存用户名密码的文件路径

2011年9月15日 没有评论

使用eclipse的svn插件来连接svn服务器,如果一旦记住密码,以后就不会提示输入用户名/密码了,如果要更换用户就比较麻烦了。svn插件是把用户的认证信息存放在硬盘上的文件中的,所以只要把找到该文件,把它删除即可。在window下,该文件的存放路径是

C:\Documents and Settings\Administrator\Application Data\Subversion\auth\svn.simple

注意:C:\Documents and Settings\Administrator\ 可能需要根据自己的实际情况调整, Administrator 是系统当前登录的用户。

在上述的文件夹下可能存在多个文件(每个不同的svn服务器对应一个),都是文本格式的,你可以用文本工具打开,可以在里面找到你需要修改用户的svn服务器信息,如果找到了,删除此文件即可。当再次连接svn服务器就会出现提示输入用户名和密码的对话框。

分类: Linux 标签: , , ,

在aws的ec2服务器上搭建nginx+php的环境

2011年9月8日 没有评论
  • 安装gcc编译器
yum -y install gcc
yum -y install gcc-c++
yum -y install make automake
  • 创建用户
useradd www
  • 安装 nginx

安装依赖的库

yum -y install pcre-devel openssl openssl-devel

下载nginx

wget http://nginx.org/download/nginx-1.0.6.tar.gz
tar -xvf nginx-1.0.6.tar.gz
./configure --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_perl_module
make && make install

注:若make出现如下错误: 阅读全文…

无觅相关文章插件,快速提升流量