红帽PaaS平台添加Node.js支持,未来将开源

据国外媒体报道,红帽的PaaS(Platform-as-a-Service,平台即服务)平台OpenShift目前已经添加了对于Node.js的支持。

Node.js是一个 JavaScript运行时(runtime),实际上它是对Google V8引擎(应用于Google Chrome浏览器,执行JavaScript的速度非常快,性能非常好)进行了封装。Node.js对一些特殊用例进行了优化,提供了替代的API,使 得V8可以在非浏览器环境下运行得更好。

在OpenShift平台上使用Node.js功能的说明:Node.js on OpenShift

此外,红帽还宣布了该平台的一个新的外观,重新调整了logo和网站界面,并且提供了一个新的管理控制台。项目开发团队还将Raw cartridge重命名为DIY,以反映出这是针对想自己进行cartridges(OpenShift的配置和测试容器)配置的用户服务的。另外开发 团队还制作了一个向导,以指导用户安装microhttpd服务器。

OpenShift目前还未开源,但是根据近期更新的FAQ显示,红帽承诺“将在未来几个月内开源”。

Via TheH

Scala 2.10 字节码将不再兼容 Java 1.5

来自 Scala 开发团队讨论的结果称从 Scala 2.10 版本开始,字节码将不再兼任 Java 1.5 。

做出此决定是基于以下几方面考虑的:

  • 从 09年10月开始 Java 5 已经结束生命周期,官方不再支持
  • Java 1.5 的并发限制导致 Scala 并发库的连锁反应
  • 加大了 Scala 构建和测试套件的复杂度
  • 那些在使用 Java 5 的公司看起来不会考虑升级到 Scala 2.10 版本

看起来似乎很符合逻辑,因为 Java 6 已经成为大多数企业的选择。但此举可能有相当一部分 Android 开发相关的问题,在 Android 2.2 以及更低版本的应用开发可能就存在兼容性的问题了。

赶紧重写 Java 的时间和日期 API 吧!

最近 Java.net 的投票问题是:“在 Java 8 中实现 JSR-310(新的 Java 日期和时间 API)有多么重要? ”在这篇帖子发布的时候,对该话题已经有超过 150 条回应。其中“觉得非常重要”(53%),“重写当然更好,使用当前的 API 也不错”(22%)这两种观点以压倒性比例盖过了其他各种意见。

显然,对于重写 Java 时间和日期 API 这件事情,有四分之三的回复者认为,“重写更好”或者“重写很重要”。我的观点同大多数人一样,我认为如下的说法并不为过:“Java 当前的 Date 类和 Calendar 类提供的方法并没有和广大开发者一同进步。”到目前我感到最惊奇的就是,居然有2% 的人选择了“我宁愿使用当前的时间和日期类”,我都不禁怀疑,是不是这些 API 的作者们投了这2% 的票呢?

赶紧重写 Java 时间和日期 API 吧!

我多次使用过Java的日期/时间/日历 API。当我用它们的时候,我真的不喜欢它们,但是我强迫自己学会容忍他们。有的时候我甚至忘记了这些 API 有多么恶心,直到我再次使用他们为止。我最近帮助过我的一个熟悉Java(但是不熟悉时间和日期 API)的同事,企图让他学会如何使用 Date/Calendar/String 类进行配置和显示。把这些乱七八糟的东西给他讲清楚是如此的困难,因为利用这些过于灵活的 API 写程序,对我自己来说本身就困难重重。从我同事的脸上,我看到了迷惑的表情,他一定认为我要么在跟他开玩笑,要么就是我自己都不明白自己在说什么。尽管我 可以让这些 API 按照我的意图工作,但是其难度远远超出了其应有的水平。

也有很多其他人表达了对使用 Java 时间/日期 API 所感到的痛苦。Rob Sanheim 在 2006 年提出了时间和日期 API 的问题,并将其纳入“最烂的 5 个 Java API”的范畴(Calendar、Date 和 DateFormat/SimpleDateFormat)。2005年,Cameron Purdy 的文章《七个可能造成功能性障碍的设计习惯》,把 Java 的日期处理 API 推上了风口浪尖。Tero Kadenius 在 2011 年的文章《Java 中的日期处理》再次提醒我们:“众所周知,使用 Java 时间日期 API 写程序是如此地痛苦。”2009年的一篇名为《Java 日期如此糟糕》的帖子,可谓是名符其实。

目前 Java.net 的调查结果应证了我的观点和大部分 Java 开发者是相同的。在阅读了大量的文章和博客后,我发现,绝大多数的 Java 开发这都迫切希望看到在 Java 中能出现一套更好的处理时间和日期的 API。

英文原文:javacodegeeks   编译:伯乐在线 – 黄小非

一名开发者从做技工的父亲那里学到的 5 堂课

所谓“隔行如隔山”,其实不然,在工作和生活中,大部分的知识和技能都是相通的。学会举一反三,对于技能的提升有很大帮助。本文是一名软件开发者从做技工的父亲身上学到的一些经验,而这些经验使他最终成为了开发者中的佼佼者。

以下为文章全文:

我的父亲是一名工程师——是机械工程师,不是软件工程师。在他成为机械工程师之前,他也做过技工和木工。他很聪明,同时在建筑和维修方面也很有 天赋(只要不涉及到电气即可,不过那就是另外一回事了)。他甚至在 60 岁时依然能做围墙、工棚和甲板之类的工作。当我和我的兄弟还小的时候,他就开始让我们接触一些他工作用的工具,因此,当我们发现需要修复或制作一些东西 时,我们有能力做好它。好吧,虽然他在我身上的教育几乎失败,但一路走来,我还是学到了很多重要的东西,而且,不管你信不信,这些我学到的东西,在我成为 一名优秀的开发者和企业家的路上,让我受益良多。

下面就是我从他那里学到的知识。

第一课:三思而后行

砍柴是一个一次性的工作。只要树木被砍掉,它就不可能再保持原样。因此,很重要的一件事就是确保你每一次的删除操作是无误的。甚至即使你确定你的做法是正确的,也请你无论如何再做一次评估。重新检查你的评估,确保它正确无误,这样你就可以避免犯一些本可以规避掉的错误,付出的代价也要小的多。

开发产品也是同样的道理。如果事先不测量书架要占用的空间的大小,你怎能做出与之大小相适合的书架?如果事先不知道用户的需要,你又何必去开发 一个无用的产品?这个道理已经提过很多次了,我在这里略过。但有个不被经常提及的事情是你的产品是一组功能的集合体,就像书架是一堆货架的集合体一样。每 一个功能都应该被认真对待,细心评估,以确保它适用于受众人群。重要的是不仅仅在项目开始就收集反馈,在整个项目的开发阶段,我们都要重视反馈,而不是等到结束了,才想起还有一些不错的创意没有实现。

第二课:粉刷一座建造好的凉亭会很困难

有一次,几个工人在家里修凉亭,他们在凉亭建好后才开始粉刷。爸爸看到后指出,如果这些工人能在这些木头放在地面上就开始粉刷的话,他们就能节 约1/10的时间,而且效果也会更好。粉刷之后只需做一些连接工作就可以很快的建造起这座凉亭。粉刷已经建造好的凉亭不仅又慢又不方便,而且还可能导致出 现一些不易刷到的地方,最糟糕的是,如果不幸的话,还会把这一切弄得一团糟。

在产品的开发过程中,很容易忘记设计和 UI,但这些很重要。以用户为中心的设计就是在设计页面时,以服务用户为第一要务,然后再开发相应的应用来支持这一设计。而以软件开发为优先并把设计放到最后,你将做更多的工作,产品也会存在潜在的缺点。UX 应该是一个持续不断的过程,不是某个可以随意丢弃的东西。

第三课:让你的项目和工作空间始终保持整洁

在一个杂乱的环境中工作一定会让你的项目结果变得一团糟。如果碎木屑到处都是,你就不可能粉刷好;如果你的工具都满覆油污,你就不可能把拆散的发动机零件再组装到一起;如果你用完工具后不搜集整理好,你可能永远都找不到你想要的螺丝刀。任何一个机修工都会告诉你工作在一个整洁的环境中有多么重要。糟糕的不止是你将花更多的时间用于寻找放错位置的工具,还会导致更多的损失。

每一个开发者的代码中都可能会有一些 bug。很多开发者都知道“代码债务”这个名词,它实际上只是从开发者的角度来看待这一块工作混乱的区域。如果你在源头埋下隐患,所造成的后果不仅仅是更 难发现 bug,而且在将来会更容易造成更多的混乱。最终你将不得不清理它们(特别是在你开始你自己的工作前,你将不得不去清理其他人留下的这些 bug!)。想必每一个开发者都知道修改别人代码时那种恐怖的感觉,并会意识到他们留下了一堆麻烦等着你去解决。现在花一点时间去整理你的工作空间,将来你会节约更多的时间。

