揭秘IT人才特点:中美印日四国程序员比较

 最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解。我觉得编程能力对程序员而言,虽然很重要,但并不是全部。那么作为一个程序员,到底应该具备什么样的能力呢?这个话题显然太大。不过我觉得可以看看其它国家的程序员,也许可以得到一些借鉴。我有幸和中国,美国,印度和日本四国程序员有比较深入的合作过。虽然他们不一定有代表性,但我觉得他们的共性还是比较明显的。以下的比较纯属个人见解,欢迎指正。
 
首先是日本程序员。他们的特点是非常仔细。我认为很主要的一个原因是日本公司的需求非常细致。细致到在网页上,连一个像素都不能偏差的地步。另外,日本人的执行力非常强,对老板的承诺比命还重要。一个项目可以做到连续3个月天天加班,每天只睡4个小时。然而,高执行力背后的代价是低创造力。在日新月异的互联网今天,很少听说日本工程师发明了哪些重要的技术。与其说这些特点是日本程序员的,不如说是大部分日本人的。因为在日本文化中,追求品质和遵守等级制度是根深蒂固的。另外,技术领域中的很多专业词汇是外来语,以英语(论坛)为主。这些专业词汇往往会被翻译成片假名。而片假名的发言有时候和英语大相径庭,导致沟通的困难。比如病毒一词在英语中是Virus,发音为歪儒斯,而日语的发音是味鲁斯。再例如服务器(Server)一词在日语中的发音是萨巴,和英文发言简直风牛马不相及。因此与日本程序员沟通是比较痛苦的,除非你懂日语。 阅读全文 >>

ExtJs 中 xtype 与组件类的对应表

我们在使用 ExtJs 创建组件时最容易理解的当然是用
 
new Ext.form.TextField({fieldLabel:'姓名', id:'name',width:120});

我们还可以直接用 xtype(比如 TextField 对应的 xtype 是 textfield) 的对象形式来创建组件,比如在面板的 items 属性中,尤其是多个组件或需要写许多的 ExtJs 相关代码时就更值得推荐。我们来对照如下形式就知道了:

阅读全文 >>

轻松查询最新Web开发工具 Mozilla发布Web工具录

