﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客网-yunshichen</title><link>http://www.cnitblog.com/yunshichen/</link><description>我相信人生是值得活的,尽管人在一生中必须遭受痛苦,卑劣,残酷,不幸和死亡的折磨,我依然深信如此.但我认为人生不一定要有意义,只是对一些人而言,他们可以使人生有意义.  ---J 赫胥黎</description><language>zh-cn</language><lastBuildDate>Sat, 06 Sep 2008 06:31:35 GMT</lastBuildDate><pubDate>Sat, 06 Sep 2008 06:31:35 GMT</pubDate><ttl>60</ttl><item><title>Ubuntu 8.04 安装Windows XP注意事项</title><link>http://www.cnitblog.com/yunshichen/archive/2008/09/02/48644.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Tue, 02 Sep 2008 08:24:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/09/02/48644.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/48644.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/09/02/48644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/48644.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/48644.html</trackback:ping><description><![CDATA[    Ubuntu 8.04 很好用，我觉得比XP好。<br />    Ubuntu 在游戏方面不如Windows ，这也是事实。<br /><br />    于是，只好安装个虚拟机软件，然后安装XP打游戏了。<br /><br />    虚拟机软件有VMWare Player 和VirtualBox ，介绍如下：<br /><br />    一 安装 VMware Player <br />    VMware Player 是一个免费的软件。下载安装之后可以打开已有的vmx 配置文件来启动虚拟机。这意味着你需要有一个vmx的配置文件。<br />    <br />    安装VMware Player很简单，官网下载源码运行里面的pl脚本，一路点yes即可。要注意的有两点：<br />    1）你的root分区的空间必须大于2G<br />    2）不能在ntfs分区使用。<br /><br />    例如，在试用的时候我挂载了ntfs的分区，在上面运行VMWare Player，软件出错退出。复制安装文件夹到linux分区，一切正常。<br /><br />    在安装完成之后，你可以搜搜网上的vmx配置。例如，如果你想装windows xp，那就去搜xp的vmx配置，网上一搜一大把。或者，你可以到这个很有趣的网站，进行vmx的配置下载：<a href="http://easyvmx.com/new-easyvmx.shtml">http://easyvmx.com/new-easyvmx.shtml</a><br /><br />    附一个可用的vmxd配置文件（请酌情修改用户名和iso的路径）：<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#!/usr/bin/vmware<br />config.version </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">8</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />virtualHW.version </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">3</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide0:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.present </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide0:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.filename </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/media/sda2/download/xp/xp.vmdk</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />memsize </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">512</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />MemAllowAutoScaleDown </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">FALSE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide1:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.present </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide1:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.fileName </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/media/sda2/download/WinXP_en.ISO/XPVOL_SP2.iso</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide1:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.deviceType </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">cdrom-image</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide1:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.autodetect </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">FALSE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />floppy0.present </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">FALSE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ethernet0.present </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />usb.present </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />sound.present </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />sound.virtualDev </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">es1371</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />displayName </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Windows XP Pro</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />guestOS </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">winxppro</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />nvram </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">WindowsXPPro.nvram</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />MemTrimRate </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">-1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><br />ide0:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.redo </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">""</span><span style="color: rgb(0, 0, 0);"><br />ethernet0.addressType </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">generated</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />uuid.location </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">56 4d 28 e4 97 94 f4 e6-df 7f 76 cc 68 74 b2 86</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />uuid.bios </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">56 4d 28 e4 97 94 f4 e6-df 7f 76 cc 68 74 b2 86</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ethernet0.generatedAddress </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">00:0c:29:74:b2:86</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ethernet0.generatedAddressOffset </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><br />tools.syncTime </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />ide1:</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">.startConnected </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TRUE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><br />uuid.action </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">create</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><br />checkpoint.vmState </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">""</span><span style="color: rgb(0, 0, 0);"><br /><br />extendedConfigFile </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Windows_XP.vmxf</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />virtualHW.productCompatibility </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">hosted</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br />tools.upgrade.policy </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">manual</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><br />fileSearchPath </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/home/shrek/Desktop;.</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><br />tools.remindInstall </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">FALSE</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> </span></div><br />    然后启动VMWare Player，进行xp的安装。安装过程不再多说。<br /><br />    安装完成之后可以继续安装VMWare Tools ， 这样主机和客户机的文件可以进行拖拉共享<br /><br />    二 使用Virtualbox<br /><br />    到sun官网下载软件进行安装，也是一路yes即可。<br /><br />    <font color="#ff0000"><b>不推荐</b></font>安装ubuntu源里的vb。<br />    安装完之后启动软件，创建虚拟机安装系统。过程很简单，不再赘述。<br />    vb的网络共享默认host-guest，如无意外，只要你的主机能上网，那你的虚拟机在安装好之后也可以马上上网，很酷很强大的软件。：》<br /><br />    设置主机和虚拟机的文件共享。<br /><br />    1）在vb的菜单Devices里，有个“Install guest additions" , 点击安装之。<br /><br />    2）然后关闭vb，然后在命令行运行：VBoxManage sharedfolder add guest_os -name "aname" -hostpath "apath"<br />         guest_os : 你在vb创建的虚拟机名称。<br />         aname ： 共享名称，可以随意设置。<br />         apath ： 共享文件夹路径，必须是绝对路径。<br /><br />         例如，我的虚拟机名称是Win_XP，共享名称设定为sda2 ，路径为 /media/sda2 ，那么命令为：<br />         VBoxManage sharedfolder add "Win_XP" -name "sda2" -hostpath "/media/sda2"<br />     <br />     3）启动虚拟机进入xp。然后运行如下命令：<br />         net use x: \\vboxsvr\sda2<br />         <br />     大功告成！<br /><br /><br />         <br /><br /><br /><img src ="http://www.cnitblog.com/yunshichen/aggbug/48644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-09-02 16:24 <a href="http://www.cnitblog.com/yunshichen/archive/2008/09/02/48644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>贴一个vm ware 配置文件</title><link>http://www.cnitblog.com/yunshichen/archive/2008/09/02/48619.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Tue, 02 Sep 2008 03:47:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/09/02/48619.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/48619.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/09/02/48619.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/48619.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/48619.html</trackback:ping><description><![CDATA[#!/usr/bin/vmware<br />config.version = "8"<br />virtualHW.version = "3"<br />ide0:0.present = "TRUE"<br />ide0:0.filename = "/media/sda2/download/xp/xp.vmdk"<br />memsize = "512"<br />MemAllowAutoScaleDown = "FALSE"<br />ide1:0.present = "TRUE"<br />ide1:0.fileName = "/media/sda2/download/WinXP_en.ISO/XPVOL_SP2.iso"<br />ide1:0.deviceType = "cdrom-image"<br />ide1:0.autodetect = "FALSE"<br />floppy0.present = "FALSE"<br />ethernet0.present = "TRUE"<br />usb.present = "TRUE"<br />sound.present = "TRUE"<br />sound.virtualDev = "es1371"<br />displayName = "Windows XP Pro"<br />guestOS = "winxppro"<br />nvram = "WindowsXPPro.nvram"<br />MemTrimRate = "-1"<br /><br />ide0:0.redo = ""<br />ethernet0.addressType = "generated"<br />uuid.location = "56 4d 28 e4 97 94 f4 e6-df 7f 76 cc 68 74 b2 86"<br />uuid.bios = "56 4d 28 e4 97 94 f4 e6-df 7f 76 cc 68 74 b2 86"<br />ethernet0.generatedAddress = "00:0c:29:74:b2:86"<br />ethernet0.generatedAddressOffset = "0"<br /><br />tools.syncTime = "TRUE"<br />ide1:0.startConnected = "TRUE"<br /><br />uuid.action = "create"<br /><br />checkpoint.vmState = ""<br /><br />extendedConfigFile = "Windows_XP.vmxf"<br />virtualHW.productCompatibility = "hosted"<br />tools.upgrade.policy = "manual"<br /><br />fileSearchPath = "/home/shrek/Desktop;."<br /><br />tools.remindInstall = "FALSE"<img src ="http://www.cnitblog.com/yunshichen/aggbug/48619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-09-02 11:47 <a href="http://www.cnitblog.com/yunshichen/archive/2008/09/02/48619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>奥运过后我们该干什么</title><link>http://www.cnitblog.com/yunshichen/archive/2008/08/27/48429.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Wed, 27 Aug 2008 07:03:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/08/27/48429.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/48429.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/08/27/48429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/48429.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/48429.html</trackback:ping><description><![CDATA[   
闭幕式的失败正如开幕式的惊喜一般震撼着我，不过总体来说这是很好的奥运会。虽然整个奥运的准备过程是很中国特色的很中国高考特色的---一群家长抛开一
切为孩子准备着张罗着牺牲着--但总算有了个完美的结果。正如Beckham
在闭幕式踢出的那愤懑的一脚所象征的：你们中国人把奥运搞成这样，我们伦敦还办个球啊。<br /><br />   
说起来我小时候和奥运还有点渊源。92年开始奥运男子足球队员年龄限定在23岁以下，所以那些职业队的教练招小队员之前都要掂量掂量，这小子到适龄的奥运
会是不是正好22,23,超过了不行，太小了难出成绩。在这个前提下虽然教练推荐了我数次，始终难以进入广东教练们的法眼。因为我是80年出生，打
2000年奥运的话我20岁，竞争不过那些22,23的，打2004又正好超了一岁。就这样我一直没去职业足球队踢球，直到后来上了大学。<br /><br />   
只能说自己那时候毕竟太小，有许多手段可以解决这样的矛盾。例如砸钱，例如改年龄。这都是圈子里不成文的规矩。不过回想起来也好笑，因为我骨龄小，后来我
大学快毕业时教练还找我，问我肯不肯进去青年队去参加球赛，以我的技术这次很有机会进入职业队甚至国家青年队。你说这是不是让人哭笑不得？让我80年的参
加85年组的青少年球赛，到时候我当然鹤立鸡群独占鳌头了。哦，不，也不一定，我们良心比较好，就带一两个超龄球员，说不定对方比较不讲理，所有队员都是
超龄的，那我依然难圆职业足球的梦。<br /><br />    不过也难说，说不定我运气较好，被教练们认为是超白金新星也不一定，那时候我不仅能踢上职业足球，还能参加奥运。。 慢着，85年的，参加这次奥运不正好23岁？冥冥之中，真有天意啊。<br /><br />    最搞笑的一个新闻就是：别的国家的足球队在鏖战，现场的球迷却自娱自乐喊起了“谢亚龙下课“，以致于一些巴西记者误以为这是类似”加油“的中国词汇，边哼着边走进记者新闻大厅。<br /><br /><br />    中国足球为什么踢不好，看官你可以略知一二了吧。<br /><br />    以上评论是比较关乎体育的，以下是比较不靠体育谱的。<br /><br />   
据说足球是奥运期间民愤最大的项目，其实不然。在我看来，过于在乎面子的传统让我们整天活得虚虚浮浮。整个国家体育基础如同一句老话：嘴尖皮厚腹中空。奥
运是全民体育而不是金牌体育而不是全民”睇欲”的精神似乎没有真正流行开来。我们依旧处于这样的状态：运动来了，我们挥手，加油，平时还是懒洋洋的四体不
勤的亚健康人。过多的金牌掩盖了这样的事实，而足球恰好能让我们反思，到底是在跳水举重上包揽金牌，还是在足球上演奥运表演项目功夫，更能反映我们的国民
素质？我愿意相信是后者。因为我在生活中接触到的人群很少玩举重跳水，而玩篮球足球等团体项目的人很多，但领略这些运动精髓的似乎很少。<br /><br />   略花一点口水再详细解释吧，拿足球项目来说，你看到我们什么不足？尽我所知所认识的，列举如下：<br /><br />  
1.缺乏民主制，官僚制度还是横亘在基层体育发展前的大山。此话怎说？例如谢亚龙，他民愤很大，执政4年，中国足球队没有冲进世界杯，奥运足球队也失败，
其他女子队青年队也是节节败退，中超联赛经营一盘散沙，如果按照直接和间接经济利益来算，这些损失肯定超过5亿。按照我们的各种主义理论来算，这是最严重
的国有资产流失啊！可以导致这个结果的领导者谢亚龙呢？中国足协部的上级官员已经说了，”最严重的后果是平调“。我的天啊，平调，好严重啊~<br /><br />   
这是我们的制度特色。总是说足球从娃娃抓起，一切东西都要从基层搞起，然而搞基层意味着默默无名，意味着艰辛付出一辈子，在这种情况下，哪个足协主席会去
搞？碰上那些段位不高的球迷大骂谢亚龙的时候，我就和他解释：如果你是谢亚龙，有这么4年让你出名，让你暗地里获利，最后你拍拍屁股平调甚至高升到其他部
门，你愿不愿意干？我强调：这个过程是完全无风险的，仅需要你在巨利和良心间做出选择。多数人选择了巨利。对于谢亚龙这种深谙官僚制度精髓的官来说，你指
望他在这种制度下搞好足球，有希望吗？<br /><br />    有网友提出以渎职罪起诉谢亚龙，这算是看到问题的实质。然而这在中国不可行，最后只能是不了了之。至少5亿的国有资产就这样流失了，我们中国人还真是大方。<br /><br /><br />   
2.团结。最能反映我们民族性格的团体项目是什么？年长点的人们会知道，是麻将。我不能胡，我就拆你的台让你也不能胡。所以我们的足球篮排项目很难搞好。
就我做过几年的业余教练经验来看，许多略有一点水平（仅参加过学校系级或校际足球赛）的人都自以为踢得了不起，踢球时喜欢乱盘乱带，不会很认真的听从教练
技战术安排建议，不会很认真的和队友作配合。只是参加过一些业余的比赛的队员都牛B
成这样，你指望那些国脚大腕能精诚合作踢好球吗？看球的时候别骂那些臭脚，说不定您自己踢球的时候也是这样的呢。<br /><br />   
3.缺乏竞争意识。马拉多纳接受采访的时候说：”不能完全怪足协主席，踢球的毕竟是球员，如果踢得不好球员要负很大的责任“之类的话，他可能把中国理解成
阿根廷了，一个梅西不成后面还有个迪玛利亚候补着，即使这个迪玛利亚不靠谱替补席上还有个阿科斯塔在虎视眈眈。我们的队员是很稀缺的，直接导致我们很缺乏
竞争意识。话说回来，缺乏竞争意识并不是足球行业的特色，哪个行业都能看到，比如看官你，比如正在码字的我，缺乏危机感的人大有人在。<br /><br />   
4.”睇欲“迷多，体育迷少。国外喜欢足球的人，要么是以锻炼身体为目的，喜欢到球场上奔跑的；要么是在这个基础上有志于研究足球的，包括花式足球，实用
技术和战术理论等等。而我们似乎是纯呐喊的大老爷们多。大学扩招了，大学生多了，踢球的人也多了，然而毕业不到3,4年都基本成将军肚自诩”老了“的人。
拜托，我在老家的一个教练60了每隔一天还到球场踢7人制两三小时，您这点年纪偷懒就偷懒了喊什么老？很多时候你看球只是在瞎喊，你如果没经常去踢球，你
肯定不知道球该是怎么样踢的。<br /><br />   当然了，以上几点对事不对人。这些毛病在我身上也有，我也在努力改进。希望大家意气努力。<br /><br />   就足球这个项目而言，我很希望奥运之后我们能搞成功，但估计这是不可能了，在现存体制下要搞好足球必须寄希望于某个精英人物，然而足球甚至体育不完全属于精英，只有扎根于民间，奥林匹克精神才能真正的体现出来。<br /><br />   这次的奥运我们呈现了悠久的文化和现代的发展，那么奥运之后我们该干什么？我希望从体育而言，我们能真正普及全民体育，经常性的走出办公室去多参加运动，然后再过10年20年，再向世界展示一个团结，合作，素质卓越的中华民族，一个经济良好，制度优越透明的中国。<br /> <br />  说白点，我们应该：<br />  1.经常性参加运动。<br />  2.鼓励自己的家人孩子多参加运动。<br />  3.好好工作，好好生活。<br /><br />   奥运继续在你身边，与其老当愤青骂中国足球，还不如正视自己，踏实走好人生。<br />   <br /><br /><img src ="http://www.cnitblog.com/yunshichen/aggbug/48429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-08-27 15:03 <a href="http://www.cnitblog.com/yunshichen/archive/2008/08/27/48429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript杂谈二：OO ？</title><link>http://www.cnitblog.com/yunshichen/archive/2008/08/22/javascript-oo.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Fri, 22 Aug 2008 09:35:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/08/22/javascript-oo.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/48261.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/08/22/javascript-oo.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/48261.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/48261.html</trackback:ping><description><![CDATA[
		<br />    OO的三个概念是封装，继承和多态。<br /><br />    强类型语言如C++或Java用private,protected和public三个关键字表征成员函数的作用域。js缺少这样的关键字，根据Douglas 的说法，js的方法有：<br /><br />    private : 只能在类实例中访问的方法。<br />    privileged: 公开的能够访问类实例的私有变量，你可以替换或者删除privileged方法，但不能修改<br />    public : 公开方法，只能访问公开属性变量，不能访问类实例的私有变量。<br /><br />    代码如下：<br /><br />  <div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"><br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> Employee</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(sname,iage){<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">private properties.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> m_name</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">sname;<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> m_title;<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">public properties.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">this</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">.age</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">iage;<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">private methods.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> sayHello(){<br />            alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">Hello,</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">m_name);<br />        };<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">privileged methods.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">this</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">.getName</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(){<br />            </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">return</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> m_name;<br />        };<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">this</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">.setName</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(sname){<br />            m_name</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">sname;<br />        };        <br />        <br />    };<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">public methods.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">    Employee.prototype.getAge</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(){<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">return</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">this</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">.age;<br />    };<br />    <br />    emp1 </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">new</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> Employee(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">test1</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">,</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">28</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">);<br />    alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.name:</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.getName());<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">Reset private properties.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">    emp1.setName(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">test 2</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">);<br />    alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.name:</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.getName());<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">Replace privileged methods.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">    emp1.setName</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(sname,stitle){<br />        m_name</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">sname;<br />        m_title</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">stitle;<br />    };<br />    emp1.getName</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(){<br />        </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">return</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> m_name</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">::</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">m_title;<br />    };<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">Invoke replaced privileged methods.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">    emp1.setName(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">Chen</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">,</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">Engineer</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">);<br />    alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.name:</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.getName());<br />    <br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">//</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);">Invoke public methods.</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 128, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">    alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.age</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.getAge());<br />    alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.age</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">emp1.age);<br />    <br />    <br />    <br />    <br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span></div><br />  你很快会发觉，所谓的public方法根本不能访问私有变量，这令它的价值大打折扣。而出于数据封装的目的，使用public的变量似乎也颇为不妥。<br /><br />  为了达到”将相关信息封装到类“的目的，有两种变通办法，第一种，只采用private变量和privileged方法：<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> Employee</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(sname,iage){<br />        </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">private properties.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> m_name</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">sname;<br />        </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">privileged methods.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.getName</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />            </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> m_name;<br />        };<br />        </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.setName</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(sname){<br />            m_name</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">sname;<br />        };        <br />        <br />    };<br />    </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">public methods.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">    Employee.prototype.getAge</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.age;<br />    };<br />    <br />    emp1 </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Employee(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">test1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">28</span><span style="color: rgb(0, 0, 0);">);<br />    alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">emp1.name:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">emp1.getName());</span></div><br />  这种做法似乎很好，除了会带来性能的问题。因为每个实例自身都会创建两个方法。<br /><br />  另一种做法以实用主义为宗旨。不是所有的私有属性都需要get/set方法的，这增加了代码编写者的额外负担。只需在设计类的时候约定哪些属性是私有的，类的使用者不应该直接去访问。约定的私有属性以__或者_打头。<br /><br />  例如上面的版本可以重写为：<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> Employee</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(sname,iage){<br />        </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">Actually all are public properties,but you shouldn't directly access _age.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.name</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">sname;<br />        </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">._age</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">iage;        <br />    };<br />    </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">public methods.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">    Employee.prototype.getName</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.name;<br />    };<br />    </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">public methods.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">    Employee.prototype.getAge</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">._age;<br />    };<br />    <br />    emp1 </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Employee(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">test1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">28</span><span style="color: rgb(0, 0, 0);">);<br />    alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">emp1.name:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">emp1.name);<br />    alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">emp1.age:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">emp1.getAge());<br />    alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">emp1._age:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">emp1._age);</span></div><br /><br />  正如你在代码中看到的，用_给变量命名并没有改变它的public性质，仅仅是一种约定而已。本例中的约定表示：你可以直接访问emp1.name，但你不应该直接访问emp1._age，该变量是私有变量。<br /><br />  在YUI中采用了第二种做法，以实用为先。但是对Douglas来说，这似乎是个讽刺。他说js是世上最被误解的语言，他说js有完整的oo能力，但似乎，从他领导的YUI看不出这一点。<br /><br /><br /><br /><br /><img src ="http://www.cnitblog.com/yunshichen/aggbug/48261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-08-22 17:35 <a href="http://www.cnitblog.com/yunshichen/archive/2008/08/22/javascript-oo.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript 杂谈一：全局作用域和闭包</title><link>http://www.cnitblog.com/yunshichen/archive/2008/08/21/javascript.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Thu, 21 Aug 2008 14:16:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/08/21/javascript.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/48220.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/08/21/javascript.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/48220.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/48220.html</trackback:ping><description><![CDATA[    在网上看到一篇很好的文章，就是就写了这篇翻译&amp;杂谈。<br /><br />    在编程时你需要取得某些变量或者方法时才能继续你的开发工作，而程序编译器通常会将这些方法封装到一个个作用域。当你进入作用域，你才能取得该作用域的变量或方法。所以在某种意义上说，作用域（scope)非常重要。<br /><br />    在js中，所有的变量/方法都是对象，这当然也包括作用域。最全局的作用域就是window。以下这个小程序可以让你很清楚的看到这点：<br /> <br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> a</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">test a</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">;<br />window.b</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">test b</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">;<br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> c(){<br />    alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">test c</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">);<br />}<br />alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">a is:</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">window.a);<br />alert(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">b is:</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">+</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">window.b);<br />window.c();<br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span></div><br />    js存在名为作用域链的东东（scope chain) ,假设scopeA定义在scopeB中，scopeB定义在window中，那么当你访问某个变量a的时候，js现在当前作用域寻找，如果没有找到就到上层作用域寻找，周而复始，最后在window进行查找，如果再查找不到，就抛出异常.<br /><br />    多数程序语言对于作用域和变量的实现都是这样子的。似乎不用特别考究。<br /><br />    奇特的是在js内，函数内部还可以嵌套函数，所以你一定要对上述作用域的概念了然于胸。例如下面的例子：<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> A </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">new</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(){<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> a </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">test a</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">;<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> change(){<br />        alert(a);<br />        a</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">value changed</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">"</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">;<br />    };<br />    </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">this</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">.visible</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(){<br />        alert(a);<br />    }<br />}<br /><br />A.visible();<br />A.change();<br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span></div><br />    你可以看到，visible方法可以访问而change则不能。于是这种方式就模拟了某些“OO”语言如Java，C++的OO功能：数据封装。并且，上述代码是js中创建singleton对象的方式。<br /><br />    在上述代码中，change称为闭包（closure)，因为它能够访问位于本作用域外的属性或方法。然而，恕我直言，这种函数能访问外层作用域的变量或函数的方式在C++或者Java中不是很平常的事情？为什么会有个专门的名词呢？我暂时没有弄清楚，或者以后会认真读读js规范：<a href="http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf">Javascript's specification</a><br />   <br />    很好的一篇文章：<a temp_href="Getting Funky With Scopes and Closures" href="Getting%20Funky%20With%20Scopes%20and%20Closures">Getting Funky With Scopes and Closures</a><br /><br />    当然还有<a href="http://www.crockford.com/javascript/">Douglas Crockford 的主页</a><br />  <br /><br />  <br /><br /><br /><img src ="http://www.cnitblog.com/yunshichen/aggbug/48220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-08-21 22:16 <a href="http://www.cnitblog.com/yunshichen/archive/2008/08/21/javascript.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python:文件操作技巧(File operation)</title><link>http://www.cnitblog.com/yunshichen/archive/2008/08/11/47900.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Mon, 11 Aug 2008 07:18:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/08/11/47900.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/47900.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/08/11/47900.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/47900.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/47900.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Python相关文件操作函数实例和说明&nbsp;&nbsp;<a href='http://www.cnitblog.com/yunshichen/archive/2008/08/11/47900.html'>阅读全文</a><img src ="http://www.cnitblog.com/yunshichen/aggbug/47900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-08-11 15:18 <a href="http://www.cnitblog.com/yunshichen/archive/2008/08/11/47900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>备份文件的python脚本</title><link>http://www.cnitblog.com/yunshichen/archive/2008/08/08/47768.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Thu, 07 Aug 2008 16:48:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/08/08/47768.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/47768.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/08/08/47768.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/47768.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/47768.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 备份文件的python脚本，顺便学习学习语法&nbsp;&nbsp;<a href='http://www.cnitblog.com/yunshichen/archive/2008/08/08/47768.html'>阅读全文</a><img src ="http://www.cnitblog.com/yunshichen/aggbug/47768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-08-08 00:48 <a href="http://www.cnitblog.com/yunshichen/archive/2008/08/08/47768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring 2.5 &amp; Dwr 2.0 配置文档</title><link>http://www.cnitblog.com/yunshichen/archive/2008/07/21/46961.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Mon, 21 Jul 2008 02:40:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/07/21/46961.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/46961.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/07/21/46961.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/46961.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/46961.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Dwr2 集成 Spring2 配置文件&nbsp;&nbsp;<a href='http://www.cnitblog.com/yunshichen/archive/2008/07/21/46961.html'>阅读全文</a><img src ="http://www.cnitblog.com/yunshichen/aggbug/46961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-07-21 10:40 <a href="http://www.cnitblog.com/yunshichen/archive/2008/07/21/46961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring &amp; Hibernate 配置文件</title><link>http://www.cnitblog.com/yunshichen/archive/2008/07/03/46260.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Thu, 03 Jul 2008 02:26:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/07/03/46260.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/46260.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/07/03/46260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/46260.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/46260.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Spring & Hibernate 配置文件. 作备忘录.&nbsp;&nbsp;<a href='http://www.cnitblog.com/yunshichen/archive/2008/07/03/46260.html'>阅读全文</a><img src ="http://www.cnitblog.com/yunshichen/aggbug/46260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-07-03 10:26 <a href="http://www.cnitblog.com/yunshichen/archive/2008/07/03/46260.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu/Linux常用命令</title><link>http://www.cnitblog.com/yunshichen/archive/2008/06/25/45976.html</link><dc:creator>Chenyunshi</dc:creator><author>Chenyunshi</author><pubDate>Wed, 25 Jun 2008 02:52:00 GMT</pubDate><guid>http://www.cnitblog.com/yunshichen/archive/2008/06/25/45976.html</guid><wfw:comment>http://www.cnitblog.com/yunshichen/comments/45976.html</wfw:comment><comments>http://www.cnitblog.com/yunshichen/archive/2008/06/25/45976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yunshichen/comments/commentRss/45976.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yunshichen/services/trackbacks/45976.html</trackback:ping><description><![CDATA[
		<br />1 文件夹改名<br />  mv srcDir newDir<br /><br />2 查看内核版本<br />  uname -a<br /><br />3 安装deb包  <br /><pre> sudo dpkg -i package_file.deb<br /></pre><img src ="http://www.cnitblog.com/yunshichen/aggbug/45976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yunshichen/" target="_blank">Chenyunshi</a> 2008-06-25 10:52 <a href="http://www.cnitblog.com/yunshichen/archive/2008/06/25/45976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>