在Win2008上安装Live Mesh

Live Mesh蛮好用的,特别是不需要版本控制,只需要同步的时候。比如在家里写一份文档,没写完,想跑到公司继续写,又不高兴带U盘,这时候就可以用Live Mesh了-_-似乎Live Mesh就等于5GB的U盘……

今天尝试了一下在Windows 2008 Enterprise Server上装Live Mesh,一开始失败,说是"[80070659] This Installation is forbidden by system policy. Contact your system administrator (系统策略禁止此安装。 请与系统管理员联系)"。这个理由也太奇怪了。人家MSN好歹还明说,我们不支持Server版本,Mesh不给装,还赖System Policy-_-

后来搜了一下,发现解决方案是:

  • 打开Group Policy (gpedit.msc)
  • 进入Computer Configuration\ Administrative Templates\ Windows Components \ Windows Installer
  • 打开Disable Windows Installer
  • 选Enable,然后把下方的选项设置成Never

还真是Policy的问题。不过第一次碰到,其它的安装程序从来都没问题的,很诡异。

XmlHttpRequest学习笔记 (2) 基本操作

XmlHttpRequest里面常用的函数和属性无非就这几个:

其中method的值多数为Get或者Post(不区分大小写)用于从服务器获取数据和向服务器发送数据,还有Head, Put, Delete之类的,基本不会用到;url是实际要访问的url地址,比如http://leonax.net;async的值为true或者false,表示是否要以异步模式(即非阻塞模式)进行通信;user和password为访问url所需的用户名和密码,一般都是省略掉的。

open函数只是初始化一下Xmlhttp对象,它并不会向url所对应的服务器发送数据。比较奇怪的是,W3C的规范中async的缺省值为true,也就是说,以下代码会以异步模式运行:

Msxml3和IE的XmlHttpRequest遵循了这一规范,而Msxml6中的缺省值为false。既然缺省值都为true,为什么不把参数名改成sync呢?在Javascript(以及各种脚本语言)中,缺省参数一般为null,而null和false等价,所以把缺省值定为true实在是太令人费解了。

真正把数据发出去的是这个函数。text可以是任何值,它会被当作数据包的正文发给服务器。

在open之前调用send会报错。

以异步模式open之后,send函数会立刻返回;相反,在同步模式的时候,它会等到接收完服务器所有的回应才返回。

responseText

这是一个属性,在收到服务器的回复之后,可以通过它来查看回复的正文部分。如:

将显示出一个很简易的Html :P。在未完全收到回复之前,responseText返回一个空字符串。

检测本机安装的MSXML的版本的方法

公司里有一个很好用的exe,不过不清楚是不是保密的,不敢发出来,而官方公布的那个又比较老土,只好自己写了……

把以下代码保存为js文件,然后双击即可。如果对应的msxmlx.dll已经注册,会显示安装路径,否则显示Not Found.

优化了一下Vista的内存使用

看上去还不错吧...

主要改动如下:

  • 关闭Aero,这东西基本没什么好玩的。关闭方式见此
  • 关闭索引服务,当人肉搜索已经足够强大的时候……。把服务里的Windows Search禁用掉就可以了。
  • 禁用ReadyBoost和Superfetch服务。ReadyBoost是用于有U盘或者移动硬盘联接的时候,把它的可用容量做为内存使用;Superfetch可以提高应用程序的启动速度。但是我不常用移动存储(本身就是本本=.=),而且据说有2G内存的情况下,Superfetch的效果也仅仅是提高1秒不到的性能,看上去没什么用,就都关掉了。
  • 还关掉了一些其它没有用的服务,主要是参考了这个列表

PS:Kaspersky开着,占了60M内存,比较郁闷,但是也没办法……