Oracle 开始搞小动作,要毁掉 MySQL

Oracle在2010年收购Sun Microsystems,令开源资料库MySQL一起也被收归Oracle的旗下。然而为免开源的MySQL影响自家品牌Oracle Database的收入,有人发现Oracle开始开始搞小动作,目的是要毁掉MySQL这个「养子」。

众所周知Oracle一直是开源技术的「积极用家」,只会利用开源技术的好处来赚钱,但从来不会回馈开源社区。然而Sun Microsystems旗下有数个非常重要的开源项目如OpenOffice.org、MySQL和VirtualBox,Oracle收购Sun后为免閒言閒语,并没有即时中止有关项目。MySQL是目前最受企业欢迎的开源资料库之一,更加是Oracle Database的理想代替品,自然成为被开刀的对象。最近发布的MySQL 5.5.27,就被发现被静悄悄地拿走了Test Cases。究竟Test Cases有多重要?

任何开发者,都有需要经常为程式加入修正档,MySQL也不例外。在给MySQL加入修正档后,不仅需要测试新增的功能,同时更重要的问题是,需要对原有的功能作回归测试,目的是确认新增的修正档不会导致其他功能产生新的臭虫。Test Cases是一个以MySQL架构mysql-test和内部引擎为测试对象的工具,可通过执行一个Case,将该Case的输出结果,与其他已证实没有问题的MySQL版本上的执行结果作比对。如果某个Case的执行结果不一致,便代表这个版本的MySQL有问题。

mysql-test自1999年起一直都有被使用,此举自然令开发者除虫的工作更加困难。今天MySQL已经被大量企业採用,令问题有进一步增大的倾向。Facebook、Twitter甚至中国大陆的淘宝网都有使用MySQL,其中Twitter的时间线、用户资料和发言的技术都要使用MySQL,暂时未知道会造成什麽影响。

另一个Oracle搞的小动作,就是删除了MySQL的修正记录。MySQL每次都会更换数百行的源程式码,每一个change sets表示了特定功能的改良部分,并记录了修正者的名字、日期时间和理由。没有了修正记录的话,开发者将难以记起修正了什麽,或者作出了什麽修正。不少开发者都在Hacker News留言,表示也许是时候放弃MySQL,从新开发一个真正开源的资料库。开发者集体逃亡在Oracle国王统治旗下发生已经不是第一次,过去亦增发生OpenOffice开发人员集体离家出走事件,OpenOffice原班人马创造了新的开源办公室软体LibreOffice。MySQL会不会演变到同一地步,值得大家密切注意。

8 个 Node.js 链接:HTML5游戏、数组等

这里有 8 个链接,主要关于 Node.js 开发者相关的 HTML5 游戏和数组:

Command Line Node.JS

A Very Cool Drawing Game in Node.JS with Source

Upping the Heap Limit in the v8 JavaScript Engine for Node.JS Usage

Hosting and Developing the HTML5 Game Cobalt Calibur with MongoDB, Node.js and OpenShift

A WorkQueue for Node.js

Font Package Manager written in Node.Js

Localised JavaScript

Javascript Array Tutorial

对于JavaScript,开发者更关注哪些方面

在技术社区或论坛中,某一个技术或观点可能会引起用户的广泛讨论,甚至争吵。但也有一些技术帖子则比较平静。

James Padolsey观察了一些JavaScript社区,总结出了开发者更关心JavaScript的哪些方面,或哪些技术更容易引起开发者之间的激烈讨论。

以下是容易引起开发者激烈讨论的主题:

  • 自动插入分号
  • eval是令人讨厌的
  • ECMAScript 5 shims(shims主要目的是解决HTML5元素在旧IE下的样式问题)
  • 浏览器支持
  • JSLint、JSHint
  • JavaScript vs. CoffeeScript
  • JavaScript vs. Dart
  • ECMAScript 5/6的特性(例如“=>”)
  • 编码约定(white-space、大括号)
  • MVC框架(Backbone、AngularJS、Knockout、Ember等)
  • Node.js
  • 毫秒级的性能差异
  • jQuery vs. Dojo vs. YUI vs. Prototype vs. Mootools vs. ExtJS
  • 原生原型增强

