Leo Wang's Notepad

重新开始

2015年上半期的自我评价和上司面谈结束了。

科长一如既往的说你稍微改一下这个写法就可以了,如果没有意见我们就谈到这把。

我说科长且慢,“中长期职业规划”您看了没,我写了一些。

然后引出了离职的话题,科长说那实在是很遗憾,我会跟部长汇报的,下周给你消息。

 

然后,我就这么提出了辞职。

 

职业生涯刚刚起步,当初心急火燎的进了公司,心想背靠一个大公司,自己应该会得心应手吧。

可这两年过去了,每一天想的都是我他妈为什么在这里浪费时间。

又想起nissan的广告词,说的太让人心潮澎湃。

2種類の人間がいる。
やりたいことやっちゃう人とやらない人。
やりたいことやってきたこの人生。
おかげで痛い目にもあってきた。
散々恥もかいてきた。
誰かの言うことを素直に聞いてりゃ、
今よりずっと楽だったかもしれない。

でもね、これだけは言える。
やりたいことやっちゃう人生のほうが、間違いなく面白い。
俺はこれからもやっちゃうよ
あんたはどうする?

Windows下SQL Server2008的定时备份策略

在windows下对SQL Server2008数据库进行定时备份,需要做以下工作:

1.编写备份数据库的bat文件,内容形似:

backup database testdb to disk=’d:\backup\testdb.bak’  >> .\backup.log

2.编写copy数据库备份文件并重命名的bat文件,形似:

SET DT=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

COPY D:\backup.bak  D:\backup%DT%.bak >> .\copy.log

2.建立两个windows计划任务,分别选定时间和周期执行上述备份bat文件。

这样就可以实现sql server的定时备份策略了。…

Spring+Struts2+Hibernate 整合Extjs时无法读取json数据的问题之解决办法

在SSH和Extjs的整合过程中,需要Grid从服务器端读取json格式的数据显示在前端,在action的class中配置了service属性,并通过spring对该service进行注入。

 

Cookie 无法保存的另一个可能原因

在项目中需要往cookie中写数据,之前遇到的问题是如果写入的内容超出了单个cookie的大小限制(4096字节,4KB),则服务器端的response就会异常。

今天的问题则是,虽然已经把很长的内容分割成立个好几段,并分别写入了不同的cookie中,但服务器端同样不能正常响应。

查资料得知,不知浏览器对同一个站点的cookie的个数,单个cookie文件的大小有限制,服务器还对每一次请求的httpheader的大小有限制。

对tomcat服务器来说,需要修改server.xml中的响应配置,在形如

[sourcecode language=”xml”]
<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ maxHttpHeaderSize=”40960″/>

[/sourcecode]

的部分进行相应配置,上面的maxHttpHeaderSize就规定了本服务器可以处理的HttpHeader的大小上限为40KB。

 …

Struts2无法写Cookie的原因分析

在struts2项目中,希望把用户的表单输入保存在本地,而不是保存在数据库上,于是想到了cookie。

在action中可以这样写:

[sourcecode language=”java”]

Cookie cookie=new Cookie("myCookie","cookieContent");

cookie.setMaxAge(3600*24);//过期时间为一天

ServletActionContext.getResponse.addCookie(cookie);

[/sourcecode]

但是始终不能保存到客户端的硬盘上,刚开始的时候以为cookie的读写操作只能写在jsp页面中,或者只能通过javascript来操作,

后来发现不是这么回事。

关键的原因在于cookie是有大小限制的,如果想写入的内容超过了4KB,写操作便不能完成。

Microsoft Internet Explorer 符合以下的 RFC 2109 推荐最小限制:

  • 至少 300 的 cookie
  • 至少每 cookie (如构成 cookie 非终端设置 Cookie 标头的语法描述中的字符的大小为单位) 的 4096 字节
  • 至少 20 cookie,每个唯一的主机或域名

Extjs 在IE8中 GridPanel日期显示异常的处理

Extjs3.4的GridPanel在IE8中会出现日期无法render的现象,要解决这个问题,需要在 store的reader的column相应的字段上加上如下代码

Apache + Tomcat Error 10054/10060/10061/10062的解决办法之一

公司的Dev-Server用来部署测试版应用程序,需要访问DB-Server来进行数据库操作。

之前一直没有问题,自从公司搬家之后Dev-Server便开始出现问题。

Dev-Server上本来部署着4个网站,其中的两个是访问安装在Dev-Server本机上的数据库,这两个没有什么问题。

但是剩下的两个需要访问DB-Server,于是便出现了下面的问题。

凡是涉及到数据库的操作均无法进行。查看tomcat的log文件没有发现任何错误。查看apache的log文件则提示如下错误:

[Tue Nov 22 20:14:10 2011] [error] ajp_read_header: ajp_ilink_receive failed [Tue Nov 22 20:14:10 2011] [error] (120006)APR does not understand this error code:  proxy: read response failed from 127.0.0.1:8009 (localhost)

紧接着这两行错误之前的还有诸如(OS 10060)(OS 10054) (OS 10062)之类的错误。

这些错误的定义可以在MSDN的文档中查到。具体的原因有连接超时,连接被中断等等。。。…

Office2010中各种文件对应的application/vnd mime type

  • .docm:application/vnd.ms-word.document.macroEnabled.12
  • .docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • .dotm: application/vnd.ms-word.template.macroEnabled.12
  • .dotx: application/vnd.openxmlformats-officedocument.wordprocessingml.template
  • .ppsm: application/vnd.ms-powerpoint.slideshow.macroEnabled.12
  • .ppsx: application/vnd.openxmlformats-officedocument.presentationml.slideshow
  • .pptm: application/vnd.ms-powerpoint.presentation.macroEnabled.12
  • .pptx: application/vnd.openxmlformats-officedocument.presentationml.presentation
  • .xlsb: application/vnd.ms-excel.sheet.binary.macroEnabled.12
  • .xlsm: application/vnd.ms-excel.sheet.macroEnabled.12
  • .xlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • .xps: application/vnd.ms-xpsdocument
  • .potm: application/vnd.ms-powerpoint.template.macroEnabled.12
  • .potx: application/vnd.openxmlformats-officedocument.presentationml.template
  • .ppam: application/vnd.ms-powerpoint.addin.macroEnabled.12
  • .pptm: application/vnd.ms-powerpoint.presentation.macroEnabled.12
  • .xlam: application/vnd.ms-excel.addin.macroEnabled.12
  • .xlsb: application/vnd.ms-excel.sheet.binary.macroEnabled.12
  • .xltm: application/vnd.ms-excel.template.macroEnabled.12
  • .xltx: application/vnd.openxmlformats-officedocument.spreadsheetml

使用Hibernate调用存储过程,及简单的实体映射

在使用Hibernate+Struts2进行项目开发的时候,有时需要对数据库中的多个表进行连接操作。

为了减少访问数据库的次数,可以将连接表的操作写入到procedure即存储过程当中。

通过procedure进行多个表的连接,然后返回查询结果。

查询结果中包含原本属于多个实体的多个属性。

于是可以构建一个实体类 MyEntity,在hibernate的MyEntity.hbm.xml中可以这样写:

Extjs中文件下载的实现以及Ajax异步问题

一开始想通过Ajax异步方式(Ext.Ajax.request())实现文件下载,却一直没有成功。

在firebug中查看response的时候,发现Ajax异步方式,服务器端将文件的2进制流写入了XMLHTTPRequest对象,于是一直无法将文件取出。

其实一开始的时候思路就是错的,下载文件不能通过异步方式实现。

那么怎样在Extjs中实现Ajax式(不刷新页面,只弹出下载对话框)的下载呢?

只需要在body中创建一个隐藏(hidden)表单(form)就可以了。

比如下载按钮的handler可以写成下面这种形式: