解惑

解己之惑,解人之惑

作者:cherami (第59页共82页)

增加人口的几个主要因素

发展一个城市,最重要的其实就是提高人口,人口数上去以后,收入马上就增加很多,而且连带的商业的需求也会增加,工业的需求也会上升。下面说说我感觉的最重要的几个要素:

  1. 第一重要的就是供水,如果不供水,即使是高密度的规划也不可能出高楼,供水以后,只要居住的需求比较高,马上就可以看到楼一片一片的起,人口数直线上升。
  2. 第二就是奖励建筑,只要支出不是很多,占地也不是很大,一般的奖励建筑都要建,特别是初级的那些,包括教堂、墓地、市长官邸、市政大厅、雕像、私立学校。
  3. 第三就是公园设施,必须建一些,这个可以提高人口限制数。
  4. 最后就是人口数稳定以后,通过基础设施的扩建,也可以很好的刺激人口数的增加,基础设施就是警察局、消防局、医院、学院。我的一个试验城市,人口稳定在2万左右怎么也上不去,后来我多建了一个警察局、消防局、医院和学院以后马上增加并稳定在3万。

每个国家都需要英雄

今天下午看了一部印度电影,中文名是克里斯,英文为Krrish,感慨良多。
先说说电影本身,故事的情节不不是很新,一个地球人和外星人联系上,不过车祸死了,所幸老婆没有死并且生下一个男孩,外星人把超能力传给了他的孩子,后来他的孩子被一个科技公司的总裁利用发明了一个可以预见未来的电脑,然后他看到了自己的未来:马上就要被那个总裁杀死,就毁掉了电脑。那个发明电脑的人有一个孩子,孩子继承了他的全部超能力并且更强,孩子的奶奶为了避免孩子遭遇同样的命运把他带到一个很偏僻的地方,但是孩子长大后遇到一个漂亮的女孩并且爱上了她。女孩为了工作把他骗到新加坡,后来他无意中听到女孩和她的同事的一段话以为她不爱他,在他离开的时候她带着一个男人出现,这个男人是他爸爸的手下并且告诉他,他的爸爸没有死,因为那个总裁不甘心失败试图重建那个计算机,但是计算机需要他的爸爸的视网膜和心跳作为密码。那个总裁在开启电脑后看到的是自己的死,并且努力抗争,但是最后还是死了,那个孩子救出了自己的爸爸并且带着女孩一起回去见奶奶。

再说说我的感受吧,首先就是每个国家或者民族都需要自己的英雄,这个从这个电影可以明显的看到,这个主角和超人非常的类似,所不同的是他还是怕子弹的;第二就是民族间的冲突,不知道是否是我多虑,这个片子中的流氓和打手基本上是华人,可能因为故事的那些事情发生在新加坡这个华人比较多的地方,片子中只有一个正面的华人角色,街头卖艺为了给妹妹治疗腿,超人从他的卖艺中学习到了武术,这个可能是全世界对中国人的最大认同吧?第三也可能是我多虑,从片子来看,好像新加坡都是印度人的地盘?第四就是印度的风景很美,他们住的那个偏远的地方的风景很好,开头的城市的建筑也不错,但是没有很多城市的实景,每个国家自己拍的片子都是说好的方面?第五就是爱情故事千篇一律,就不说了。第六是印度电影的男友主角确实很漂亮,特别是女的。第七,不知道其他的印度电影是不是也这样,这个片子长达三个小时,其中至少有四段主角的歌舞,片子中好像叫ADLABS,拍得很好看,印象中印度人确实能歌善舞。最后就是现在看电影,感觉情节都比较老套,剧情如何发展基本可以猜到,每个主要人物的结局一般看一会就能猜中了,不知道以后怎么办?

每个民族都需要讴歌自己,给别人一个好印象,呵呵。

JR总算是开始搞培训了

其实我们很早就想搞培训了,去年也筹备过一次,后来不了了之了。这次在David的努力下总算是有些眉目了,只要报名的人数足够,近期就可以开始了。我也会讲一部分内容,第五天的那些杂乱的内容,期望能够讲好。以前没有搞过,不知道能不能讲好,但是只要准备充分,应该问题不大吧。
希望David能够尽快招到人,顺便也在这里做个广告。

无状态Session Bean的remove是干嘛的?

我从来没有考虑过这个问题,不过昨天遇到的问题其中有一个就是这个。
代码中调用了无状态Session Bean的remove方法,按照在TSS上的一个讨论的内容看,这个remove方法就是告诉服务器可以把那个Bean重新放到Bean的池子里面,但是其实没有必要,因为一般你的调用结束后服务器自然知道并把那个Bean放回池子。

原文如下:
The app server doesnt have to know anything from the client from the remove() operation, because after each and every method call, the bean is decoupled from the client. We had this discussion with SUN during the branding process and they confirmed that the remove() operation is a no-op on a stateless bean. Can you even fathom for me what remove() might do? According to the lifecycle, the bean goes in the pool immediately after it finishes running, so by the time you call remove() as per the spec, the bean must already be in the pool.

Trust me it does nothing. Read the generated stub source for your app server. Youll see.

艰难的过程

最近在做公司的单元测试框架,本来感觉已经初具规模,可以开始正常的使用了,因为我写了40多个各种类型的测试用例都可以正常工作,另外一个组的同事开始写了一个,他说还是挑的一个最简单的,结果报了一堆的异常,呵呵,其实他是测试Message Driven Bean,代码里面要调用很多其它的东西,出了几个问题,一个是他要使用的一个Entity Bean的finder是我写的表达式不支持的,我只能把那个finder实现掉,然后就是代码中使用了一个Topic,而且不是我们的Server端代码使用的,没有对应的Message Driven Bean处理(框架只能自动发布有对应的Message Driven Bean的Queue或者Topic),这个问题忽略不计了,因为那个Message本来就不需要处理,然后就是另外一个finder方法,我的表达式是支持的,但是死活找不到,结果发现是那个Entity Bean的xdoclet的配置比较特殊,一般的Home接口都是Remote接口的名字加Home,结果那个Bean是加BeanHome,而Aspect的匹配表达式是默认的格式,没有办法,修改我的表达式了,谁让那个Home接口的名字是可配置的呢。
另外两个问题还没有搞定,一个是Stateless Session Bean的remove方法,不知道要做什么,我现在处理了Entity Bean的remove,调用那个的时候会从数据库中删除对应的记录,但是Stateless Session Bean的remove应该做什么呢?
一个是获得Topic,我们的那个Locator接口里面定义了获得各种Bean以及Queue的接口方法,但是没有定义获得Topic的方法,所以代码中都是使用:
Context jndiContext = new InitialContext();
topic = (Topic) jndiContext.lookup(serverDataSendTopicName);
这个lookup的过程框架拦截不到。

百度蜘蛛和谷歌分析之间的战斗

前次我说过我的访问很多是来自百度,这几天一直在思考,后来看了一下JR的访问统计(见后面),看到里面同时有两个和百度相关的,一个是baidu,一个是baidu.com,突然想到那个baidu可能是百度的爬虫,要不然不可能来源数量那么高。
这样我就要怀疑百度针对谷歌分析进行了某种处理,让站长们不要轻视百度的影响力,而如果谷歌发现这个情况,会不会有针对性的剔除这个访问呢?

展望3D的互联网

昨天在我的名字起源中提到过VRML,结果今天很巧的看到KESO的日志中提到一个3D的虚拟社区,赶紧注册了一个用户,可惜到后来才发现这个社区原来是需要另外安装客户端的。

借这个机会展望一下我心目中的3D的互联网吧。
首先我想每个人应该有一个自己静态的IP,至少是可以很容易的获得,就像现在的域名一样。
然后就是一个简单通用的3D的语言,就像现在的HTML一样,VRML可能是一个候选。
还有就是需要3D的电脑设备了,记得在一部科幻电影中(可能是黑客帝国)看到过一个场面,就是一个人戴上一个手套以后,就在电脑上操作互联网,展现在用户前的不是屏幕,而是一个虚拟的3D的空间,用户通过拉伸、滑动、交换等等方法可以操作那些虚拟的3D对象。
剩下的就是想像力了,像现在的互联网一样,每个人可以拥有一个属于自己的虚拟空间,我们暂且称之为“虚拟人”,虚拟人可以在自己的空间中写日志,讨论问题,购物,就和现在的互联网一样,不同的是,这些信息主要保存在你自己的空间中,当然,如果你加入某些社区,这些社区也会保存一份同样的信息。
这样,每个人可能会拥有两个空间,一个是现实空间,一个是虚拟空间,在现实中,你可能一穷二白,但是在虚拟空间中,你可能很富有。当然,两个空间的财富可能可以进行交换。
梦想中的这个3D的互联网应该是囊括了现在互联网的功能,搜索、BBS、网络游戏、购物、交友、共享照片、Blog等等。

Cherami的由来和消失的VRML

很多人奇怪我的网名或者英文名为什么叫cherami,其实这个词是一个法语词,意思是亲爱的朋友,一般指男性,还有一个词是cherame,意思一样,指女性。好像是在看一本小说的时候无意中看到的。后来上网的时候就想,什么名字别人不太可能想到用到?我觉得cherami是个好的选择,后来的事实证明我的猜测是正确的。
其中我遇到的最大一次挫折就是在中国人注册,这个名字已经被人使用了,费了很大的劲查到那个人的QQ,就在QQ上要那个人把那个ID让给我,后来慢慢知道她是一个MM,是学法语的,她说我是男的,应该用cherame,她说cherami才是指的女性。她经不住我的纠缠,答应让给我,后来却又不干了。

后来有一件很巧的事情,就是在图书馆里面看到介绍VRML的书,感觉这个是未来Web的方向,那本书最开始的介绍也是说“VRML的英文全称为Virtual Reality Modeling Language,即虚拟现实建模语言,它是第二代WWW的标准语言。”,学习了几个月,掌握了基本语法。后来想到注册一个自己的域名,试了下cherami.com,没想到竟然是一个使用VRML建立的虚拟世界交友网站,可惜那个时候还非常的简单和粗糙。

现在VRML好像已经销声匿迹了,希望cherami不会。但是我更希望真正的下一代3D的Web语言能够尽早出现,这样我们就可以享受一个真正的虚拟世界,而不是在网络游戏中沉沦了。

分享才能进步

一直一来我都坚信分享才能进步,在解决别人的问题的时候你能够学习到光靠自己钻研所不能学习到的内容,原因有几点:

  1. 思维方式不一样
  2. 写代码的风格和习惯不一样
  3. 工作的领域不一样
  4. 经验不一样

无论是哪个方面不一样,都会有一些你可能永远也不会遇到的问题,这些可能对你的帮助不大,但是这些奇怪的问题往往可以帮助我们认识一些你自己不会主动也想不到的知识点,而且做为同事同仁,你不可避免的要帮助别人解决问题(特别是你成为一个高级工程师的时候,你一定会带其它的人做项目)。
另外,你自己理解和让别人也理解是完全不同的,很可能你理解某个问题,但是要让别人也理解并不容易,只有你思考过最好是实践过的时候你才会知道,在把这个知识系统的写下来之后,实际上你对这个知识点也掌握得更加的清楚了。
最后就是很可能你以为你掌握了,实际上掌握得并不全面和彻底,一个典型得例子就是Java类的完整构造执行顺序,原来我以为我掌握得很彻底了,看了别人遇到得问题和分析我才知道我的理解并不全面。所以分享以后,可能对那个方面更加熟悉的人可以看到并指出你的问题。

搞软件的确实比较辛苦,因为你知道的永远少于你不知道的!

要戴眼镜了

近几天视力急剧下降,怀疑是有什么病,一个同事说糖尿病的前兆有视力急剧下降的现象,上网查了下,好像还真的有些病会引起视力急剧下降,请了半天假到五官科医院,结果前面有90个人排队,等了一个半小时,医生说:你这个就是近视。我说我8年多视力都没有下降过啊,从高中毕业至今,为什么现在突然下降呢,最近也没有用眼睛很厉害啊!医生问我多大了,我说二十九,有没有办法可以控制。医生说,你都这把年纪了,又不是小朋友!彻底晕死。
老婆让我先不要急,现在还是假性近视阶段,看看再说。看来这段时间要少用电脑了,也不能打游戏了。可怜的眼睛啊,现在都只有0.4了(视力表简单的粗测),原来一个是0.6一个是1.0的啊。

更早的文章 更新的文章

© 2025 解惑

本主题由Anders Noren提供向上 ↑