从 SVN 到 Git,从 Github 到 Bitbucket

我最近把我的代码从 SVN 迁移到了 Git。由于太多的项目使用 Git,我已经无法不用 Git 了。作为一个 SVN 用户,Git 一开始看起来超级复杂,但它的理念挺有意思的。而 merge 操作也确实更轻松。我还称不上 Git 专家,但是我已经能满足日常需求了。我的一些代码已经放到了 Github 上面。Github 很不错,易于使用,并且 UI 做的很好。但是有一个问题,如果你想要一个私有的代码库的话,你要交$7一个月。

幸运的是,我的一个同事向我介绍了 Bitbucket.org。他们提供无限的私有代码库,只要用户不超过5个人。对我来讲这足够了,因为基本上就我一个人在这些项目上工作。还有,他们提供从 Github 的迁移功能 :)

 

原文链接OSChina.NET 原创编译

IE浏览器市场占有率停止下跌 回升至53%

根据网络调查机构 Net Application 提供的数据显示,IE 浏览器市占率从今年起开始止跌回升。在 Windows 7 操作系统上,截至 2 月底 IE 全球市场占有率为30.1%,美国地区市场占有率为 40.5%。从 Net Application 网站上显示的全球浏览器市占趋势中,可看出 IE 的使用百分比在去年 12 月降到最低 51.87%,不过从今年 1 月起,市占率开始呈现上升态势,回升到 52.96%,到二月底时略为下降,不过仍维持在 52.84%。

Google Chrome 浏览器去年持续成长,年底时市占率为 19.11%,不过今年起开始下降,目前看起来在 18.9% 左右徘徊。Firefox 则是从去年一直跌到今年,不过上个月看起来下坠之势稍有缓和,目前市占率为 20.92%。

浏览器市场占有率趋势
浏览器市场占有率趋势

 

微 软在官方博客同时公布 Windows 7 操作系统上,IE 9 的使用状况。在全球市场范围内,IE 9 使用比率为 30.1% 排名第一,Firefox 10 为 21.9% 排名第二,Chrome17 为 18.9% 排名第三。在美国市场内,IE 9 使用率窜升到 40.5%,Firefox 10 则为16.8%,Chrome 17 是 12.5%。

IE浏览器市场占有率停止下跌 回升至53%IE浏览器市场占有率停止下跌 回升至53%

微软在官方博客上公布 Windows 7 操作系统上的浏览器市占率统计

网易科技

 

三月即将开源的 webOS 组件:WebGL、硬件层等等


 

随着二月底放出了Enyo 2.0 UI widgets,惠普如期实现了他的开源承诺,那么,随着三月来的到来,这个月我们会看到哪些开源组建放出呢?惠普负责webOS的CTO Sam Greenblatt 在开发者博客中说,我们将继续按照开发者路线图中的说明继续。

三月份的开源行动将进一步放大,在已经发布QtWebKit框架来整合的Open GL ES和WebGL图形库以外,音频方面的支持也将放出(流媒体框架:GStreamer)。

我们也将看到实施基于Linux标准内核V3.3 的全新硬件驱动表现层,代号为“NYX”。那么,究竟NYX可以提供什么样的硬件访问呢?我们还需等待三月的webOS开源代码,嗯,三十一天之内就见结果,呵呵。 

webOS的数据库也将被释出,LevelDB,以及提供给开发商的MojoDB/DB8,还有,在本月稍后的日子里,我们将看到Novacom USB驱动程序。

 

小编说:非常抱歉的说,最近有几篇文字错字错的离谱….在这里给大家道歉。

另外,关于webOS驱动的事儿,我倒是觉得Novacom彻底开源才是正经事,别的到底有多大意义,我也不敢妄下定论, 毕竟驱动放出来以后,让极客们可以把webOS更轻松的移植到其他机器上,这一点才是开源对webOS这样的移动操作系统最大好处所在。

胖鱼网编译,原文地址:http://www.webosnation.com/coming-march-open-webos-webgl-hardware-abstraction-and-more

Chrome全球份额连续两月下滑 难超Firefox

尽管Chrome自发布以来就势如破竹,不过近期却出现了停滞甚至后退趋势。美国市场研究公司Net Applications的最新数据显示,今年2月份IE市场份额为52.8%,而Firefox和Chrome则以20.9%和18.9%位列第二、第三。Chrome正在逐渐下降,Firefox则稳中有升

Chrome浏览器的市场份额在去年不断增长,12月份时曾达到最高的19.1%,不过今年起开始下降,2月份降至18.9%,这也是Chrome份额连续两个月下滑。Net Applications分析认为,Chrome尚难以赶超Firefox

Safari是上个月市场份额增长最快的浏览器,达到5.2%,创下自Net Applications推出浏览器市场份额排名以来的新高。Safari份额大幅上升并不令人吃惊:Mac OS X市场份额的增幅也在2月份创下一个新纪录,而Safari用户则主要由Mac OS X用户构成。

在各种版本IE浏览器中,IE6上个月市场份额下降最多,跌至6.9%,而IE7跌至4.7%。与此同时,IE8和IE9的份额分别增长0.4%和近1%。IE9的全球市场份额由此攀升至12.6%。

不得不提的是,除了各种浏览器市场份额发生的此消彼长外,一些外部因素也影响了这些数据。首先就是Google今年1月初对Chrome排名执行的 为期60天的自罚措施(Google因为违反了自己的广告规定而惩罚自己),这或许也是Chrome市场份额的增长出现了停滞的原因之一;其次是 Chrome新增的网页预渲染功能,Chrome是目前唯一能提供该功能的桌面浏览器,但Net Applications指出在统计Chrome的市场份额时,该功能带来的访问量不应列入数据统计。事实上,在2012年2月预渲染功能带来的访问量占 到了Chrome访问量的4.3%。

Chrome全球份额连续两月下滑 难超Firefox

Chrome全球份额连续两月下滑 难超Firefox

做移动互联网App,你的测试用例足够吗?

 我在面试测试工程师时,经常问到的一个问题是“给出Word另存为这个功能的测试用例”。除开基本的测试用例外,考虑到各种异常情况,例如内存已满、硬盘空间不足是非常重要的。但是针对移动互联网App来说,情况还要复杂的多。

    一个重要原则是:测试你最终要发布给用户的App版本。

    可能每日构建、每日测试的理念已经深入人心,我们很多时候测试的只是App的开发和Debug版本,而不是最终的Release版本。在打包最终的Release版本时,我们一般还要加上数字签名,或者再加上代码混淆。那么最终的发布版本和Debug版本肯定有不一致的地方。我们iPhone的App曾经使用过一个第三方开源库,在Debug版本时完全工作正常,但是正式上线后才发现必定会导致崩溃。这个代价和经验非常宝贵(其实这个开源库的论坛上已经讨论并警告过这个问题)。我们后来花了许多力气来修正和弥补这个问题。如果在一开始就针对Release版本进行了测试,这样的问题是不会出现的。

Debug& Release

 

    测试网络相关的App,有三个非常重要的最佳实践

    1、2G、3G、wifi都要覆盖

    这三者之间不仅仅只是网络速度的差别,它们代表了三种不同的网络环境。另外你可能没有想到一种特殊的情况可以用它们来测出问题:开发环境和生产环境。

    一个有经验的开发团队会在内网搭建测试环境来进行开发时的测试,在上线时将配置切换到线上的生产环境。这个切换应该是在发布流程中需要Check的一个环节。但是,我们有可能遗漏。

    所以这个测试用例可以用来防止这种情况的出现,在wifi下内网环境可以work fine,但是2G和3G就不行,只有真实的环境下2G和3G才能正常工作(想想2G和3G是否可以正常访问http://192.168.1.xxx这样的地址就可以了)。

    2、HTTP、HTTPS都要覆盖

    许多App和后台服务都是通过HTTP来交互的,正常情况下都一切正常。为什么需要测试HTTPS环境?在一些免费上网的环境中,例如在麦当劳、星巴克里,它们的网络环境都要输入用户名和密码,通过SSL认证来访问网络。如果你使用HTTP Client的library对这种异常没有做捕获处理,那么你的App必定会崩溃掉。

    3、进行网络异常、服务器宕机或出现404、502等情况下的测试

    后台服务的稳定性是你有时很难去控制的,尤其是牵涉到DNS、空间服务商的情况下。国内某著名DNS服务商经常出现大规模域名解析故障,碰到这种情况,你对后台API的请求很可能就会出现404错误。而你和API交互的数据应该是某种固定格式例如JSON和XML,这样你的数据解析必然会出现错误,抛出异常。如果你对异常没有进行正确的处理可能会导致程序不能正常工作。以下用伪代码解释一下逻辑:

 

[html]  view plain copy

  1. try {  
  2. if(request() == success) {  
  3.     callSuccess();  
  4. } else {  
  5.     callFail();  
  6. }  
  7. hidePopup();  
  8. } catch(e) {  
  9.     // do nothing, just wait….now popup window will show forever on the screen!!!  
  10.     // if it is a iOS app, the popup window will lock the screen  
  11. }  

 

    而针对不同的手机系统也有需要注意的地方。Android系统固件1.5、1.6和2.0以上版本都是要分别详细测试的。因为Android 1.5、1.6及以上的SDK有很多实现不一致的地方,兼容性有很大问题。在没有做特殊处理时,可以在Android 1.6上正常运行的程序基本在1.5上打开就会崩溃(资源文件和API的问题,这个可以单独写一篇文章来解释这个问题)。

Andorid 1.5目前仍有1.0%的保有量

我测试Android1.5的机型:摩托罗拉Backflip

    针对iOS系统,除了iOS3、iOS4和iOS5的测试外。我只想说尽可能多,尽可能谨慎,尽可能苛刻的进行测试。受限于App Store冗长的审核周期,一旦你的应用出现严重系统错误,你的修复版本基本不可能在很短时间内在App Store上架。那么用户将需要容忍一周左右的时间你的App所带来的煎熬或者永远离去。

App Store的审核以严厉和时间长著称