行云无鸣

2011-09-07

Eclipse下清理”Open Perspective”菜单

Filed under: 乱语 — 标签:, — hellyguo @ 16:36

步骤:

菜单->Windows->Close All Perspectives

这样,就会关闭所有的perspective,然后点击界面上的按钮选择一个需要打开的perspective即可

2011-09-06

JavaScript下Date的setMonth默认参数导致的bug

Filed under: 乱语 — 标签:, , — hellyguo @ 14:35

Bug表现:
var now = new Date();
now.setYear(2011);
now.setMonth(8);
now.setDate(1);

出来的不是想象的2011.9.1,而是2011.10.1。
确认是bug,1.31->2.1,8.31->9.1,10.31->11.1 三个日期会导致bug触发
解释如下:
——–

setMonth 方法
设置 Date 对象中用 本地时间表示的月份值。

dateObj.setMonth(numMonth[, dateVal])

参数
dateObj

必选项。任意 Date 对象。

numMonth

必选项。一个等于月份值的数值。

dateVal

可选项。一个代表日期的数值。如果没有提供此参数,那么将使用通过调用 getDate 方法而得到的数值。

——–
8.31调用取下一个月的日期时,由于js代码中是采取year,month,date逐项输入的方式
第一个setYear输入year时,正确,无误;
第二个setMonth,在只输入month时,存在隐含变量date,值为当前值31。这时,输入8代表9月时,又带上了31代表31号。日历上没有9.31,就自动跳到了10.1。导致bug的发生。
修改方法:
1.直接调用有参构造函数var now = new Date(2011,8,1)
或者
2.采用setMonth(month,1)

2011-08-15

打造一个快捷打开应用程序的页面

Filed under: 乱语 — 标签:, , , , — hellyguo @ 22:05

一直希望在Windows下快捷地运行程序,可惜始终找不到合适的快速启动软件来管理我如许多的应用。用过AltRun,可惜总不顺眼。还是坚持使用HoeKey。但软件多了,HoeKey管理热键就越来越多,和其他软件的冲突也越来越多,得不偿失了。为此,HoeKey就只精简地使用打开浏览器(firefox/chrome/ie)/邮件客户端(thunderbird)/TM/CMD几项。其他的程序,就是采用Run(win+r)来打开的。

今天突发奇想,能否在浏览器上做文章,通过编写一张固定的页面来实现程序的调用。尚幸,在IE/Firefox下轻松实现了。

  1. 我的程序,常用的都放在D:\GreenSoft下,通过TM的Alt+F7,查找出所有其下的Exe文件,打开为列表
  2. TM下,Ctrl+a全选,Ctrl+3拷贝全路径
  3. 将记录插入VIM中
  4. 通过正则表达式替换将路径替换为html项
    使路径中的斜杠变为双斜杠,在JS中能正常使用
    %s/\\[A-Za-z]/\\\\\1/g
    将路径扩展为html
    %s/\(.*\)/<li><a href="#" onclick="exec('\1')">\1<\/a><\/li>/g
  5. 添加javascript
    for ie

    function exec(strPath){
    try {
    var objShell = new ActiveXObject("wscript.shell");
    objShell.Run(strPath);
    objShell = null;
    }
    catch (e) {
    alert('找不到文件"' + strPath + '"(或它的组件之一)。请确定路径和文件名是否正确.')
    }
    }

    for firefox

    function exec(strPath){
    try {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath(strPath);
    file.launch();
    }
    catch (e) {
    alert(e)
    }
    }
  6. 保存此页面

效果:
在浏览器打开此页面,通过Ctrl+F定位后,点击执行即可
最后,附上最简单的调用cmd的页面代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GreenSoft可执行文件列表</title>
</head>
<script type="text/javascript">
function exec_ieonly(strPath){
try {
var objShell = new ActiveXObject("wscript.shell");
objShell.Run(strPath);
objShell = null;
}
catch (e) {
alert('找不到文件"' + strPath + '"(或它的组件之一)。请确定路径和文件名是否正确.')
}
}
function exec(strPath){
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(strPath);
file.launch();
}
catch (e) {
alert(e)
}
}
</script>
<body>
<div>
<ul>
<li>
<a href="#" onclick="exec('C:\\Windows\system32\cmd.exe')">cmd</a>
</li>
...
</ul>
</div>
</body>
</html>

