Category: 升级


网络维护日

明天是一年一度的网络维护日,主机将进行维护,暂停除rek.tw外的全部服务。维护时间一天,后天将恢复服务。届时一批软件将升级到新版本,为了应对OAuth时代的来临。

Ubuntu 10.04来了

Ubuntu9.10带来了“云计算”,还把SCIM和Pidgin都改成了非默认组件,使用还没怎么习惯,现在Ubuntu10.04又来了。10.04是一个LTS版本,支持从8.04或者9.10直接升级。
和9.10相比,新的10.04版拥有许多新特性,首先一个就是升级了Gnome,使用最新版Gnome的Ubuntu桌面体验有不少改进。当然相信这对显示计算能力的要求也会大大增加。Firefox的默认搜索引擎由Google改成了Yahoo,看来Firefox和Chrome的浏览器竞争开始全面展开了。曾经有人说Google助力Mozilla是为了让Web标准化,然后自己发展Chrome是为了应用网络化,并推广Google的WebApp,现在看来是很有道理的。UbuntuOne新增MusicStore,看来云计算赚钱的日子也快来了。还有一堆BugFix和驱动升级也是每次新版本必然带有的。
和一切.04版本一样,10.04将会在今年4月底发布正式版,拭目以待。

Blogger将要停止FTP发布服务

今天收到电子邮件,说FTP发布服务已经成为Blogger.com发展的障碍,很多新的功能无法惠及FTP发布的用户,而且用FTP发布的用户只占0.6%。新版本的blogger平台将不再向FTP发布技术兼容。今年三月二十六日,FTP发布将从blogger.com移除。建议持有自己域名的用户改用自定义域的方式发布。
我只能表示悲哀,Blogger.com的决定是没错的,因为在全世界大多数国家,没有使用FTP发布的必要。但是在中国这样一个有墙国家,通过FTP发布成为让普通网民可以访问的唯一途径。
下一步该怎么转换我的Blog还没有想好,不少朋友推荐Wordpress。不过我觉得这个东西实在不保险,天知道哪天被墙。另外也在考虑自己开发一个Blog发布系统,不过工作量似乎挺大,意义却不大。

经过试用,Windows7在β版已经要比Vista好得多了,加上对硬件的要求可能甚至低于Vista,选择降级的用户应该不会很多。但不论如何,XP依然是微软新操作系统的最大的挑战。

个人认为造成这种局面的根本原因在于XP的生命周期太长,导致大量为XP编写的软件和大量只支持XP的硬件。Windows7升级面临的第一个问题是驱动兼容问题,国内大量中小型工厂生产的鼠标、键盘、网卡、摄像头等设备往往只有XP驱动;另一个兼容问题莫过于Windows7预装的IE8所带来的互联网兼容问题,国内大量只支持IE的网站突然变成了只支持IE6和7的软件;不少国产小作坊的软件现在对Vista的支持尚不太好,更不用说支持Windows7了。

兼容性问题将是企业用户升级到Windows7首要需要考虑的问题。如果花大笔经费升级软件之后,导致硬件淘汰,生产用软件无法兼容等状况发生,企业势必会选择依然保留XP系统。而新采购的预装Windows7的计算机也八成会选择降级到XP。

对于软件开发人员来说,软件不得不考虑Vista和7的UAC设计,同时也不得不兼容XP的旧的方式。面对多种Windows系统并存且互不兼容的状况,也许会成为软件开发人员的一个挑战。

PHP5.3RC试用笔记1

PHP5.3中提供了命名空间的支持。和α版的时候不同,在RC版中命名空间分隔符不再使用::,改为使用\。这样可以比较方便的区分命名空间引用和类静态方法调用,不过感觉那个\超级难看。

命名空间有两种声明方法,其一是用花括号括起来,就像C#里面那样,另一种方法是直接分号分隔,作用到下一个namespace标记或文件末尾。命名空间的声明不能跨文件,如果多个文件编写了同一命名空间中的类,需要各自声明同名的命名空间。废话少说,先看代码:

<?php

namespace AA;

class A {

        public static $a = 100;

        public function show() {

                echo self::$a;

        }

}

?>

这段代码和以下代码是等效的:

<?php

namespace AA {

    class A {

        public static $a = 100;

        public function show() {

            echo self::$a;

        }

    }

}

?>

不论哪种方法,调用的时候都可以直接用use语句引入

<?php

include_once(‘A.php’);

use AA\A;

$a = new A;

$a->show();

?>

当然也可以直接使用命名空间的完整路径

<?php

include_once(‘A.php’);

use AA\A;

$a = new \AA\A;

$a->show();

?>

注意这段代码中命名空间AA前面增加了一个\,这样命名空间就使用绝对路径,如果当前文件中已经声明了某个命名空间,并且需要在其中调用其它空间中的内容,可以使用绝对命名空间路径。use语句也支持绝对路径。

Powered by WordPress. Theme: Motion by 85ideas.