Archive for June, 2009

蓝色的血液

Thursday, June 18th, 2009

我是一名pure blue,从在IBM实习到开始工作到现在,在这样的一家百年老店工作,虽然有太多让人抱怨的地方,但是你会喜欢这里的人(虽然不是全部),并且从心里慢慢接受它的文化和价值观。这样的一个公司的价值观是令人敬佩的,足以指导你做人做事。特别不喜欢一些人张口闭口说这不如人那不爽,只怕自己没有自信罢了。不足就努力去改变它,你真受不了了就quit,what’s the big deal?一个人在外人面前骂娘(自己老娘)的时候,是不可能得到尊重的,只是哗众取宠罢了。当你流淌着蓝色的血液时,你是自豪的。

今早一聊天之不爽,故有此文。下面摘除一些从《品味蓝色》上句子。我很喜欢。

任何一名优秀的IBM人,当你问他成功之道的时候,他也许无法教会你具体的流程和方法,但他一定会告诉你,没有什么,不过是秉承诚信负责之道好好做人、好好做事罢了,因为在IBM,机会永远青睐于那些有好的工作表现和正直诚实的人。 — 周伟焜

学会尊重别人,同时赢得别人尊重,这很重要。尊重别人身上的优点,你会变得更宽容。执着、专业、深入是赢得他人尊重的根本。谁都有缺点,包括我们的公司。但是要学会用宽容的心来对待周围的一切。得到尊重,你每天都会快乐。 — 郭希文

所谓分享成功其实就是看你怎样Increase your influence,这并不是仅指依靠手中的权力发号施令,而是指能够提供给别人有价值的意见或见地。同时,在团队合作中,“诚信(integrity)”则是最重要的原则。无论对公司,还是对在公司团队中工作的个体,诚信都是立足之本,信任之基。对一个科学家来说,诚信就更重要,科学是不容半点虚假成分的,谁想投机取巧,违背科学规律,只能是搬起石头砸自己的脚。– 叶天正

认真积极地工作,让我在事业上可以不断进步;以尊重、信任的态度与家人、同事沟通,让我得到了家人的支持,同事的尊敬,从而拥有了和谐美满的家庭和成功的事业。面对这一切,我最深的感受就是四个字——“知福惜福”。 –于雪莉

sMash Stakeholder Meeting

Wednesday, June 17th, 2009

上周进行了sMash的stakeholder meeting,在这个会上我介绍了Flow的新的特性,并且进行Demo的演示。我们的演示大概从5分钟开始,之前是产品开发经理的一些介绍。本人英文口语比较烂,不知道他们到底听懂了没有。详细的信息可以看projectzero 的blog。Vido在Viddler上,至于为什么在viddler上,我想可能是为了照顾中国用户无法访问YouTube的原因吧,呵呵。

http://www.viddler.com/explore/projectzero/videos/4/

Dojo widget的析构过程

Friday, June 5th, 2009

了解dojo widget(或者说dijit)的析构过程,不仅让你更加了解整个dijit的生命周期,同样也能帮助我们在自己定制化的dijit中如何正确地释放资源。(这里讨论的dojo应该是在0.9或者以上版本的)

下面是dijit的析构过程:

                        destroyRecursive
                    /                      \
                destroy                   destroyDescendants
        /        |        \
uninitialize  disconnect() destroyRendering

一些常见的错误是如下:

  • 使用destroy()去销毁一个dijit。我们应该使用destroyRecursive()去销毁一个dijit,从上面的过程可以看出,destroyRecursive()会销毁其孩子widgets。
  • 使用destory()去销毁定制dijit中的资源。更可怕的是有的代码可能是直接覆盖destroy,而根本不调用_Widget中的destory。uninitialize()才是dijit暴露出来给定制化widget进行析构的stub function。

结论

使用destroyRecursive()去销毁dijit,使用uninitialize()在定制化的dijit来释放自己的资源。destroyDescendants,destroyRendering基本上用不到,也不要去覆盖它们。

为什么Firefox 3不能加载本地的JavaScript文件了?

Friday, June 5th, 2009

一段时间来一直受这样的困扰,就是我的Firefox无法运行本地的dojo的测试文件。一直以为是我的firefox或者机器出了什么问题,就只好去使用IE或者Chrome去运行这些测试例子,可惜不能用firebug的确让人很不爽。

今天在firebug查看了一些错误情况,报错居然是“Access to restricted URI denied”。这个明显是跨域访问的错误,但是本地文件怎么报这样的错呢?在Firefox的about:config搜索了一下policy,居然找到了原因所在,原来Firefox对于本地文件也进行了同源访问的安全设置,配置参数是:security.fileuri.strict_origin_policy。这个新的设置只是在firefox 3才被加入,并且默认是开启的。不过你也可以将这个关掉,这样就可以如同以前那样运行本地的dojo测试用例,或者其它你想本地加载的JavaScript文件。

local-file-p-origin-policy

继续在google了一下,找了这个”feature”的由来,https://bugzilla.mozilla.org/show_bug.cgi?id=230606,大概是说本地的文件如果没有这样的限制,可以访问本机的其他文件,这样会造成安全隐患。John Resig(Father of  jQuery) 也有一个blog关于这个问题,http://ejohn.org/blog/tightened-local-file-security/,下面的评论也挺值得看看的。

More Links: