虚拟机选择Windows 2000或者XP guest操作系统。注意:不要对已经启动或者被挂起的虚拟机启用Direct3D。
给配置文件(.vmx)添加一下内容:
mks.enable3d = TRUE
这一行将启用宿主的3D加速。不仅对于寄宿机支持3D加速是必要的,同时也可以让宿主对寄宿机的显示区域启用2D加速。
你可能还需要加入以下几行:
svga.vramSize = 67108864
这一行将虚拟显卡的VRAM量增加到64MB。增加VRAM有助于减少寄宿机的延时。最大值为128MB。
vmmouse.present = FALSE
这一行将禁用寄宿机中的绝对定位设备。需要用到DirectInput相对模式的应用需要将寄宿机的绝对定位设备关闭。实际操作中,这只针对一些全屏的3D应用(例如,像第一人称射击之类的实时游戏)。注意:如果你设置了vmmouse.present选项,你还需要关闭Preference设置对话框中的Input标签页中的motion ungrabbing(移动时释放鼠标捕获)设置。
若要为vmmouse.present关闭释放捕获,请按以下步骤:
a. 选择 Edit > Preferences.
b. 点击 Input.
c. 取消 Ungrab when cursor leaves window.
看了Nicholas的这篇梦的记录,我也想写一下,这是好几天前做的梦了,但是还是要写一下。那简直就是好莱坞大型科幻片。大致的内容是:
某种 未知的力量——可能是外星人,也可能是神——将美国的太平洋舰队传送到了俄罗斯的军事港口,而把俄罗斯的舰队传送到了美国的军事港口,我当时站在俄罗斯的 港口(也可能是中国某港口)附近的大楼上,看着成群的舰队莫名地凭空出现,巨型的航母、舰队在眼前慕为壮观,而当了解了那是美国的舰队之后,感到了无名的 恐惧,然后可想而知,不知是哪一方先开火,整个港口乱成一团,双方猛烈的攻击着,甚至一些舰船直接冲到了岸上。而我便和大家一起,沿着一个圆形的楼梯一直 往下一直往下走,逃往一个地下的区域——似乎,这已经是世界末日了…………
这是一个,还有另一个则很有生活情调,我走在马路上,应该是类似西方电 影中常出现的那种小路,路两旁是很高的白色栅栏,人行道上或有一些小树。我走到了一个商店门口,商店前有较长的台阶——目测门离马路约20米,高2米,商 店门面类似于肯德基,左边是门,右边整块都是玻璃,我可以透过玻璃看到里面有一些小资妇女在吃着一些甜点,她们应该是坐在沙发上——也是类似于肯德基那种 和墙壁合在一起的沙发。于是我也走进去,问服务生要东西吃,她说,这些点心都是免费的,随意吃,于是乎,我就坐在那边的沙发上吃了起来,而后,有人(一男 一女,男的很瘦,很高,女的则约是中年)请我去这个店内庭去吃东西,里面起初十分狭小,而后我们吃了点东西,进入了一个十分旷阔的类似于体育馆的地方,而 我觉得,更像是没人的火车站,而这里面却有一些小孩玩的那种小型游乐场(肯德基、麦当劳那种)。
我并不清楚这些意味着什么,不过,记录自己的梦境,却是一件很有意思的事情。
前一阶段Squid推出了2.6版,在缓存机制上有了更好的统一,将反向代理和正向代理统一在了一起,但是也有一些问题。
第一是反向代理配置方式改变了,去掉了httpd_accel_*这些配置,而改用http_port和cache_peer等配置来完成,例如:
http_port <ip>:<port> defaultsite=<hostname> [vhost] [vport]
cache_peer 127.0.0.1 parent 80 0 no-query originserver
有了这两条,就可以实现反向代理了
第二如果Apache有身份验证的话,Squid 2.6可能并不会将Authorization的HTTP头发送给Apache,所以我在Squid 2.6后配置Apache + Subversion就无法使用身份验证——这个目前还没办法解决。
第三是Squid 2.6的基于IP的反向代理服务器的配置改变,也就是Squid 2.5中的httpd_accel_host virtual,在Squid 2.6的方法是命名多个parent、originserver的cache_peer,然后配合cache_peer_domain来指定对不同域名发送到不同的上游服务器;
cache_peer 192.168.0.3 parent 80 0 no-query originserver name=a
cache_peer 192.168.0.4 parent 80 0 no-query originserver name=b
cache_peer_domain a .example.com
cache_peer_domain b .test.com
需要注意的是,每个cache_peer都必须至少有一个cache_peer_domain分配到其上,才能真正实现类似virtual的配置。
PEAR组件Cache_Lite是一个很实用的文件缓存组件,我在PHP编程中常常用到,现在我常需要检测某个id的缓存是否已经失效了,而Cache_Lite本身并未提供这样的功能,因此我写了这样一个函数:
function isExpired(&$cache, $id, $group = ‘default’){
$cache->_setFileName($id, $group);
return !file_exists($cache->_file) ||
filemtime($cache->_file) < (time() - $cache->_lifeTime));
}
使用也很简单,应该一眼就能看明白。当然也可以通过继承Cache_Lite,并添加一个方法来完成。
函数Currying,是我所一直不能确定的英文翻译之一 ,另外还有一个Web的翻译。
函数Currying的意思就是将参数和函数关联起来,变成一个新的函数。比如一个二元参数f a b
当给出f 1的时候,应该返回什么呢?一般的语言中,要么是将b设为一个默认值,要么就是直接出错,而当有了Currying,那么f
1其实返回一个函数g x = f 1 x。
当然这个描述也不够好。
其实其命名是为了纪念一个逻辑学家 Haskell Curry 的――函数式语言Haskell也是为纪念这个人,当然这个东西并不是他第一个发现。
既然作为姓名,数学中可能不会进行翻译,就叫做Curry化,或者柯里化,不知道还有什么更好的翻译方法,能较为直接地体现其真正的含义。
基本信息
【英文名】Professional JavaScript for Web Developers
【作者】Nicholas C. Zakas
【译者】曹力 张欣
【ISBN】7115152098
【出版时间】2006-9-15
【页码】670
【原出版社】Wrox
【简介】本书从最早期Netscape浏览器中的Javascript开始讲起,直到当前它对XML和Web服务的具体支持,展示了如何充分利用这种功能强大的语言开发自己的应用程序,以解决当今Web开发者面对的商业问题。
活动主页
译者序