Delphi法则 评估工作量

Delphi法
 Delphi法是最流行的专家评估技术,在没有历史项目数据的情况下,这种方式可以减轻估算的偏差。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种相关经验人的参与,互相说服对方。
  Delphi法的评估步骤是:
  1、项目协调人向各测试专家和项目经理介绍项目规格和估计表格;
  2、项目协调人召集小组会,各测试专家和项目经理讨论与规模相关的因素;
  3、各测试专家匿名填写迭代表格;
  4、项目协调人整理出一个估计总结,以迭代表的形式返回测试专家;
  5、项目协调人召集小组会,讨论较大的估计差异;
  6、测试专家复查估计总结并在迭代表上提交另一个匿名估计;
  7、重复4-6, 直到达到一个最低和最高估计的基本一致。

Read More

you can see an always open world after open your eyes .

1: MVC 和 Objective-C 介绍 http://mov.bn.netease.com/movie/2012/6/I/T/S820IQSIT.flv
2: 我的第一个苹果操作系统iOS http://mov.bn.netease.com/movie/2012/5/V/Q/S807E4GVQ.flv
3: Objective-C http://mov.bn.netease.com/movie/2012/5/H/3/S81DQUVH3.flv
4: 视图 http://mov.bn.netease.com/movie/2012/5/3/C/S81DR7B3C.flv
5: 协议与手势 http://mov.bn.netease.com/movie/2012/6/L/A/S83EHU0LA.flv
6: 多个MVC和延续符 http://mov.bn.netease.com/movie/2012/6/L/G/S83EHS8LG.flv
7: iPad+Apps http://mov.bn.netease.com/movie/2012/7/9/H/S8665D89H.flv
8: 视图控制器生命周期-图象视图、滚动视图、网络视图 http://mov.bn.netease.com/movie/2012/7/7/J/S8665VM7J.flv
10: 数据块和多线程 http://mov.bn.netease.com/movie/2012/7/S/9/S8666IMS9.flv

Read More

有心的阅读BLOG方式续1

此篇是续: 有心的阅读BLOG方式. 补充一些新的 体会 .

1 . 适度滥读.   就是说对于一些非常稀少的信息(话题) 你应该采取扩大阅读范围的方式, 因为往往你最直接关心的 关键字是无法检索到任何信息的.  举个例子: 你想知道哪款USB网卡可以支持Lion. 你若去查xx Lion 驱动 必然是无果的.
但你打开一些连接,滥读一下, 你会发现其实应该找一下 网卡芯片的型号.  大致就是这个意思. 每个人群都有自己独有的表述习惯.

2. 利用twitter 之流加速与信息源的互动. 你可以理解成此为公共的互联网聊天室.

3. 提高你的网速,选择合适的blog reader . 用浏览器阅读blog 就是费力的事.  参考: 天涯脱水.. 时间就是金钱,我的朋友..

4. 多写blog. 多写自己感兴趣的话题. 化被动为主动. 最好是整中英文版.
感触之一: 我有尝试发mail 给 LLMozlib 的作者 ‘Callum Prentice’ <callum###gmail.com> , 人家很快就答复我了.  所以要相信正能量.  你若留下蛛丝马迹, 必然会有众徒循迹而来.

5.待续…

Read More

聆听自己的声音.

回顾一天所做的事. 列表.

回顾目前的任务的清单.

把事情变得有趣. 选择有趣的目标点

把自己藏起来, 别人找不到.

饿了, 就吃饭

困了,就睡觉

睡觉,吃饭,坐车,上厕所, 打开公司电脑写程序. 关闭电脑 回家.

不要看压抑的费力的视频或电影.

和一个心情好点人聊几句天.

任务一再拖后, 一再蹦出新任务,  任务列表必然会一直添加.  不要太担心, 只要按天 按周制定目标.

按优先等级 排序, 某阶段只能是 60%实现. 所以不要追求100%   但要预留接口 以及构想一下扩展的步骤.

别纠结, 别沉迷于某个技术点,  因为当天的目标不是它.

Read More

cocos2dx 2.0运行HelloWorld在glGenVertexArrays(1, &m_uVAOname)时候报0x00000000错误解决办法:

cocos2dx 2.0运行HelloWorld在glGenVertexArrays(1, &m_uVAOname)时候报0x00000000错误解决办法:

在ccConfig.h中找打CC_TEXTURE_ATLAS_USE_VAO修改成如下

#ifndef CC_TEXTURE_ATLAS_USE_VAO
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS )
#define CC_TEXTURE_ATLAS_USE_VAO 1
#elif ((CC_TARGET_PLATFORM == CC_PLATFORM_WIN32))
/*my computor not support*/
#define CC_TEXTURE_ATLAS_USE_VAO 0
#else
/* Some android devices cannot support VAO very well, so we disable it by default for android platform. */
#define CC_TEXTURE_ATLAS_USE_VAO 0
#endif
#endif

Read More

语法糖,来得更猛烈些才好.

29岁想换行 http://www.cocoachina.com/bbs/read.php?tid=110794&page=5
我留了言, “专才有行市.
全世界就你一人会.你就牛掰了. 如果你会的东西,随便谁都能3个月速成的话,就值得思考了.”

其实又何尝不是写给我自己的呢. 今天写了一个函数,我觉得自己还算有那么一点点灵气.但这种闪光点估计只有识货的才有感觉. 我会努力来回忆一些类似的case,分享给大家.

长话短说:这个问题来源于最近的工作. 一个基于bw的rpc framework. 然而mailbox是不可以在后台线程里被调用的. 这种情况是因为 基于socket的数据包处理函数会调用实体的函数. 而恰恰socket的主循环是thread的.

比如: onHandleLogin(packet): accEntity.doLogin() .而以前在bw里面的脚本是没问题的.
我忍了很久以后花了5分钟, 把10年写的一个函数改了改. 变成了一个优雅的修饰.

然后上面的函数就改成了
@AsynCall

def onHandler ….
具体如下:
def AsynCall( function ):
“””
create timer to call function. avoid error:”AttributeError: Mailbox property is not available in background threads ”
by cnsoft 2012-07-31
“””
def checkIfLimited( self, *args, **kwargs ):
#assert isinstance( self, BigWorld.Base )
#if not self.checkCoolDown(str(function.__name__),cdT):
# return function( self, *args, **kwargs )
#else:
# pass
def realcall(orig_func,*_args):
return orig_func( self, *args)#, **kwargs )
#convert to function object. first
func = partial(realcall,function,args)
self._pendid +=1
funckey = ‘pubxxx_%d’%self._pendid
setattr(self,funckey,func)
self.addTimer(0,0,self._pendid)
return checkIfLimited

其实语法糖有时候挺害人的,会把人的思维拘束.我现在光剩下思想了…不知道除了python 还能找到别的工作不了.

以前被sun糊弄了,java是跨平台,结果是各家jvm不一样的实现,现在看到的东西haxe 是个好玩意.一种语法,多种产出.显然为了多平台又节省开发成本是业内的诉求. unity3d的思路也差不多,一种制作,多种产出. 最跨平台的其实是c++.而且是无缝的. 所以andriod 有NDK 来靠拢 c++, flex 也有 alchemy 想穿c++的裤子.而于python, pypy 让常规开发不换语言的情况下 提高性能.. 以后注定也会有python般的语法, c++般的产出.给我这样的家伙留个活路..

Read More