2006-04
06

经常看到一些软件的安装说明上写着,修改Windows的环境变量,然后重新启动计算机。这让人不禁产生疑问,修改环境变量之后真的要重启吗?

其实只要理解了环境变量的原理就可以做出正确的判断。环境变量是一些系统变量,这些变量对运行的任意一个程序都有效。最简单的确认方法就是 cmd.exe 程序。单击“开始”->“运行”,然后输入 cmd,回车,在启动的命令行窗口中输入 set,之后就可以看到一大堆各种各样的环境变量显示在屏幕上。而修改环境变量则是通过“控制面板”->“系统”->“高级”->“环境变量”对话框进行的。

这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。

那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)。


2006-04
05

阅读全文 »


2006-04
05

阅读全文 »


2006-04
03

阅读全文 »


2006-04
03

本人使用的一台笔记本曾经由于安装软件不当而中木马,一般的清除方法均对其无效,后判明原来是木马驻留在Windows的Socket协议栈中。下面是清除方法。

本文中所提到的命令及其选项的使用方法请查阅相关资料。

阅读全文 »
2006-04
02

以Fedora Core 5中yum的配置方法为例,讲解一下如何设置yum使其选择最快的镜像进行升级。

首先建立 /etc/yum.repos.d/local-core 文件,内容如下:

http://ftp.riken.jp/Linux/fedora/core/5/$ARCH/os
http://ftp.kddilabs.jp/Linux/packages/fedora/core/5/$ARCH/os
http://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/5/$ARCH/os
http://ftp.nara.wide.ad.jp/pub/Linux/fedora/core/5/$ARCH/os
http://ftp.jaist.ac.jp/pub/Linux/Fedora/core/5/$ARCH/os

然后修改 /etc/yum.repos.d/fedora-core.repo 文件的mirrorlist一行如下:

#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
mirrorlist=file:///etc/yum.repos.d/local-core

再建立 /etc/yum.repos.d/local-updates 文件,内容如下:

http://ftp.riken.jp/Linux/fedora/core/updates/5/$ARCH/
http://ftp.kddilabs.jp/Linux/packages/fedora/core/updates/5/$ARCH/
http://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/updates/5/$ARCH/
http://ftp.nara.wide.ad.jp/pub/Linux/fedora/core/updates/5/$ARCH/
http://ftp.jaist.ac.jp/pub/Linux/Fedora/core/updates/5/$ARCH/

然后修改 /etc/yum.repos.d/fedora-updates.repo 文件的mirrorlist一行如下:

#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever
mirrorlist=file:///etc/yum.repos.d/local-updates

最后建立 /etc/yum.repos.d/local-extras 文件,内容如下:

http://ftp.riken.jp/Linux/fedora/extras/5/$ARCH/
http://ftp.kddilabs.jp/Linux/packages/fedora/extras/5/$ARCH/
http://ftp.nara.wide.ad.jp/pub/Linux/fedora/extras/5/$ARCH/
http://ftp.jaist.ac.jp/pub/Linux/Fedora/extras/5/$ARCH/

修改 /etc/yum.repos.d/fedora-extras 文件的mirrorlist一行如下:

#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever
mirrorlist=file:///etc/yum.repos.d/local-extras

2006-03
31

这一阵子使用了基于Ajax的PHP-MVC框架Zephyr。官方主页为 http://zephyr-php.sourceforge.net/

该框架的Ajax通信机制使用第三方软件 cpaint (http://cpaint.booleansystems.com/)实现,而视图则使用PHP的官方模板 smarty (http://smarty.php.net/)实现。

基本的开发思想很简单:利用javascript通过Ajax来调用远程的php代码,然后自动地将返回结果显示在某个指定的div元素中。实现了以下的目标:

1. 业务逻辑和画面显示的分离。

业务逻辑完全在php代码中实现,而画面显示则完全由smarty提供的模板语言写成。

2. 完全封装了ajax操作。

利用cpaint完全封装了ajax操作,开发时完全不必考虑ajax的复杂性,而可以像开发windows程序那样进行ajax程序的开发。

3. 解决了动态装入js代码的执行问题。

Ajax应用中有一个很重要的问题,就是通过Ajax动态读入的javascript代码不会被自动执行。而zephyr解决了这个问题。

不过,我也同时发现zephyr的一个缺点。

1. 同时读取多个div的内容会引起冲突。

如果试图同时读取画面上多个div,则会导致显示混乱。这是因为,zephyr使用一个全局变量来保存div的名称,因此同时读取多个div时,仅有最后一个div的名字被保存,导致本应读入到各个div中的内容全部都被装入最后一个div。为解决此问题,应当在zephyr的核心javascript/function.js中增加信号量互斥的操作:仅有得到信号量的更新操作才允许进行,如果获取信号量失败,则等待一定时间之后再次尝试,直到成功为止。这样就能够保证各个更新操作依次执行,而不会引起冲突。


2006-03
30

Windows XP/Linux双启动的机器一般都使用grub作为引导程序。如果不小心在Windows中删除了Linux分区,grub就会因为找不到配置文件而造成无法启动。此时有两个解决办法。

1. 手动启动Windows

系统启动后将进入grub的控制台,这时输入以下命令:

rootnoverify (hd0,0)
chainloader +1
boot

即可成功启动进入Windows。参数(hd0,0)表示Windows安装在第一块硬盘的第一个分区,即C盘。但是使用此方法,每次重新启动机器时都要输入上述命令,因此只能作为应急手段。

2. 使用Windows故障恢复控制台进行修复

插入Windows XP安装光盘,从光盘启动,之后选择 R 键启动故障恢复控制台。选择要登录的Windows(一般是 1),输入密码。然后输入以下命令:

fixmbr

系统会提示说“可能会损坏分区表”,不要理会,回答Y,片刻之后则提示修复完毕。然后重新启动计算机即可。


2006-03
29

0. 前言

所谓IE地址栏表达式,就是在IE的地址栏中输入 javascript:< 代码>,执行某些功能,来动态改变原有页面的参数以达到某些目的,例如开放被禁止的按钮、显示原本隐藏的图片等等。本文将就IE地址栏的使用方法做一个详细的说明。

阅读全文 »
2006-03
27

MinGW: Minimalist GNU for Windows,是GNU开发环境在Windows下的一个移植。而MSYS则是与MinGW配套的一个shell环境以及相关的工具程序。

阅读全文 »