第四课:始终使用正确的工具(而且在你的工具上别吝啬)

搞砸工作的一个主要原因就是使用了不恰当的工具。这虽然显而易见,但很多人就是意识不到这一点。用错了工具后的下场通常是一个灾难。别心疼钱,工作一展开就应该找到合适的工具。

工具选用不当虽然通常都是管理层犯下的错误,但我们开发者也要为此事负责。毫无疑问,一个用了 6 年的笔记本运行起来肯定会很慢。即便为一款文本编辑器花了 10 美元,但却选用了最蹩脚的一款,也不会有助你的工作。节省的这几块钱不会帮你赢得客户的心。最糟的是,利用盗版软件帮你赚钱,这是完全错误的做法。今天你 可能觉得你节省了一些,但在以后的运营中一定会花掉你更多的钱。找出最适合你项目的开发工具,然后花一些钱(除非它是开源的!)。当项目开始后,节约会特别具有挑战性。除非你需要,否则别乱花钱,但如果有些工具需要花钱才能使用,那就要选最好的。

第五课:如果方法都不奏效,那么去找一个更大的锤子

有时候你卡住了,这意味着你碰到了难题。有时候不管你多么用力,都无法将螺栓拧入螺孔中。有时候不管你多么用力敲打,钉子都不会被敲入。这时候你仅仅需要一把更大、更合适的锤子。

作为 BugHerd 的创始人之一,我过去常碰到一些本该寻求帮助的情况。但我挣扎着,我通读手册,看视频录像并参阅博客文章。然后我清醒了,并意识到无论我做什么,肯定有其 他人在这方面做得比我好。目前,我们有 2 位精通 JS 的同事,他们做的工作,比我们任何时候做的都要好。有很多为远程团队协作而准备的优秀的工具,因此,不要找借口说没有合适的同事和你一起工作。有时候,你仅仅需要接受现实,并找到相应的解决办法。

作为一个活跃在专业开发设计社区里的创业者,我常感到像活在培养皿里。偶尔停下来,观察一些较为传统的行业,看看我们能从那些做出卓越贡献的前辈那里学到什么,这也是一个不错的做法。无论我们认为我们有多聪明,也不论他们有哪方面的优点,我们总是能从这些前辈这里学到很多。

无需编程知识,Wix让你零基础打造HTML5页面

让没有Flash知识的人也可以制作支持Flash的页面,Wix正是以此而出名。如今该平台推出新服务,将同样思想应用到HTML5技术,让你零基础打造HTML5应用。这对HTML5技术的推动来说非常重要,因为它让大量的人可以通过它打造跨PC和手机浏览器的应用。

Wix 声称每个月有100万的用户通过他们的平台制作页面,在这些页面中,不仅仅有基于Flash的网页,更有专门支持移动设备浏览器的页面。而通过该平台制作 网页的行为为Wix每个月带来的流量超过了200万。新的HTML5服务非常简单,只需要几个动作就可以完成。Wix联合创始人Avishai Abrahami说:

我们向用户提供了特殊的工具,你可以通过这些工具为你的网页进行各种操作,比如修改或者建立 新的元素。你只需要懂得移动鼠标和点击鼠标,无需HTML方面的编程技术或者其它技术细节。它就像Office的PPT制作,只需对软件进行一些简单的拖 拽动作就可以完成HTML5页面的建立。

目前该平台为用户提供了50多种模版供选择,同时用户也可以选择自己设 计,但是这需要一定的技术。同时,该平台向用户每月收取4到16美元的费用。Wix也将目标锁定在另一个高速增长的手机页面市场,尽管手机上的APP越来 越多的成为人们获取信息内容的主要渠道,但是手机页面的增长同样令人乐观。

当某些网页和服务正借助它们为手机用户打造特殊服务的APP时,其它更多人则寻找一站式解决平台,比如HTML5。Wix将是第一批为支持HTML5而提供DIY平台的最主要公司之一。

至 于为什么现在才推出HTML5的服务平台,Abrahami说主要是之前微软的IE浏览器不支持,而那时的IE浏览器还占据着主要市场。如今市场已完全改 变,像Firefox、Chrome以及苹果的Safari浏览器已经慢慢主导市场,因此此时正是推出该项服务最好的时机。到现在,通过Wix平台制作的 手机网页达到了60万个,而通过它为Facebook上建立自己公司页面的数量也超过了45万个。该公司创立于2008年,去年获得来自大量VC的4000万美元投资

文章来自 36氪