月归档:十月 2009

为什么压力测试会耗费我们如此多的时间

我遇到很多客户做过压力测试 – 有大规模的,也有小规模的 – 有用开源工具的,也有用商业软件的。 压力测试本身变得越来越容易,越来越可以支付的起——因为出现了很多很好用的压力测试工具。还有一些公司提供在线压力测试服务。尽管做压力测试越来越容易、越来越有效率、而能花很小的代价产生很大的压强,但是我的所有客户都遇到了同样一个问题:压力测试并不会报告是什么导致了问题。它只会报告这有了问题,例如:查询页面在并发50个用户使用时变慢下来,但它不会显示什么导致了变慢。捕获到的性能统计数据例如CPU和内存使用量只是强调了潜在的问题区域,但并不会指出实际的根源在应用程序的什么地方。

| 没有评论

谷歌展望它的千万台服务器

Google 从来都没对人说过在他们的数据中心究竟有多少台机器在同时运行。但在最近在一个 Google 工程师的报告中显示Google计划将会运营多达千万台的服务器。 在关于大规模技术系统的 ACM 研讨会 上Google的创始人 Jeff Dean 是主发言人之一,他讨论了关于公司强大的基础架构上一些技术细节问题,这个基础架构是通过若干个遍布全球的数据中心构成的。

| 1 条评论

编码混乱是技术上的债务吗?

“技术债务(technical debt)”这个词是由Ward Cunningham 发明的,用来描述为了在最后期限前实现某个项目任务而让开发团队做某种技术上的妥协。 这里有两篇博客文章,Uncle Bob 和 Martin Fowler 分别在里面描述了几乎所有项目都可能会遇到的各种技术债务。

| 没有评论

移动应用的开发即将流行了吗?

根据我们最近一次的关于 Java 趋势的问卷调查(也许你也参与了),移动应用开发在大家的意向以及项目里仍旧保持稳定的向上增长的趋势。这个调查结果出现在像TheServerSide这样主要关注于Server端Java编程的社区来说是不寻常的,尽管统计出的结果仍然低于20%的比例。 移动应用开发领域的显著增长是有现实原因的;大部分我认识的人基本上都有一个某种类型的智能手机,介于手机和其他媒体设备之间的工具,看起来它将孕育着下一波的开发热潮的到来。

| 没有评论

使用Google Collections, Guava, and Static Imports来简化你的Java代码

Java程序员经常会有这样的抱怨:在Java里,一些常见的功能却需要大段的代码去实现。有些人试图去寻找一种更简洁的、能够作为替代品的其它JVM语言,另外一些人却在致力于从API层扩展现有的各种Java特性来解决Java的繁冗的问题。 最近有两个以扩展API为途径的范例项目,它们是Google的Collections 和 Guava 类库。不久前的一篇博客,“ 使用 Google Collections, Guava and Static Imports 美化你的代码(英文) ”里,Aleksander Stensby 列举了这些类库是如何让Java编程更有效率的:

| 1 条评论

编程能力的四种境界

人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期,他就指出我们的意识里分“潜意识”,“前意识”,“意识”。 如 果我们想能清楚他们分别跟我们的思想、感觉、认知、判断和动机(这这些在我们每天的生活,职业生活中都是关键因素)有什么关联,我们可以把我们自己描述成 一个冰山。 冰山的尖端,唯一能从水面看到的一部分,可以当作是我们的的意识。 它是有逻辑、有组织的,我们可以控制它,但这部分很小。 这庞大的水下的部分是我们的意识不到的。 它们是无组织、无逻辑、无关联的,但它们取能决定我们的行为特征。 现代心理学上一直试图通过观察一个人能够在这个冰山上打多深的孔来分析一个人能够什么程度的掌握一种技能。 人们把一个人能够到达的能力描述成四个阶段。 这篇文章里,我将试图把这种分类应用的我们每天都会应用的技能上,它就是编程。

| 没有评论