在社区中,有很多针对上述主题的、非常有价值的讨论,但往往也有很多无事实依据的、只是维护己方观点的争论。

而下面的这些主题,开发者也会比较关心,但不会出现类似于上面主题的激烈的讨论:

  • 压缩工具
  • JavaScript引擎
  • 构建工具
  • Web检查器/分析器
  • API命名规则
  • AMD(Asynchronous Module Definition,异步模块定义)

作为JavaScript开发者,你更关注哪一方面呢?

6 个典型的 HTML5 文字特效示例

在HTML5出现之前,网页上的文字比较单一,除了设置大小、颜色、粗细之外,没有任何出色的特效,当然优秀的文字排版也能让页面显得舒服温馨,但 是当我们需要让页面变得震撼惊奇的话,那么HTML5就能帮助我们实现一些超酷的文字特效了。下面是6个典型的HTML5文字特效案例,仅供大家参考。

1、7组绚丽的jQuery和CSS3文字动画特效

文字特效在CSS3产生后也有了很大的发展,利用各种CSS3属性可以让你的文字在网页中分外动感。下面分享7组绚丽的jQuery和CSS3文字动画特效,一起来欣赏。

2、HTML5弹跳文字特效

今天我们分享一个来自于html5canvastutorials的超酷弹跳球效果,这里我们使用纯HTML5的画布来实现动画及其图形。整个效果 使用小球来组合生成字体,如果你的鼠标逼近这些小球,它们会四散而逃,当你的鼠标离开后,它们又自动复原,效果很酷,希望大家喜欢!

3、CSS3文字按指定路径方向显示

在CSS3还没出现前,网页中的文字只能水平来显示。但是有了CSS3后,我们可以实现文字按指定路径方向显示。这里利用CSS3的text- transform options: rotation, skew, matrix, transform-origin等属性来实现对文字按不同的路径方向显示。

4、CSS3燃烧的文字特效

这是一个用CSS3结合jQuery实现的燃烧的文字特效,这个特效主要用到了CSS3的text-shadow属性,并结合jquery动态渲染投影,从而实现了文字燃烧的效果。

5、CSS3文字镂空特效

这篇文章主要向大家介绍一下如何利用CSS3中的-webkit-text-stroke属性实现文字镂空效果。-webkit-text- stroke可以为文字添加边框。它不但可以设置文字边框的宽度,也能设置其颜色。而且,配合使用color: transparent属性,你还可以创建镂空的字体。

6、6个典型的CSS3文字阴影

用CSS3实现文字的阴影效果非常简单,下面的6种阴影文字特效非常具有代表性。不同的阴影方式有着不同的渲染效果,除了普通的文字阴影,还能实现发光、燃烧、多重阴影等效果的文字。

以上就是6个典型的HTML5文字特效,希望大家会喜欢。

以用户的角度给 Android 开发者的一封信

相比起苹果在HIG(iOS Human Interface Guideline)中提到的尊重用户、分析手势操作设计以及对UI框的规范指导,Android的用户原则中所提到的内容就显得更加亲切。

如果你感觉到学院派的论调已经让你在设计过程中感到一种枯燥,不妨试试以用户的角度给自己的设计提点意见。

吸引我的眼球

用意想不到的惊喜来取悦我

一个漂亮的界面、一个精心设置的动画、一个适时的音效反馈都是一此愉快的体验。通过将不同的细节特效组合起来,除了可以在视觉上更加自然,更可以让我感觉到自己掌握了一种强大的力量。

真实的对象比按钮和菜单更有趣

在应用程序中让我直接接触和操作目标,可以让我减少认知成本,同时也让我可以获得一种满足感。(现在的我不希望每一次的操作都像是在玩文字冒险,每次只有一个按钮,然后在上面进行文字注释)

给它打上“我的”标签

我更喜欢添加属于自己的个性化风格,因为这让我感觉这就像是身处自己的家里一样,一切尽在掌握之中。你可以向我提供一个智能的、漂亮的默认方案。同时你也考虑添加一些有新意却对主要任务不造成影响的自定义项目。


