IWC.CHE~*

AvatarWhat does IWC mean by? It would be "It Was Che" or "I Want Change" or "I Would Call my soul my own"^

帮师弟做的logo



今天发现没录用这个logo。没关系,就像今天应聘一样,机会总会有的。

PHP WEB2.0最后一章了 是时候要找工了!

关于GoogleMap和prototype的连接问题
malformed URI sequence:
上网查了下,好像prototype的ajax对于%等字符处理上有点问题,总认为是提交字段。

而googleMap里面提交的KML中
placemark.address总会出现特殊字符
解决方法:
encodeURIComponent(unescape(placemark.address))

PDT 2.0 simpletest插件问题

PDT用2.0GA很久了,最近用simpletest学单元测试,开始一直在wamp里用着还行没在PDT里面加插件,后来觉得PDT2.0本来就有个测试环境,不用浪费,所以Update了一下,用来几天,最近老是出问题?不知道是不是simpletest最近才升级上2.05,IDE没更新还在用phpUnit2
Could not create the view: Plug-in net.sf.simpletest.eclipse was unable to load class net.sf.simpletest.eclipse.ui.SimpletestView.
官网上说
PHPUnit3 is not currently supported but will be supported in the near future.

在pear里装了phpUNIT 3不知道怎么变成phpUnit2??
最后的总结是:我们不应该太赶时髦,最新的东西都没几个支持更新的,spket也不会用。唉

Design Pattern Library 介绍

论文需要,上网找了两个设计模式库:
Yahoo! Developer Network->Design Pattern Library
http://www.designinginterfaces.com/


PS 论文杀人啊!

顺便做了一下名片,发现奇怪的行为


有时候不知道左边好还是右边好?

发现一个规律,名字总是在右边三分之一的位置,按用惯右手的人方式递出名片的时候总是挡着自己的名字,总要等对方接住的时候(如果他也是右手的话),他用旋转90度名片才能看清楚名字和logo。这时候接到人不得不用左手按住左下角位置查看名片。而因此出现的I字形--常显位置。结论是,打竖来做会比较好。
哈哈,又是谬论~

客户和隐喻

昨天帮以前做网站的公司改logo,经济危机,能少花钱就尽量少花,所以我这种人才有客上门。

重点是:客户认为左边的比较好的原因是稳重,跟原来的没什么新的变化。而我认为右边的比较好的原因是有较好的隐喻:因为这家公司是做正版软件分销的,是代理服务商。x由C链接起来很有agent的感觉。也是隐喻着公司的商业价值,商业职能。可是我也没说出我的想法。因为我想如果连老板都看不出这个隐喻的话,这是不是一个失败的隐喻呢?
当然交互设计中,客户并不是用户,而设计师也不是真正的用户,所以争论是没必要的,接下来我想在论文里面做用户测试的时候会用到这个例子吧。

好久没发帖子了

修改了一下《PHP Web 2.0开发实战》;

onFormSuccess:function(transport)
{
var json=transport.responseText.evalJSON(true);
var errors=$H(json.errors);
if(errors.size()>0){//当没错的时候收到空的errors[]
this.form.down('.error').show();
errors.each(function(pair){
this.showError(pair.key,pair.value);
}.bind(this));
}
else{
this.form.submit();
}
}
}
};

问题出现在空的$H().size()->0?
在firebug里找到的$H(errors).size()==38!
38个function:each;all;.....Enumerable的方法;
不知道是什么问题?高手指点下!!!

修改过的方法,在controller里增加json.success的标记。

onFormSuccess:function(transport)
{
var json=transport.responseText.evalJSON(true);
var errors=$H(json.errors);
var success=json.success;
if(success){
//this.valiEnd=true;
this.form.submit();
}
else{
if(errors.size()>0){
this.form.down('.error').show();
errors.each(function(pair){
this.showError(pair.key,pair.value);
}.bind(this));
}

}
}
};