搭建maven & cometd过程

2010-3-27 评论(8) 分类:技术文章 Tags:

近来想做个web game,需要双方持久链接,查了下资料,HTML5的websocket太遥远了得N年后才能流行,用FLASH模拟的socket又限制了没有FLASH插件的浏览器无法玩,最后研究了下comet,发现用这个实现应该靠谱,貌似WEBQQ,gmail里的gtalk,校内的站内提示和聊天都是用comet类似技术。后来找到cometd和pushlet,据说cometd更好,于是就开始捣鼓配置cometd。

配置环境这事儿,要是有有经验的人指点就好了,可以省去90%的时间,可惜没有~只能胡乱摸索。在完全不晓得maven是什么的情况下,配置这个cometd真是折腾死我了,先随便乱整费了很多时间,无果,再在eclipse下载maven插件,捣鼓半天运行不了,最后老老实实地用命令行的方式配置maven,也费了不少时间,但终于运行成功了。记下这个配置的过程,可能以后重装电脑要重新配置时有用。

目前在eclipse还是弄不好maven,运行项目时下载不到所需要的插件无法运行,我纳闷怎么在命令行就可以,在eclipse就不行,maven下载位置都是指向同一个,运行的也是同一个项目,但还是折腾不好。

配置maven

1.到http://maven.apache.org/下载maven,解压到任意一位置,以下假定maven解压地址为C:\Program Files\maven

2.配置环境变量,在变量path的值后面加上C:\Program Files\maven\bin

3.确保jdk环境配置无误:

a.检查变量path的值里有无jdk地址,例如c:\Program Files\Java\jdk1.6.0_10\bin;
b.检查变量有无变量JAVA_HOME,没有则加上,值为JDK地址

4.打开命令提示符(开始-运行-cmd),输入mvn -version检查mvn是否成功配置。

5.打开C:\Program Files\maven\conf\settings.xml,找到<pluginGroups></pluginGroups>,在里面加入<pluginGroup>org.mortbay.jetty</pluginGroup> 如果不加入这句,maven会无法找到和下载jetty,待会运行cometd时会出现这样的错误:

org.apache.maven.plugins:maven-jetty-plugin does not exist or no valid version could be found

6.maven自动下载插件等东西时默认保存在 我的文档/.m2/ 下,如果要改变这个位置,例如保存到maven目录下的down文件夹,可以在setting.xml里面加入<localRepository>/down</localRepository>。注意,目录名字不能有空格,例如c:\program files这个地址是不合法的。
(更多…)

JavaScript里关于this的疑惑

2010-3-12 评论(1) 分类:技术文章

几天前自己捣鼓东西,碰到一个问题:能不能通过一个函数得到此函数所在的对象?例如:

var obj = function() {
    this.fn = function(){
        alert(this);
    }
}

function get(fn) {
    fn();
}

var myObj = new obj();
get(myObj.fn)

目的是让myObj里的函数fn的this始终指向myObj
上面这样把myObj.fn传入到get并在里面运行,结果myObj.fn的this就改变了指向window
可以通过传入myObj再用call达到目的,想问的是,能否不传myObj就能达到目的

function get(fn, obj) {
    fn.call(obj);
}
get(myObj.fn, myObj)

经过各方指点,知道:
(更多…)

YUI2.8自定义事件的一个小bug

2010-3-7 评论(1) 分类:技术文章 Tags:

问题

YUI2.8的自定义事件如果添加了两个相同的侦听函数,在移除这些侦听函数时会有错误:

var testEvent = new YAHOO.util.CustomEvent("testEvent");
testEvent.subscribe(eventHandler);
testEvent.subscribe(eventHandler);
testEvent.unsubscribe(eventHandler);
function eventHandler(){
    alert("testEvent fire");
}
testEvent.fire();
//只会显示一个"testEvent fire"

上面看似没问题,注册了两个相同的侦听函数,执行一次unsubscribe移除了一个,于是只剩一个侦听函数,但事实不是这样:

var testEvent = new YAHOO.util.CustomEvent(&quot;testEvent&quot;);
testEvent.subscribe(eventHandler);
testEvent.subscribe(eventHandler);
testEvent.subscribe(eventHandler);
testEvent.subscribe(eventHandler);
testEvent.unsubscribe(eventHandler);
function eventHandler(){
    alert("testEvent fire");
}
testEvent.fire();
//只会显示两个"testEvent fire"

注册四个相同的侦听函数,执行了一次unsubscribe,却只剩下两个侦听函数有效。

(更多…)

《GQ智族》杂志对我的采访

2010-3-6 评论(6) 分类:生活 Tags:

寒假放假回家后,某天花落去在gtalk上找我,说想采访我,我还以为是要发在新京报的,后来才知道是GQ杂志,挺早之前他写了一篇《推荐了7个值得翻墙访问的twitter用户》发在GQ杂志上,里面也提到了我,那时才对这本时尚杂志有印象。接下来商量具体事宜,因为是GQ杂志,要拍照,说实话当时是真不想让自己出现在杂志上,不拍照,想拍估计也拍不成,因为我在乡下小镇,让我给张平时生活照我也考虑了挺久,最后还是给了。接着是采访方式,我怕电话我会说不出什么东西来,还是在GTalk上聊比较好。