尝试去理解我

在我使用了那么多次你的应用以后,你应该了解并记住我的行为和使用。不要让我一遍又一遍的去重复相同的操作,最好你能让我直接使用我曾经做出的选择。

简化我的生活

保持简洁

向我说明时,请使用简单的单词和短句进行说明——我在阅读时很有可能直接跳过你写的那些又长又复杂的句子。(你不会让我读了一遍发现没效果,又重头再细细的读一遍吧)


图片比文字更直白

请你尽量使用图片向我进行阐述。因为图片更能吸引我的眼球,也往往比文字更能让我有直观的理解。


替我做出选择,但最终由我做出决定

你可以预先猜测我的需求,然后向我推荐你最好的解决方案,但是不要一开始就胡乱给我一堆的询问和选择。太多的选择以及被迫决定会让我非常烦恼。还有,以防万一记得给我一个“撤消”的按钮。


只在我需要的时候向我显示

同时让我看的太多,会让我感到难以承受。所以,你最好把那些复杂的任务和信息分解成多个便于操作和理解的步骤。目前对我没有必要的选项,暂时不要向我展示,同时也要告诉我在需要时我应该到哪儿去找它们。

你应该让我知道我身处在什么位置

让我清楚地知道当我在使用应用时,我身处的位置和通往其它操作的路径。让你应用的各个部分区分明确,并在界面切换时使用适当的过渡效果,用来向我叙述它们之间的关系,让我尽可能多的理解你的应用。


请不要随便丢掉我通知过你的设置要求

请你保存好我花费了时间与精力专为你准备好的内容与个人设置,让它们可以在任何时间任何地点都能代表我曾经使用过你,并且可以在手机、平板和PC之间同步更改。如果这样的话,以后你要进行升级或者其它方面变动,我也更愿意尽量的配合你。


如果你们看起来是如此的相似,那么你们给我的服务也应该相同

请你在设计时,尽量在视觉上使用明显的差异来帮助我区分你所提供的功能上的不同。避免让你看上去相似的样子、我用手指触碰你的时候却发现你长的对不起你的功能。


只有在重要的时刻才打断我

你就像一个属于我的私人助理一样,不应该在无关紧要的时候打扰我。我希望能更加集中精神的完成手上的任务,除非你发现了十万火急的事情需要我处理,否则还是不要随便打断我的任务,这会让我感到不开心,嫌弃你。

让我眼前一亮

给我最实用的那三板斧

当我摸索出你为我设计好的使用技巧时,我会感觉非常的亲切。在你的应用程序里,我使用了其他Android应用广泛采用的一些操作技巧,发现你采用 可许多相同的视觉模式和肌肉动作,这让我很容易就上手了,并且真的很满足。比如,我经常使用的“轻扫”,这是一个我在Android应用中经常使用到的导 航快捷手势。


我知道不是你的错

友好礼貌地提醒我改正错误——在使用你的应用时,我不希望你让我感觉到自己很蠢。所以,在使用的过程中出现错误提示的话,请你清楚简明地给出一个解决方案,以便让我能够尽快的反应过来,加以修正。

避免提及那些我看不懂的技术术语(我已经受够了微软动不动就提示我10个数字的错误代码,希望你能理解)。当然,如果你的应用能够把这些“事故”在后台偷偷地为我处理掉,那就更完美了!


请积极的向我反馈你的设计

把一个复杂的任务分解成多个较小的步骤,可以让我更轻松地顺利完成它。让我在每次行动后都收到一个反馈的响应,即使只是一点微弱的荧光也会让我感到亲切。


为我能用更简单的方法完成无法想象的高难度任务

用一个像我这样的菜鸟也能够理解的简单操作,完成我从未想象过的达人成就。例如,可以自动组合多种照片滤镜效果的一键功能,简单的几步操作,就可以使业余的照片变的看起来很有范儿。

优先处理更重要的事情

并非所有操作的优先度都是一样的。我需要在设计时了解到我最重要的应用功能是什么,并让这个功能可以在我需要的时候更快的发现和使用它——比如说相机的快门,或者是音乐播放器的播放/暂停按钮。

Via: Android/雷锋网