September 1st, 2008
1. 架构师对于PowerPoint的熟练程度要远远胜过流行的Java IDE。
2. 光是部署基本环境(比如应用程序服务器和数据库)就需要若干张DVD和几个小时。
3. 一些流行的服务器需要几分钟去启动和部署,而你每天要重复这一过程若干次。
4. 为应用服务器的bug立案(并且重现问题的所在)往往比你自己修复它需要的时间更长(当然,如果你有源代码的话) 。
5. 很难为开发者们找到一个可以高效运行那些“企业级”开发工具的硬件,而且因为这些开发工具十分昂贵,想要弃他们不用也很困难。
6. 架构师热爱分层,光是从持久层传递一个持久实体到表现层,就需要若干次mapping。
7. 一切都是可配置、可替换、可建模的。XML的负担十分巨大。问题是:上一次你真正的需要在工程中替换某些东西是什么时候?
8. 无论是瀑布式还是敏捷式都充满各种专业术语和奇怪的规范。两者都可以非常的低效。看上去只做最基本的有时真的很难。
9. 开发者有的时候非常极端:不是用成千上万的模式和最佳实践把所有东西都过度设计,就是直接了当的使用“意大利面条”式的开发风格。
10. “快感已经不再”很多开发者、构架师和经理们已经失去了他们的狂热和激情。这也是为什么许多工程如此低效的原因之一。
11. 即使像留言板这样的程序,也要考虑高可用性,不掉线、集群。复杂性统治一切。
12. 奇怪的质量保证规则(比如文档化很明显的getters/setters方法)加大开发和维护成本。
13. 构架师和开发者热爱框架。即使对于最简单的增删查改类的程序,也要用到internet://**/*.jar,而不是Java SE或者应用程序服务器提供的API。
【英文原文】
如果真的出现这种情况,那就太可怕了:
一定要找那最流行的框架,
用功能最强大编辑器,
做就要做最复杂的系统,
轻量级的绝对不行,
框架最简单也得是SPRING,
什么EJB啊,HIBERNATE啊,SEAM啊,能用的全都得用上,
表现层要可配置、持久层要可替换,
程序最好能用一万年,
客户一见面,甭管有事没事,
都得问人家:您准备换框架不?
系统还得能够集群
访问量再小也得同时开10几台服务器
一天24小时在线
火星撞地球了都能提供服务
服务器上跑得都是weblogic、websphere
你要用一jboss,都不好意思跟人家打招呼
你说这系统,得做多长时间?
(怎么地也得5年吧?)
5年?那是一期工程,
10年起,
你得揣摩老板的心理,
愿意花5年开发一套系统的老板,
根本就不在乎再多等5年,
什么是软件工程你知道么?
软件工程就是,搞什么都不用最好的,用最复杂的
所以我们口号就是:
不求最好,但求最复杂。
Popularity: 22% [?]
No Tags
August 1st, 2008
昨天还谈到了NetBeans,因为重新开始Groovy/Grails,才又接触了NetBeans。 DZone的RefCard系列很火,最近又出了NetBeans IDE 6.1 Java Editor。 虽然我说我是Eclipse的fanboy,但是用NetBeans来写Groovy/Grails,如果有一个RefCard还是不错的,至少可以很快地找到一些快捷键和一些常用设置。

DZone对这个RefCard的介绍:
The only IDE you need! You’ll find this reference card helpful if you want to get as much out of the Java editor as its authors intended when creating it. It lists all the keyboard shortcuts in carefully thought out categories and it provides a thorough exposition of optimal handling of Java code in the editor, covering viewing, navigation, source handling, and refactoring.
Features include Getting NetBeans IDE, Development with NetBeans IDE, Keyboard Shortcuts and, Code Templates, Quick Options Windows Overview, Hot Tips and more.
【评论】还不至于是“the only IDE”吧。
在这里下载。
Popularity: 17% [?]
Tags: netbeans and refcard
July 19th, 2008
GlassFish Refcard 发表了。

Refcard包含的内容有:Installing GlassFish, GlassFish Domains Profile, Common Administration Tasks, Create a JMS Resource, Clustering and Load Balancing, Hot Tips。
值得打印出来,装订成真正随手可得的参考手册。
Popularity: 15% [?]
Tags: glassfish and java
July 10th, 2008
JDK 6 Update 7 发布了,内部版本号为1.6.0_07-b06,简称6u7。 JDK 6u7中的一个重要功能是:Visual VM 1.0发布了。
Java VisualVM
Java VisualVM is a tool with a visual interface for viewing detailed information about Java applications while they are running on a Java Virtual Machine (JVM), and for troubleshooting and profiling these applications. ……
Java VisualVM federates these tools to obtain data from the JVM software, then re-organizes and presents the information graphically enabling you to view different data about multiple Java applications uniformly, whether they are running locally or on remote machines.
在包含JConsole的同时,Java VisualVM提供了更强的功能,界面也更好看。

Java Visual VM 启动

Java Visual VM Overview 界面

Java Visual VM Monitor 界面

Java Visual VM Threads 界面

Java Visual VM headdump 界面 (图片来自dev.java.net)

Java Visual VM Profile 界面 (图片来自dev.java.net)
Visual VM对JDK版本的支持:

下载JDK 6 Update 7: http://java.sun.com/javase/downloads/index.jsp
Visual VM:https://visualvm.dev.java.net/index.html
Popularity: 30% [?]
Tags: java and visual vm
July 2nd, 2008
Spring 2.5 Reference 的中文版终于在2008年7月1日凌晨正式发布了。 在其 wiki 的声明中说:
Spring中文参考手册得到Spring Framework开发团队的直接授权和大力的支持,其目的是在中文世界推广优秀的开源技术。本次翻译活动由满江红开放技术研究组织(http://www.redsaga.com)和Spring中文论坛(http://spring.jactiongroup.net) 共同发起、组织。我们在此郑重宣布,本次翻译遵循原Spring Framework的授权协议,即Apache 2.0协议。在完整保留全部文本(包括本版权页),并且不违反Apache 2.0协议的前提下,允许和鼓励任何人进行全文转载及推广,所有参与人员放弃除署名权外的一切权利。
项目主页:http://wiki.redsaga.com/confluence/display/Spring2/Spring2.5 (内有下载地址)。
Popularity: 20% [?]
No Tags