写在感恩节前夕

这是个西方的节日,无论是什么节日,都是一种提醒。

每天要感谢父母,感谢给自己生命:
每天要感谢家人,感谢给自己快乐;
每天要感谢同事,感谢给自己帮助。

最近看了一部电影《love actually》,中文翻译真爱至上,里面的那段话说得很好:

每当我对世界的现状感到担忧,我就会想到希思罗机场的接机厅。很多人都开始觉得我们生活在仇恨与贪婪中,但我并不这么认为。在我看来,爱无处不在。通常它并不光辉夺目或者具有新闻价值,但它始终存在——父子,母女,夫妻,男朋友,女朋友,老朋友。飞机撞上双子楼的那一刻,据我所知没有一通来自航班上的通话传递的是仇恨或复仇——全都是,爱的讯息。只要你用心去看,我觉得你会发现,实际上,爱无处不在。

只是电影永远是人们抽取的生活的一部分并删掉的一部分的那部分,但仍然为那一部分努力着。

每天快乐多一点,幸福多一点。

IE8下表单输入框及其输入的字很小的解决办法

前段时间,一位朋友出现在表单填写中发现输入框变形,并且输入的字很小。一般出现这种情况的有以下2种:
1、windows使用了第三方主题。将主题设置为windows默认,重启IE,再看下是否还会出现这种情况。
2、检查ie的Internet选项中的辅助工具中是否使用了第三方样式。

SQL Server的JDBC驱动问题

最近公司换服务器把数据库从SQL Server 2005 升级到 SQL Server 2008。这样,以这个数据库对接的两个系统全部瘫痪,无法进行数据库对接。
首先立即判断是是数据库的驱动问题,好不容易从网上找到了了驱动,下载下来,发现里面有两个文件一个是sqljdbc.jar,另外一个是sqljdbc4.jar,于是将驱动换掉,两个全部导进去,加到CLASSPATH路径,发现,还是不行。两个系统分别出现以下错误:

Exception in thread “main” java.lang.UnsupportedClassVersionError: Bad version number in .class file
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
 at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:164)
 at com.peak.batch.commodityimport.CommodityInfoImport.importOrderInfo(CommodityInfoImport.java:649)
 at com.peak.batch.commodityimport.CommodityInfoImport.main(CommodityInfoImport.java:108)

java.lang.UnsupportedOperationException: 此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库。
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.(SQLServerConnection.java:223)
 at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:840)
 at java.sql.DriverManager.getConnection(DriverManager.java:582)
 at java.sql.DriverManager.getConnection(DriverManager.java:185)
 at com.epeaksport.imports.ImportStock.importGoods(ImportStock.java:73)
 at com.epeaksport.imports.ImportStock.execute(ImportStock.java:35)
 at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
 at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)

后来仔细看了帮助文档,发现以下这段话:

JAR 说明
sqljdbc.jar sqljdbc.jar 类库提供对 JDBC 3.0 的支持。sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。 

注意注意:

JDBC Driver 2.0 不支持 JRE 1.4。使用 JDBC Driver 2.0 时必须将 JRE 1.4 升级至 JRE 5.0 或更高版本。在某些情况下,您可能需要重新编译应用程序,因为它可能与 JDK 5.0 或更高版本不兼容。有关详细信息,请参阅 Sun Microsystems 网站上的文档。

sqljdbc4.jar sqljdbc4.jar 类库提供对 JDBC 4.0 的支持。它不仅包括 sqljdbc.jar 的所有功能,还包括新增的 JDBC 4.0 方法。sqljdbc4.jar 类库要求使用 6.0 或更高版本的 Java 运行时环境 (JRE)。在 JRE 1.4 或 5.0 上使用 sqljdbc4.jar 会引发异常。 

注意注意:

如果应用程序必须在 JRE 6.0 上运行,即使该应用程序不使用 JDBC 4.0 功能,也应使用 sqljdbc4.jar

于是,明白,前一个去掉驱动JDBC4.JAR,后一个去掉JDBC.JAR,搞定。

