Filed under: 八卦杂谈
Filed under: 工作心情
Filed under: 电影电视
Filed under: 城市丛林
以前看过凯文.史帕希演的一个电影,名字忘了,中间他教导他的孩子一定要坚持,镜头回闪到当年,他家的房子要被拆迁,他不同意价钱,就买枪回来,在窗户和走廊上布上铁丝网,坚决死守,后来还是市长穿着睡袍来求他,满足他的要求才搞定。就看这位中国版的哥们能不能坚持到最后了。
Filed under: 技术体会
Brad Abrams有一篇Blog解释了为什么,但是实际上他只解释了为什么IList<T>没有继承IList。以他的观点,理想状况下,所有的新的支持Generic的interface都应该继承以前对应的interface,但是如果让IList<T>继承IList的话,那么是实现IList<int>的类就需要实现两个Insert方法,一个是IList<int>的void Insert(int index, int item),另外一个是IList的void Insert(int index, object item),这样对一个类对象obj,调用obj.Insert(0, 123)和调用obj.Insert(0, "abc")都是合法的,这不是我们想要的,因为我们既然继承IList<int>,就希望编译器能够做好类型检查,不让非int的物体插进来,但是这个继承关系造成了这样局面,所以IList<T>不继承IList。
上面IList<T>不应继承IList的理由很充分,但是并不足以说明IEnumerable<T>就该继承IEnumerable。当然,因为T对IEnumerable而言,只有“输出”作用,不像IList一样既有“输入”作用,也有“输出”作用,所以安全,但是,比较不爽的就是,每个实现IEnumerable<T>的类,不得不实现两个GetEnumerator,MSDN的sample code并没有强调这一点,弄得很多新手(包括我:)一开始只实现了IEnumerable<T>.GetEnumerator,被编译器的出错提示搞得莫名其妙。
我觉得就不应该让IEnumerable<T>继承IEnumerable,虽然这个继承关系似乎不违反LSP,但是我觉得LSP只是一个必要条件,不是充分条件。如果谁想让一个类既能是IEnumerable,又能是IEnumerable<T>,那就同时实现这两个interface好了,就和IList<T>一样:
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
Filed under: 八卦杂谈
因为那时候《魔兽争霸3》还没有上市,我当时玩了几把觉得还不错,至少游戏真实感比较强,不过玩Single Player Mission还是不够刺激。后来有一次碰到这位师兄,聊到这个游戏,他说似乎没人对这个游戏感兴趣,所以找不到可以对打的人,很不爽,我说我感兴趣啊,两人一拍即合,立刻连线开打。这位师兄的游戏造诣是不容置疑,所以我算是抱着必输的心态投入战斗的。这游戏中榴弹炮的作用很大,射程非常远,可以攻击视野之外的地方,一开始我就用德国士兵的命往上堆,不求消灭多少敌人,但求确定对方榴弹炮的位置,伤亡惨重啊,对方的榴弹炮阵地终于进入视野了,看到这位师兄的居然有意识将没有什么用的卡车连成长城挡在榴弹炮前面,不得不佩服啊,冲锋的部队很自然的全军覆没了,然后我就用榴弹炮狠命的轰击刚才发现的对方炮兵阵地,对方又有几次反扑,勉勉强强被我打退,然后这位师兄就Surrender了。打赢这位游戏前辈让我很有成就感,不过从这以后这位师兄也不玩《突袭》了:)
今天看到《突袭2:资源之战》,怀旧一把,玩了玩,感觉游戏设计比以前有点改进,但是还是很糟糕,部队出场是从地图边缘一窝蜂似的涌出,光是组队就要组半天,还有比较讨厌的是坦克居然有油量限制,用光了油要油罐车去加油,额滴神呐,让我实在和对手作战,还是在和游戏作战?难以置信当年我居然还玩的津津有味:)
Filed under: 八卦杂谈
Filed under: 工作心情
1. 即使在冬天,上班里面最好穿T恤。这不是斯文的运动,一打就会发热,热量得不到发挥就会映像球员的发挥,尤其是我这样热量大的。当然不能赤膊上阵,所以必要时候只穿T恤打至少能让自己进入最佳状态。
2. 喝水。发热就会流汗,及时补充水份很重要,不过我在比赛间隙喝饮料被战友诬为“嗑药”:) 个人觉得饮料中的咖啡因不会产生什么实际兴奋效果,完全只起心理作用而已。
3. 打出气势。纯粹靠技术,比赛可能是另外的结果,要通过喋喋不休的虚张声势从气势上压倒对方,一方面增强自己的信心,另一方面让对方手软,嘿嘿
4. 啦啦队。自己做自己的啦啦队,每进一球,都要欢呼一番,队友失误了要理解。
5. 及时换人。每一对组合都有自己的优势和弱点,在比分落后的时候,前锋后卫换人,往往会掩盖弱点而显现优势,当然,有时候效果恰恰相反:)
6. 注重精确性。仅仅打得狠是没什么用的,要打得准。
7. 注重隐蔽性。打了这么久,有点经验得对手都会防得住意图明显得球,所以要尽量做到每一球在击打之前让对手无法预测方向和力量,最好连自己都不知道这一球要怎么打,呵呵
8. 脸皮厚。胜败乃兵家之常事,输球了要继续挑战,屡败屡战,总能赢的。
总结完之后一看,似乎任何一个竞技项目,都应该这样哦:)
Filed under: 八卦杂谈