Febird's Sky

Search & Research & Find
posts - 42, comments - 39, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

2007年10月3日

现在博客是不少,但是真正符合或者支持标准WebServices的Blog还是比较少的,比如能够对MetaBlog进行支持的就没有多少,就我看到的,也就是几个技术博客像cnBlog有。

像 目前的国内大多数门户网站的博客做的的却很棒,但是只是在Web上做功夫,只是让用户在Web浏览器中得到最好的用户体验,但是Web浏览器毕竟有他的权 限,比如说对本地文件基本没有什么操作权限,因此极易造成数据丢失,好不容易编辑好的文章由于浏览器死掉了,白白泡汤的,虽然虽然某些博客有保存到剪贴板 的功能,但那只是在用户提交的时候会将页面表单的内容保存到剪贴板,真正的也起不到什么效果。

我认为做网站或者软件,最终应该做到让二者没有区分,让“服务”来取代他们,软件中中应该能够方便的利用网络资源,而网络上的应用程序应该提供更丰富的接口。

在 这个观点上面,Microsoft的眼光很不错,首先.NET战略的推出,让软件成为服务在一定程度上得到了不少促进,虽然在这方面的不只微软一家,还有 Java的WebServices等。也让开发者爽了一把,再就是Windows Live战略的推出,更是让广大的老百姓受到益处,之所以叫做 Live,我想应该是从“生活”上面考虑的吧。

回到正题,关于blog API问题,现在很多流行的博客系统,比如Bloger,WordPress等等,他们有他们自己的接口,但是目前也存在这一些通用的标准接口API,比 如MetaBlog API ,Movable Type API等,这里面存在一个标准化的问题,我认为在未来的某一天,也许有一个真正的通用Blog标准,就像几年前微软的IE与Netscape的浏览器大战 一样,最终还转向和平了,这正是由于一个关于Web标准的机构W3C的成立。

关于Windows Live的产品,目前除了由原来的MSN升级而来的Windows Live Messenger外,其他的基本上都是Beta版本,不过虽然是Beta版本,可软件稳定性还是很好的,比如,我试过了Windows Live Mail(WLM)与Windows Live Writer(WLW),WLM基本上是和 Office OUTLOOK差不多的桌面邮件工具,是原来的outlook Express的升级版本,外观基本上和Vista一致,可以管理多个帐号,包括Hotmail帐户(这个Hotmail基本上原来是不能通过POP3来 在本地收取邮件的,只能通过WEB登录),还可以直接将邮件直接发布到博客。

关于Windows Live Writer 就是我要说的关于博客本地化的好工具,不仅支持Windows Live Spaces 的远程发布,而且还支持其他的API接口,微软还是比较人性化的,这年头在自己软件里面支持对手们的东西是需要付出代价的。

我 想像国内的门户网站们应该清醒的认识到自己的不足,眼光要看得更远,我问过搜狐的客服,他说他们暂时没有提供这样的服务(博客远程服务发布服务Blog API),也没有开发自己的发布程序,相信他们的实力是没有问题的,可能是出于某种因素吧(比如安全因素),希望门户们应该尽早开发出来类似的接口,不说 世界标准,至少应该有一个“中国标准”吧,这需要很多竞争对手的合作与包容,路还很遥远.......

附:

关于Windows Lives 的产品可以到Windows Live官方网站(http://get.live.com/wl/all)下载,

在我的Windows Live Spaces也有一个好的说明http://duanp.spaces.live.com/blog/cns!50859A65BC63E0CD!1134.entry

还有一个博客远程发布工具 maikr ,它们的程序员花费了很多心血写出了国内外大部分博客的发布dll,可以直接用,但是目前Bug不断,发布博客也是慢的要死,这里推荐一下,http://www.maikr.com/blogpartner/index.htm

最后希望大家在自己的博客人生中更加的舒服,快乐!

posted @ 2007-10-03 07:52 febird 阅读(148) 评论(1) 编辑

今天我在整理自己的硬盘和程序时,突然发现我的电脑Windows系统中竟然安装了326个软件(从Windows优化大师),其中还不包括没有记录的软 件(绿色软件等),我安装的软件是非常之多的,但并不是随便什么软件我都安装的,一般是比较有价值,实用性强的软件,或者是很想研究的软件,可以说如果有 什么最新的软件(对我有价值)我都会去试一试,除非硬件限制和磁盘空间过低(我很想装Windows Vista,内存不够呵,想安装Visual Studio 2008,硬盘空间少啊..),后来我有一个想法,不如将我自己在Windows中软件使用习惯和常用工具以列表的形式记录下来,好用来自己备份或者供他 人参考,其中自认为很有代表性.

一.基础应用

1.网络浏览器-FireFox(火狐)2.0,Opera 9.23,Maxthon2.0,Internet Explorer7.0
2.电子邮件工具-Microsoft OutLook 2007,Foxmail,Opera Mail,Windows Live Mail
3.办公工具套件-Office 2007,WPS
4.文本编辑工具-Notepad2,Uedit 13.0
5.ed2k 下载工具-emule
6.http文件下载工具-迅雷(Thunder)5
7.ftp下载工具-CuteFtp 8.0
8.BT下载工具-BitSprit
9.视频播放-KMPlayer2.93,Midea Player Classic
10.音频播放器-foobar2000,Windows Midea Player 11,Winamp5,千千静听
11.图片浏览软件-ACDSee9.0,Picasa
12.即时聊天软件-腾讯QQ2007狂人版,Windows Live Messenger8.5+(MSN Shell),GTalk,Psi
13.PDF阅读软件-Adobe Reader 8
14.压缩软件-WinRAR
15.拼音输入法-搜狗输入法,紫光华宇拼音5.0,微软拼音输入法
16.光驱及光盘工具-DaemonTools,Alchol 120%
17.RSS阅读工具-PUTO(周伯通RSS阅读器)
18.屏幕截图工具-HprSnap6
19.股票软件-大智慧
20.多媒体格式转换工具-Video Convert Magic 7.2汉化版
21.网络电视工具-PPStream
22.词典工具-金山词霸2006
23.地图工具-Google Earth,Windows Live Map, 51地图桌面版
24.歌词工具-Lyrics II
35.博客工具-Windows Live Writer,博客伴侣

二.系统管理

1.文件管理工具-Total Commander 6.54
2.系统优化工具-Windows 优化大师
3.流氓软件清理工具-奇虎360安全卫士
4.杀毒软件-卡巴斯基7.0
5.网络防火墙-ZoneZlarm,Windows Defenser
6.系统恢复备份工具-(一键还原精灵)
7.Windows美化-Windows 变脸王,StyleXP
8.桌面搜索-Windows Desktop Search

三.进阶软件

1.自动开关机工具-智能开关机(AutoPower)
2.系统信息测试汇总-AIDA32
3.系统快捷键工具-HotKeyControl XP
4.FTP服务器管理工具-Serv-U
5.分区工具-Norton PatitionMagic 8.0,Paragon Dive BackUp 8 Professional
6.系统恢复备份工具-Symantec Ghost32 ,
7.误删文件恢复工具-Smart Data Recovery,FinalData
8.系统监视工具-WinPatrol
9.网络代理工具-CCProxy
10.虚拟机工具-VMware Workstation 5.0
11.局域网高速文件传输工具-飞鸽传书(IPMsg)
12.光盘制作,编辑,刻录工具-AutoPlay Studio 6/Multimedia Builder4.97,UltraISO(软碟通),Nero
13.Total Commander 插件工具集
14.深山红叶袖珍工具箱镜像
15.Windows中查看Linux分区工具-explore2fs

四.平面与三维艺术设计软件

1.图象处理工具 Adobe PhotoShop CS3,Macromedia Fireworks8
2.矢量图制作工具 Corel Draw 12
3.CAD设计 AutoCAD 2006 ,天瑜CAD
4.GIF制作工具 Ulead GIF Animator5
5.网页制作工具 Macromidia 三剑客(Flash,Fireworks,Dreamweaver) ,Adobe GoLive
6.微软全新Express 系列 Windows Express(Express Web,Media,Blend,Design,Media Encode Preview)
7.三维建模工具 3DMAX, Maya ,Google SkethUp

五.软件开发与数据库与服务器工具

1.微软Visual Studio 2005/2008,Visual C++6.0,Visual Basic6.0
2.Borland C++ Builder 6.0,经典C语言Borland C++ 3.1,Turbo C2.0
3.Java开发工具- Eclips
4.其他语言工具- Active Python,汇编工具RadASM
5.PHP开发套件- Zend Studio 5.5,PHPMyAdmin,PHP5.0
6.HTTP服务器软件 -IIS5.0/6.0, Apache 2.0
7.数据库系统-IBM DB2,Microsoft SQL SERVER 2005/Express,MySQL,Postgrel,FireBird,ODBC
8.数据库工具-MySQL-Frant,DBManager Professional,EasyFrom ESF Database Convert
9.其他工具-XMLNotepad,The Regulator.V 2.0(正则表达式工具),ResScope(EXE文件分析工具),IDA(反汇编工具)

六.理工科软件与科学仿真软件

1.MatLab 6.5
2.OrCAD PSpice9.2
3.Quartus II
4.Protel 99SE

就这么多了,前三大类基本上时我的软件使用习惯,每个项目的第一个是同类软件中我最喜欢的,或者是使用频率最高的,很多是经过我反复的比较和测试得到的呵.
后几类基本上是某些类软件集合,个人喜好而已,可以作为参考.

posted @ 2007-10-03 07:49 febird 阅读(446) 评论(3) 编辑

这几天回头玩了一下Javascript,总结一下:

1.关于匿名类

    var  class1={p1:value1,p2:value2};

    这个也可以写成

    var class1={};

     class1.p1=value1;

     class1.p2=value2;

首先所有的匿名类都是继承与Object核心对象的,var class1={} 意味着实例化了一个Object对象,它拥有Object对象的原生属性和原生方法。

但是你不能为匿名类添加原生方法,例如这样写是错误的:

class1.prototype.func1=function(){};

你也不能尝试用new() 方法来构造一个新的与class1有相同的属性的新对象,因为它已经实例化了。以下写法也是错的:

var classB=new classA();

这是无法构造的,

准确的说,匿名类实际上是继承与Object的某一个半实例,相当于C#中的静态类。你可以为他添加方法和属性

例如:

class1.func1=function(){}

调用的时候就这样:

class1.func1();  酷似C#中的静态类

但是你可以为Object添加原生函数,这样你的匿名类(实际上是所有的类)都有这个方法

例如:

var class1={};

class1.p1=value1;

class1.p2=value2;

Object.prototype.func1=function(){  alert("1")  };

class1.func1();

是没有问题的,但是这样一来,所有的实例化对象都有了func1()方法。实际应用中应该避免给Object类添加原生方法。

2.关于匿名函数

先说说关于Javascript的函数:

可以这样说,JavaScript中一切皆是对象,function自然不例外,function可以作为函数,类,也可以当成一个被函数对象返回

看下面的例子:

function a()
{

  alert("Hello Febird!");

   this.aa="aa";
  this.show=function ()
  {
        alert(this.aa);
  };

   this.sayHello=function()

  {

      return function()   {alert("hello"); }   ;

  };
}

var aaa=new a();
aaa.show();

aaa.sayHello();

其中最外面的一个function是定义了一个类 a ,他有属性aa,方法show(),sayHello();这两个都是匿名函数,而sayHello中的function便是函数作为一个返回值的例子。

实际上可以这样想,匿名函数就是一块没有命名的代码块,当你把他赋值给别的变量的时候,那么那个变量就是一个函数,准确的说那是一个函数指针^_^。

在Javasript中,匿名函数是很有特点的东西了,也是非常有用,也是有些难以理解的。

比如在写Ajax引用的时候,如果不依靠别的JSF,自己写一个通用的Ajax话,一般这样写:

var xhr=new XMLHttpRequest(); //已经封装,可以适应不同的浏览器;

function DoAjax ()

{

xhr.onreadystatechange=processFunction;

xhr.open("GET",url,true);

xhr.send(null);

}

function processFunction()

{

   //do something with XMLHttpRequest;

   if(xhr.readState!=4||xhr.status!=200) return false;

    alert(xhr.responseText);

}

在一般的Ajax引用中,也许只要一个XMLHttpRequest对象,而且onreadystatechange的处理函数必须没有参数,有参数就出错,

所以,一般经常会写一个全局变量XMLHttpRequest,再在processFunction中用到这个全局变量,但是如果我要建立几个

XMLHttpRequest的并发连接怎么办呢?这个就不能用全局变量了,但是处理函数又不能有参数,怎么搞,可以这样:

function DoAjax ()

{

var xhr=new XMLHttpRequest();

xhr.onreadystatechange=processFunction(xhr);

xhr.open("GET",url,true);

xhr.send(null);

}

function processFunction(_xhr)

{

   return function()

  {

   //do something with XMLHttpRequest;

    if(_xhr.readState!=4||_xhr.status!=200) return false;

    alert(_xhr.responseText);

  };

}

怎么理解?虽然processFunction函数有参数,但是它返回的函数没有参数!而这两个函数之间是怎么进行的值传递呢?

这里不妨引用一句话:

“为了函数能够正确的执行,需要被函数使用的,词法作用域中的,非全局数据,
存在于函数的闭包之中。”

可以这样理解:

当我们把processFunction()返回的函数,在processFunction之外使用的时候,依然要记得自己被定义时的上级作用域中的各种变量的值。这些需
要被记住的值,就是“闭包”。

3.关于原生对象

原生,即prototype,他提供我们了扩展、改造原有对象的方法。例如我们可以为已知对象,包括JavaScript的核心对象Array,Number,Math,Object,Boolean等和自定义类添加方法或者属性。

例如:

Number.prototype.toHexString = function () {

return this.toString(16);

};

var num=10

alert(num.toHexString());

输出A;

你可以为Object对象添加方法,这样,以后任意一个对象都有这个方法,因为其它对象都是从Object继承而来的。

你也可以再造现有函数

Function.prototype.toString = function () {

return “Function Locked”;

};

4.关于This

在JavaScript 中,并没有严格的面向对象概念,自然也没有类的构造函数这样的概念。var o=new Obj();这样的语法,看起来似乎和Java/C++相当类似,但是他背后的执行过程是不同的。首先,解释器会new一个空的Object对象。然后将 这个空的Object,作
为隐藏的参数传递给function Obj()。在Obj函数中访问到的this,其实就是这个传入的空的Object 对象。所以,如果这个Object,

并非为空,这就是所谓:“this关键字关联于执行时的作用域”的含义。

如果你想把一个函数作为“构造函数”,那么就不要在函数的最后加上return语句。因为如果没有return语句,new算符返回的就是

那个被操作过以后的this。一旦你通过return返回了别的东西,这个this就被废弃掉了。对于函数的调用者来说,就会相当的困惑。

 


 

posted @ 2007-10-03 07:37 febird 阅读(439) 评论(0) 编辑