2011-08-08

Maven管理的项目下加入Mina报错解决

Filed under: 乱语 — 标签:, , , — hellyguo @ 20:11

项目中依赖mina
加入mina后,发现报错:
内容
            <dependency>
                 <groupId>org.apache.mina</groupId>
                 <artifactId>mina-core</artifactId>
                 <version>2.0.2</version>
            </dependency>
            
            <dependency>
                 <groupId>org.apache.mina</groupId>
                 <artifactId>mina-integration-beans</artifactId>
                 <version>2.0.2</version>
            </dependency>
报错信息
11-8-8 下午05时21分27秒: [INFO] Using ‘UTF-8’ encoding to copy filtered resources.
11-8-8 下午05时21分27秒: [INFO] Copying 14 resources
11-8-8 下午05时21分28秒: [INFO] Nothing to compile – all classes are up to date
11-8-8 下午05时21分28秒: [INFO] Using ‘UTF-8’ encoding to copy filtered resources.
11-8-8 下午05时21分28秒: [INFO] Copying 1 resource
11-8-8 下午05时21分43秒: Refreshing [/ecas_dg_under_eracore/pom.xml]
11-8-8 下午05时21分43秒: Missing artifact org.apache.mina:mina-core:bundle:2.0.2:compile
11-8-8 下午05时21分43秒: Missing artifact org.apache.mina:mina-integration-beans:bundle:2.0.2:compile
11-8-8 下午05时21分43秒: Missing artifact org.apache.mina:mina-integration-ognl:bundle:2.0.2:compile
11-8-8 下午05时21分45秒: Maven Builder: AUTO_BUILD
原因
mina打包为了bundle格式,为此,需要添加插件
在maven的pom.xml中plugins段中加入plugin即可
            <plugin>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>maven-bundle-plugin</artifactId>
                  <extensions>true</extensions>
            </plugin>

2011-06-29

自定义Taglib的注意点

Filed under: 乱语 — 标签:, , — hellyguo @ 21:10

如果不采用打包jar模式,直接放置于WEB-INF/classes下即可。然后将tld放置于WEB-INF下即可。jsp申明中uri可直接引用WEB-INF/xxx.tld。
如果采用打包jar模式,需要将tld在jar的META-INF/tlds中放置一份。可引用tld中声明的uri,也可使用WEB-INF/xxx.tld。
jsp 2.0 规范

Jenkins在网络异常情况下不断输出DNS异常信息

Filed under: 乱语 — 标签:, , , , — hellyguo @ 20:51

Jenkins就是被Oracle逼迫改名的Hudson。

这东西用着很顺手。但也有憋屈的时候。

不知道咋地,它需要连接外网。一旦网络不好,无法连接外网,就有好戏看了:

question: [DNSQuestion@9657493 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
question: [DNSQuestion@29482661 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
……
question: [DNSQuestion@30271546 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
question: [DNSQuestion@21587429 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
0: 7642704a64754e6a 6f7976594c487259 6c5852434c426963 7341486b57724676 vBpJduNj oyvYLHrY lXRCLBic sAHkWrFv
20: 525a527a65536c54 6d537970626d586a 427375446b586872 534c735a67465243 RZRzeSlT mSypbmXj BsuDkXhr SLsZgFRC
40: 474b737869736747 424a697249594641 4575426170616770 67636d697a79446d GKsxisgG BJirIYFA EuBapagp gcmizyDm
60: 524f7100 ROq.

2011-6-29 11:59:39 javax.jmdns.impl.constants.DNSRecordClass classForIndex
警告: Could not find record class for index: -1
2011-6-29 11:59:39 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
严重: bad domain name: possible circular name detected. Bad offset: 0xffffffff at 0x62
2011-6-29 11:59:39 javax.jmdns.impl.constants.DNSRecordType typeForIndex
严重: Could not find record type for index: -1
2011-6-29 11:59:39 javax.jmdns.impl.DNSIncoming readQuestion
严重: Could not find record type: dns[query,192.168.10.243:5354, length=100, id=0x7642, flags=0x704a, questions=8779
questions:
[DNSQuestion@10697984 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
……
[DNSQuestion@73029 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
[DNSQuestion@19446204 type: TYPE_UNKNOWN index 0, name: ]
question: [DNSQuestion@10105145 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
……
question: [DNSQuestion@31005306 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
question: [DNSQuestion@12736927 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
0: 7642704a64754e6a 6f7976594c487259 6c5852434c426963 7341486b57724676 vBpJduNj oyvYLHrY lXRCLBic sAHkWrFv
20: 525a527a65536c54 6d537970626d586a 427375446b586872 534c735a67465243 RZRzeSlT mSypbmXj BsuDkXhr SLsZgFRC
40: 474b737869736747 424a697249594641 4575426170616770 67636d697a79446d GKsxisgG BJirIYFA EuBapagp gcmizyDm
60: 524f7100 ROq.

2011-6-29 12:00:57 javax.jmdns.impl.constants.DNSRecordClass classForIndex
警告: Could not find record class for index: -1
2011-6-29 12:00:57 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
严重: bad domain name: possible circular name detected. Bad offset: 0xffffffff at 0x62
2011-6-29 12:00:57 javax.jmdns.impl.constants.DNSRecordType typeForIndex
严重: Could not find record type for index: -1
2011-6-29 12:00:57 javax.jmdns.impl.constants.DNSRecordClass classForIndex

来看看我被撑爆的硬盘,可怜我D盘就剩下13G+了,都被Jenkins日志吃了

jenkins-out-of-disk

Jenkins将我D盘剩余的13G+空间都吃光了

目前,好像无解……

2011-06-05

Debian下采用pptp连接VPN服务器

Filed under: 乱语 — 标签:, , , , , — hellyguo @ 20:25

一般都在Windows或者iPhone下用VPN,这次拜GFW所赐,maven也无法访问,只能在服务器上临时使用VPN来救急救场。
服务器是Debian,预先装好PPTP。

  1. 新建VPN连接
    sudo pptpsetup --create vpn --server vpnserver --username temp --password temp --encrypt
  2. 连接VPN Server
    sudo pon vpn
    sudo ip route del default
    sudo ip route add default via 192.168.111.1 dev ppp0

    如果你还不能上网,譬如我,那就是你的DNS还没有设置对。修改/etc/resolv.conf,新增OpenDNS和Google DNS。
    sudo vi /etc/resolv.conf
    在最前面新增如下内容:

    nameserver 208.67.222.222
    nameserver 208.67.220.220
    nameserver 208.67.222.220
    nameserver 208.67.220.222
    nameserver 8.8.8.8
    nameserver 8.8.8.4

  3. 终止VPN连接
    sudo poff
    sudo ip route add default via 192.168.10.254 dev eth0
  4. 删除VPN连接
    sudo pptpsetup --delete vpn

2011-06-01

在Windows下如何制作Linux启动引导U盘(转)

Filed under: 乱语 — 标签:, , , , , — hellyguo @ 21:39

题注:(做过多次,总是忘记,记于笔头,防止忘记)

1.格式化u盘
在Windows下把u盘格式化为fat(2G以下)或fat32(2G以上)格式(强烈推荐使用hp优盘格式化工具)
2.下载并使用syslinux
在这里下载 syslinux
解压后,在win32目录里面使用以下命令来

syslinux.exe -m -a j: (j:为u盘的盘符)

即可在优盘中创建一个可启动的文件(是隐藏的)。
3.在u盘中建立此文件syslinux.cfg(用记事本编辑) ,并在里面加入
default vmlinuz
append initrd=initrd.gz

4.下载
initrd.gz
vmlinuz
下载你所需的debian的iso文件(只需要CD1可以)。
把这3个文件都放到U盘里面
Over

2011-05-11

Wireshark for Mac在Mac下使用须知

Filed under: 乱语 — 标签:, — hellyguo @ 13:45

如果不加设置,Wireshark在Mac下默认是无法找到Interface进行监听的。
设置如下:
在Terminal中输入“sudo chown guohelly /dev/bpf*”

2011-04-30

在Mac OS X 10.6.7上安装Oracle 10g

Filed under: 乱语 — 标签:, — hellyguo @ 00:07

安装成功!
步骤是按这篇blog来的
补充如下:
在oracle用户下能使用后,尚需要一条命令将自己的用户加入oinstall组,否则,自己的用户就算设置了$ORACLE_HOME等也无法调用sqlplus,报权限不足:

dscl . -append /Groups/oinstall GroupMembership [username]

« Newer PostsOlder Posts »

%d 博主赞过: