分类归档: Review

从选择 Java 框架谈谈技术人员的”舒适区”

[前言: 技术人员的舒适区是本文的要说的一点内容, 至于 Hibernate 是否优秀, 那是”专家”才有资格讨论的问题]
这几天, 一位 DBA 朋友很是苦恼. 起因是他所在的开发团队的架构师与程序员准备在接下来的项目中继续采用 Hibernate 作为 Java 框架 . 众所周知(有人说,他没有听到过类似的说法, 所以不能是”众”), 从 DBA 的角度来看, Hibernate 对 DBA 来说如同噩梦, 非常的不友好, 所以 DBA 极力推荐 iBatis . DBA 看来, 在该应用场合下, 应用 iBatis 更容易控制数据库的性能, 而程序员们也不用因为性能低下的 SQL 而一遍遍返工修改程序. 可是开发人员们罗列了各种 Hibernate 的优点证明使用 Hibernate 将会是正确的, 带来的开销是值得的.
DBA 也知道, 在过去几年的时间里, 这个开发团队一直在使用 Hibernate , 开发人员熟悉 Hibernae 的方方面面, 他们自认为针对 Hibernate 有足够的控制能力, 不愿意离开现在的技术环境, 这才是他们反对更换到其他环境下的主要原因.
当然, 今天我不是要比较这两个框架的优缺点. 而是要说说技术人员都会面临的一个很有趣的问题:舒适区.
最近几年, 舒适区这个词我们经常从一些”培训大师”的口中听到,引起了无数渴望成功者的共鸣.其实说的倒是自古以来人皆有之的一个共性.

引用I : 现代西方认知心理学认为”舒适区” (Comfort Zone)是指人们一定限度的感知和联想的范围,在这一范围里,个人或集体能有效地运作,不会出现不自在和恐惧,所以人们会本能地寻找自己的”心理舒适区”。

从”舒适区”的角度上看, 架构师/程序员不愿意更换到其他框架下无疑也有一部分心里因素的问题. Hibernate 已经使用了几年, 对他们来说已经相当熟悉了, 迁移到其他环境下不确定性因素很多, 这样”不确定性因素”给他们带来了不安全感. 所以, 他们自然会熟记 Hibernate 的各种优点, 并期望一直使用下去.
不过换个角度上看, 这种保守性无疑在需要快速面对变化的软件业有一定的风险.

引用 II: 每当人们处在舒适区中,就会有安全感、自信心,觉得自己能够胜任所担当的一切。但如果长时间 处于这样的状态,就像留恋在温水盆里游泳的青蛙一样,等有一天自己想跳出来时却已经太迟了!

就拿这个 Hibernate 来说, 最近就有 FireStar 软件公司在指控 JBoss 公司的 Hibernate 3.0 软件侵犯了其连接关系数据库与面向对象的软件的技术专利, 如果 FireStar 胜诉并要求停止开发该软件, 依赖于 Hibernate 的程序员们该怎么办呢? 这个事情就好比青蛙泡在缓慢加热至沸腾的水中一样,代价恐怕是惨痛的.
作为技术人员, 积极的心态面对变化是必需的. 如果死死的守住一个小技术环境, 回报率自然会下降. 从软件业的发展来看, 也是这样.
oops, DBA 也不要把自己捆在一种数据库上……
–End.
–Updated:
针对 一本正经地道听途说 的回复:

我说的“众所周知”的”众”指DBA 而言, 当然,如果用你没有听过就不算”众”倒也说得过去.
你应该不是DBA吧 ? 从一个开发人员看问题,自然是另外一回事。我们曾经面临这样一个案例: 数据库执行计划走错, 需要修改 SQL, Hibernate 上作这样的修改,并不是很快捷(因为不是直接的数据库SQL, 当然现在的 Hibernate 3.0 支持naive SQL 了)。这个案例,如果放到 iBatis 上,可能只是几分钟的事情. 或许,你已经把 Hibernate 玩得灵活无比, 做起变更灵活无比, 那只能说佩服了。真希望每个项目中的人员都能够有这样的天才.
另外,也不一定是 Hibernate “专家”才可以发表评论. 每个人看问题的角度不同. DBA反对 这个东西,或许有他的理由(正如那篇Blog讨论的”舒适区”) . 不要忘了,一个领域是所谓的专家,可能另一个领域就是新手.
或许你认为别人没引用英文信息就是”道听途说”, 那么 “主观推测’ 算什么呢?

全球 IT 公司 100 强

商业周刊 2006 年 IT 公司一百强出炉了. 这是 IT 公司的兵器谱.
宏达国际 (HIGH TECH COMPUTER) 这家台湾公司是增长最快公司回报最高公司的双项第一。 在 收益增长最快 一项中排在第七位。厉害!
Google增长最快公司的第二名. 苹果公司则排在增长最快公司的第六。
以销售额来衡量,最大的 IT 公司是 HP 。Dell 第三, Nokia 第七, 微软则排在第八.
Amazon 是收益增长最快的公司第一名. Dell 第二 .
回报最高的公司软银名列第八.
Oracle 排在总榜单的 51 。有的 IT 巨头很是陌生.
大陆唯一入榜的 IT 公司是中国移动。 第 8 名。给的评论是:

It operates in a huge mainland market. But only 29% of the population has a cell—so China Mobile has lots of room to grow

依靠垄断总算弄出来一个巨无霸. 谁让咱大陆人多用的手机也多呢.
下载 PDF 文件.
–End.

可用性级别与停机时间

一个网站 99.99% 的可用性是什么概念 ? 每年停机时间不能超过 53 分钟, 平均下来, 每个季度 13 分钟多一点点. 其他常说的几个级别见下图:
网站的维护级别
对于国内的网民来说, Google 的可用性应该是最低的. 从用户的角度上看, 恐怕连 95.0% 都达不到. 当然这不是 Google 的错.
IM 工具的可用性程度也不高, 比如 MSN Messenger 经常的掉线、消息发不出去;虽然用户也怨声载道, 但是没看到谁因为登陆不上 MSN Messenger 而转用别的 IM 的。个人估计微软的 MSN 对于 普通用户来说可用程度也就是 比 95.0% 好一点.
Web 2.0 的站点可用级别也比较低的. 可用级别最高的或许能达到 99.9%. Del.icio.us 去年就连续断电了几次, Bloglines 出来过多次水管子工,而豆瓣也出现过几次停机故障. 因为用户黏度在那里, Web 2.0 站点还真不用担心那么一会儿停机会丢失用户的问题, 除非真是拿到了花不完的风险投资,否则投入大笔费用来提高一个 “9” 的可用能力没有太大必要。
电子商务站点应该是很讲究可用性级别的, 联机事务处理能力要求相对较高, ‘1 秒钟几十万上下’, 提高可靠性的手段无非是高投入–通过大量软件硬件的冗余、更多的技术更为精湛的维护人员.
需要什么样的维护级别 ? 当然不是拍脑袋想出来的, 我想任何一个理性的公司都应该考虑投入产出比, 不考虑实际应用类型而盲目的追求高可用性不可取.
前几天和朋友聊天说起来,

A: "你上个季度系统的稳定性怎么样 ? "
B: "四个 9 阿"
A: "这么强?"
B: "嘿嘿, 虽然没啥防范措施, 凑巧没有宕机而已"

把这个当作笑话吧…

EOF

更新: 纳斯达克的可用性 99.98 ,基本上是微软软件构建的。eBay 可用性,披露出来的数据是 99.94%.

从 “手机煮鸡蛋” 看常识的丧失

最近有一则耸人听闻的”新闻”在网络上流传:手机65分钟煮熟鸡蛋. 很多网站很多 Blogger [eygle 也转载了] 纷纷转载。读者的第一感觉恐怕都是震惊手机的危害, 但对这个”试验”提出质疑的怕是少之又少. 网络上搜索了一下,果然实际上是一个高科技笑话. 看罢不禁哑然失笑, 暗自思量,其实不过是中学的物理学知识而已。怎么就这么多人深信不疑呢 ?
互联网的传播让大家看到了很多不可思议的事情,也使得大家深信没有什么不可能的事情,在这个享受眼球被刺激的过程中我们也慢慢丧失了基本的科学常识. 与”煮鸡蛋”新闻类似的新闻在以前也是不少见的,比如”不要和陌生人喝酒“, 一个假新闻能变化出多个版本, “故事”发生的地点从国外换到国内,每次出现还是能吸引无数人深信不疑, 也很容易使判断力弱的社群陷入网络恐慌。
现在的假新闻与读者的关系就好比垃圾邮件与电子信箱的关系–垃圾邮件逐渐的涌来,即使邮件系统再智能也有把垃圾遗漏的可能,如果有一个专门收集假新闻的黑名单就好了.
愚人节虽然好玩, 但是最好一年只过一天。 如果没有判别真假的”黑名单”,提高我们自己的识别能力–仅仅是常识就足够了.
–End.