两三天后的一个晚上开始采访,第一次接受采访,才知道原来不会一开始直捣黄龙的,慢慢闲聊,还要聊出个人物形象才行。我以为半个小时到一个小时就能搞定,结果聊了两个半小时才结束,可能是因为在网上聊会慢一点吧,直接电话或面对面的话应该会快很多。

到后来真正在杂志上看到关于自己的文章了,我反而挺希望自己照片出现在杂志上了,可能是因为开始觉得上一次杂志机会难得吧~我的这篇采访是放在《微力量推动中国》专题里的,这个专题有统一的风格,照片实在太专业了,我发的生活照实在跟它不搭调,没放上去,感觉小小遗憾,呵~

其实,看到现在杂志上这篇文章我是有点失望的,因为它跟之前发给我看的稿子出入很大,之前发给我看的稿子标题是“自由生活其实挺难”,这是我真实想法,文中也有提“我期望是活得自由开心轻松,虽然感觉在中国要有这样的生活应该很难。”,但这些全部没了,文章页被删改掉很多,留下来的感觉都无关紧要,标题被改成“我的确很怀旧”,这个感觉应该是采访的一个很小的点,被当主题了。另外那个“web3.0需求”也是之前发给我看的稿子里没有的,有点扯。最后“一直表现淡然的大男孩开心了好一阵”回信时提了这不符合真实情况,结果没改掉~

anyway,能出现在GQ《微力量推动中国》这专题感觉挺荣幸的~~感谢花落去的推荐~

《GQ》2010年3月号第266页:

GQ

空间被封过程

2010-3-2 评论(49) 分类:生活

经过

2月28日下午,突然在twitter上受到一私信“被你害死,主机我封掉了,钱全退给你”,心里一惊,网站果然打不开了,连后台也进不了,一头雾水。

想半天怎么回事,联想到一两天前有个人发信问我主机在哪里买的,他也想买个,不由自主地把两件事串起来,难道那个家伙是国宝,在探听这个主机提供者,给他造成了麻烦?

马上发信去问他,我说至少说下原因吧,答曰“zhenzhi严禁的”,再问那篇博文敏感,删掉行不,答曰不行,再问是否今天有人找他说这事,答曰“我突然翻到的 不多说 太敏感了”,原来他只是“突然翻到”的,根本没任何人找他麻烦,刚才那个联想也完全不是事实。

我想了半天,我没写过很敏感的博文啊,后来想到,原来是一片评论敏感了,确实是挺敏感,那篇评论两三个星期前留的,评论的是我4年前写的一篇博文。

追问他说,“这是评论啊,不是我写的,删掉不就行了?”良久没回复邮件,再发:至少给我开后台备份数据库吧。还是没回复,追到QQ,再问次是不是就只是那篇评论敏感了,答曰“太严重 不多说”。

最后我只想确认两件事,1有没有人找过你,2是不是只是那篇评论敏感。他都不回答。接着开后台备份,退款,叮嘱我备份完告诉他然后在Q上加他进黑名单。照做了。

之后他看到我刚开始在twitter上写的推:“有人发邮件问我空间哪买的 他也想买 我告诉他了 然后我空间就被封了 怎么回事?这么黑暗?”回复:“请问是哪位?我一并退款给他,咱不差钱”,这位老大已经神经敏感到极点了,解释道“注意 我说这话的意思是觉得 这两件事有因果关系 那个人是国宝通过我摸线索骚扰到你 我多虑了”

总结

我从他说“突然翻到”这四个字开始就震惊了,我真无法相信无法理解,就他随便翻到一条敏感评论,而且整个博客就只有这一篇评论敏感,而且没有任何人去找过他,他就能怕成这样?

首先“被你害死”,然后“zhenzhi严禁的”,连“政治”二字都不敢打中文,接着一问三不答屡次“太严重 不多说”这样的回复,再接着巴不得火速跟我断绝一切关系,最后那条神经敏感连跟我有一丁点关系的用户都封杀。这家伙是怎么了?用不用怕成这样啊?如果说真有人因为空间出现敏感内容找他了,那我百分百支持理解他的行为,问题是完全没有啊,另外我的空间是国外的,而且还是独立IP,就算被封也不会影响到他的其他用户。

怕也就算了,期间若不是我发信去追问我完全不会知道是怎么回事,把空间封了也不想跟我说明清楚完全不想沟通,后来的在gmail上在Q上跟我说个话像偷偷犯罪一样,服了。

牛逼人物!

加上网址吧,反正可以提醒大家有一点点擦到政治边的都不能上去买,从他那”不差钱”的话中可以估计他也很乐意我放网址的:http://miao.in