JDBC,Jar包下载地址:

http://go.microsoft.com/fwlink/?LinkId=144635&clcid=0×804

jQuery的Ajax在表单上的运用

jQuery的特点是它的使用起来简单,下面介绍一个今天写的表单实例。
1、引入jQuery。

2、验证和提交的代码

function Check() {
	//验证
	if($("#mobile").val()=="" ||$("#uniquecode").val()=="" || $("#textCode").val()==""  ) {
		alert("手机号、唯一码、验证码不得为空");
		return false;
	} else {
		return true;
	}

}

function LoginSuccess() {
	$.post("get_check.php",{"mobile":$("#mobile").val(),"uniquecode":$("#uniquecode").val(),"textCode":$("#textCode").val()},function(data) {
		alert(data);
		$("#mobile").val("");
		$("#uniquecode").val("");
		$("#textCode").val("");
		$("#randomcode").attr("src","doimg.php");
	})

}

function Login() {
	if(Check()) {
		LoginSuccess();
	}
}

$(document).ready(function() {
	$("#submitbutton").click(function(){
		Login();
	})
})

3、DEMO http://vip.peaksport.com

磁盘碎片整理提示要运行Chkdsk /f的处理方法

硬盘处理要进行碎片整理时候,如果出现一个写“磁盘碎片整理提示要运行Chkdsk /f”的对话框,那么处理方面如下:
1、打开运行,输入Chkdsk /f ,在命令行中填写n,回车
2、重启电脑。

nslookup实例用法

1、查询A记录

C:UsersAdministrator>nslookup peaksport.com
 服务器:  UnKnown
 Address:  10.0.3.1
 非权威应答:
 名称: peaksport.com
 Address: 122.226.206.254
 

2、查询MX记录

C:UsersAdministrator>nslookup -type=mx peaksport.com
 服务器:  UnKnown
 Address:  10.0.3.1

非权威应答:
 peaksport.com   MX preference = 10, mail exchanger = mail.peaksport.com

mail.peaksport.com      internet address = 210.75.241.17
 

3、查CNAME记录

C:UsersAdministrator>nslookup -type=cname www.9e9e.com
 DNS request timed out.
     timeout was 2 seconds.
 服务器:  UnKnown
 Address:  10.0.3.1

非权威应答:
 www.9e9e.com    canonical name = dns.peaksport.com
 

4、查NS记录

C:UsersAdministrator>nslookup -type=ns peaksport.com
 DNS request timed out.
     timeout was 2 seconds.
 服务器:  UnKnown
 Address:  10.0.3.1

非权威应答:
 peaksport.com   nameserver = ns1.mydnspod.com
 peaksport.com   nameserver = ns2.mydnspod.com

ns1.mydnspod.com        internet address = 60.210.98.139
 ns1.mydnspod.com        internet address = 222.173.227.78
 ns1.mydnspod.com        internet address = 121.14.220.190
 ns2.mydnspod.com        internet address = 121.11.69.12
 ns2.mydnspod.com        internet address = 124.131.220.211
 ns2.mydnspod.com        internet address = 222.173.227.82

MySQL的mysqldump常用的语句

MySQL数据库备份一般使用phpMyAdmin,但是对于数据量比较大的时候,使用phpMyAdmin就不合适了。一般推荐使用命令行中的dump进行,而且在Linux环境下,可以使用crontab进行定期备份,减少人工的操作。

1、备份所有的数据库,可以使用以下语句


/usr/local/webserver/mysql/bin/mysqldump -uroot -p123456 –all-databases >/data/mysql_backup/data/data.sql –default-character-set=utf8

如果要自动按照日期备份可以把文件名稍作修改,变为


/usr/local/webserver/mysql/bin/mysqldump -uroot -p123456 –all-databases >/data/mysql_backup/data/$(date -d “yesterday” +”%Y%m%d”).sql –default-character-set=utf8

就可以生成昨天的备份,这样就可以配合crontab使用。

2、备份单个数据库


/usr/local/webserver/mysql/bin/mysqldump -udumpmysql -pdumpmysqlpeak123  shopping >shop.sql  –default-character-set=utf8

3、备份单个表

/usr/local/webserver/mysql/bin/mysqldump -uroot -p123456   shopping   peak_users >user.sql  –default-character-set=utf8

MySQL出现No space left on device导致的无法启动

昨天,在服务器拷贝一个目录的备份后,发现:MySQL无法使用,重启后,也无法启动,出现以下错误:

[root@localhost data]# 091011 10:35:27 mysqld_safe mysqld process hanging, pid 14736 – killed
 /usr/local/webserver/mysql/bin/mysqld_safe: line 137: 14736 已杀死 nohup /usr/local/webserver/mysql/libexec/mysqld –defaults-file=/data/mysql/3306/my.cnf –basedir=/usr/local/webserver/mysql –datadir=/data/mysql/3306/data –user=mysql –log-error=/data/mysql/3306/data/localhost.localdomain.err –pid-file=/data/mysql/3306/data/localhost.localdomain.pid –socket=/tmp/mysql.sock –port=3306 < /dev/null >> /data/mysql/3306/data/localhost.localdomain.err 2>&1

查看一下localhost.localdomain.err,发现

Can’t start server: can’t create PID file: No space left on device

目录下的localhost.localdomain.pid也没出现。

但是free查看了一下,该分区的空间还很大。不应该出现这个情况。

网上搜索了一下资料,可能是因为inode不足,于是df之后发现,果然,该分区使用了100%,删除一些文件后,重启下MySQL,搞定!

一般情况下,如果硬盘空间还很大,系统却提示不能创建文件和目录,那可能就是因为该分区有很多小文件。

inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

除了删除部分没用的文件,网上还有一种操作方法是,链接到其他有空余inode分区

ln -s /opt/newcache /data/cache

固执的坚持

刚刚从徐MM转载了一篇文章—蜘蛛的爱情。不禁想起刚看完的连续剧《白领公寓》。

1、白领公寓里讲的主要是珍惜眼前人。有时候,人固执的坚持自己心中的一个梦想,带着这个理由去做这些事情,可是事实上这些并不是真正适合他的。

2、另一个方向:两个长久相爱的人也不一定是真正的合适,是否也是一种固执的坚持,觉得说既然在一起就要一直的坚持,可事实上真正和他合适的,可以天长地久的在旁边的那一位。从这个角度,我们是否说:允许“正当”(建立在爱情基础上的)的第三者存在?我想,这也是n年的感情比不上n天的感情的理由吧。

3、天长地久,地久天长,每个真正在恋爱的人的共同想法。只是,一部电视剧之所以令人感动,那是因为里面拥有了自己得不到或者达不到的东西,如果每个人都是梁山伯和祝英台,那么梁山伯和祝英台就不会流传千古了。

4、爱情是永远没有一个真正的答案,永远是一个永远的矛盾。

5、我想,所有的在一起都应该鼓励,所有的分开都是合理。

6、电视看多了,发发牢骚。(__) 嘻嘻……

WPS的“信息权限管理”无法访问

个人认为:“信息权限管理”(KRM)是金山的一大亮点,信息管理是wps2005利用XrML让用户通过登陆金山通行证来进行保护文档中的内容。相对应的是微软的IRM,但微软的IRM指提供试用。这也是我为什么一直选用wps的原因。

但从WPS2007起,金山开始不提供KRM模块,在竞争如此激烈的办公软件市场,能够为用户提供更多贴心的服务的产品,才能赢得用户的认可。

打开Openoffice,看其介绍的特性(OpenOffice.org 特性),每一点都是从技术的角度去阐述自己有多好,但一款产品不在于你提供多高的技术,而在于你提供多大的价值。我觉得,这对于每个软件开发人员都应该注意的。

希望金山尽快恢复该服务,打了客服电话,金山的客服还不错,赞一个!但希望能解决问题!