[Unmi 注] 用 FireFox 或 Chrome 浏览 Open Web Tools
Directory(http://tools.mozilla.com/) 就能看到下图中的效果,而用 IE 因为不支持 Canvas,所以会定向到一个简单显示页面。所有的工具分为 Design、Code、Debug、Test、Deploy、Docs 这六个类别,可进行搜索。眼花缭乱的,数数你真正使用过其中的几个;很实用的,特地转载推荐给大家。

对于很多Web开发人员来说,数目庞大的开发工具往往让人不知如何选择,一些非常实用的工具也因为无法检索而与开发人员失之交臂,Mozilla实
验室近日推出了一种服务帮助解决这一问题,开放Web工具录(Open Web Tools
Directory)可以为Web开发人员提供最新最全面的开发工具。 阅读全文 >>

创建兼容 IE/FireFox 的 event 及 event 的 srcElement、fromElement、toElement 属性

自然,我们都习惯了 IE,在 IE 中要在函数中获得各事件对象很容易,直接用 event、event.srcElemtn、event.fromElement、event.toElement 就行了。在 FireFox 中获得触发事件的元素可以用 event.target,但其他两个 fromElement 和 toElement 就要费些周折。

所以,为了保持一致的使用方式,也为了保持原有的使用习惯,我们加入以下 JS 代码(代码有些紧凑,未加注释,应该很好理解): 阅读全文 >>

考虑在本博客中换用另一种代码着色方式

原来是仿照 JavaEye 那样对 name 为 code 的 <textarea> 以指定的样式类进行格式化显示,效果如下图:

优点:1. 比较清爽
        2. 可以选择局部进行复制,不会带上前面的标号
缺点:1. 使用 <textarea> 在其他浏览器上不利于输入和修改 阅读全文 >>

创建兼容 IE/FireFox 的 insertAdjacentHTML 方法

在 IE 中我们可以用 insertAdjacentHTML 往元素的 beforeBegin,beforeEnd,afterBegin,afterEnd 处理插入新元素。而在非 IE 中没有该方法,因而我们要创造一个兼容的 insertHtml 方法来。

本方法从 Ext 2 中剥离出来的,在 ext-all-debug.js 中有以下方法:

Ext.DomHelper.insertHtml( String where, HTMLElement el, String html ) : HTMLElement

参数介绍:

where:插入位置。包括beforeBegin,beforeEnd,afterBegin,afterEnd。
el:用于参照插入位置的html元素对象
html:要插入的html代码 阅读全文 >>

对SQL说不!NoSQL的数据库技术革命

在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactive的一间会议室。

就像当年波士顿的爱国者为反抗英国重税的行动一样,NoSQL的支持者们从各地涌来,分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据。云计算可能会为数据库技术的发展带来新的契机,如果想在云中获得丰富而随需应变的可伸缩性,你需要一个非关系数据库。

“关系型数据库给你强加了太多东西。它们要你强行修改对象数据,以满足RDBMS (relational database management system,关系型数据库管理系统)的需要,”Java工具提供商SpringSource公司的首席工程师Jon Travis说,他是本次集会的10位发言人之一,在他看来,基于NoSQL的替代方案“只是给你所需要的”。 阅读全文 >>

关于 JavaBean 规范你还是应该知道的二三事(补充)

前面写过一篇:关于 JavaBean 规范你还是应该知道的二三事,发现还略受关注。其中有人对 boolean 型属性的 getter/setter 方法还有些想法,以及 JavaBean 的规范是根据属性名找相应的 getter/setter 方法,还是由 getter/setter 定位属性呢。本文主要就这两问题展开话题,原本想附中前篇中去,但考虑会让前文凌乱,所以另立新篇。

1. 关于 boolean  型属性

分别来看看 Eclipse(3.5) 和 NetBean(6.7) 的重构功能对 boolean student 和 boolean isStudent 生成什么样的 getter/setter 方法的。 阅读全文 >>

关于 JavaBean 规范你还是应该知道的二三事

作为 Java  程序员,对于 JavaBean 也许你会说再熟悉不过了,它贯穿在系统的多层中,不同的叫法有 PO、VO、DTO、POJO、DO(Domain Object)。然而它无外乎就是一个 Class 类,带上些属性和它们的 setter/getter 方法,set/get 后面那一个字母大写。虽然我们现在很少把 JavaBean 与那个古老的 2.0 的 EJB 搞混,但为什么明明用 IDE 为属性生成的 getter/setter 方法,应用一运行,还是报找不到某个 bean 属性的 setter 或 getter 方法呢?

要知道,在 Sun 的网站上那个关于 JavaBean 规范的 PDF 文档可是有足足实实的 114 页啊。难免有些规则有点古怪,至使知名的 IDE 都难以应对,所以我们还是有必要了解其中二三,来规范我们的 JavaBean 和解释一些情形。

Sun  的关于 JavaBean 规范见:http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html,其中可下载到 JavaBean 规范的  PDF 文档。 阅读全文 >>

RTX2009 Beta1对外发布

经过快速的开发和一定时间的小范围试用之后,RTX2009Beta1版本在今天发布了。目前RTX保持每个季度发布一个版本的节奏,使用户的反馈和需求能快速响应。RTX2009Beta1最重要的功能是实现了单套RTX可部署多台文件服务器,这个功能特别适合那些有分支机构的大型用户,在多人会话传文件时,保证本地用户的文件传输都在本地文件服务器上中转,从而减少分支机构与总部之间的带宽占用,降低成本、提升体验。此功能与之前发布的企业集群结合使用,几乎可以满足所有大型企业用户的最复杂部署,相应的介绍文档请参考:

RTX2009Beta1的更新内容如下: 阅读全文 >>