<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://prowyh.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fprowyh.spaces.live.com%2fcategory%2f%e6%8a%80%e6%9c%af%e9%9a%8f%e7%ac%94%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>prowyh's space: 技术随笔</title><description /><link>http://prowyh.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=cat%25E6%258A%2580%25E6%259C%25AF%25E9%259A%258F%25E7%25AC%2594</link><language>en-US</language><pubDate>Wed, 03 Sep 2008 02:57:19 GMT</pubDate><lastBuildDate>Wed, 03 Sep 2008 02:57:19 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://prowyh.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-1537263819930693984</live:id><live:alias>prowyh</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>我的工作空间 (My Workspace)</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!498.entry</link><description>&lt;div&gt;看来网络广告是真有效果，以前也知道有Microsoft Office Online版本的事情，没怎么在意。今天在spaces.live.com上看到office.live.com的广告，点了一下，就成了Office Live Workspace的用户了。&lt;img title=Open-mouthed style="vertical-align:middle" alt=Open-mouthed src="http://shared.live.com/HjKMzTS-xzcms40!CabizA/emoticons/smile_teeth.gif"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;试用了一下，感觉不错。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://std.levensoft.com/admin" target="_blank"&gt;&lt;img src="http://www.levensoft.com/data/pictures/workspace.jpg"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;界面做的非常专业，不愧是Microsoft，一上来就是大手笔，比我做的界面强多了…… &lt;img title=Hot style="vertical-align:middle" alt=Hot src="http://shared.live.com/HjKMzTS-xzcms40!CabizA/emoticons/smile_shades.gif"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;试比较：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://std.levensoft.com/admin" target="_blank"&gt;&lt;img src="http://www.levensoft.com/data/pictures/levensite_ui.jpg"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;虽然我认为已经很专业了，但和Microsoft相比，还是差那么一点点。&lt;img title=Smile style="vertical-align:middle" alt=Smile src="http://shared.live.com/HjKMzTS-xzcms40!CabizA/emoticons/smile_regular.gif"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;1) 从Microsoft的几个在线系统（spaces.live.com, hotmail.com, msdn.microsoft.com, workspace.office.live.com）来看，Microsoft已经舍弃了HTML中的Button。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;2) workspace.office.live.com只是一个Workspace，文档的编辑还是利用Office桌面软件，这一方面是Online版的编辑器现在还无法与桌面软件相比（spaces.live.com的编辑器已经足够好了，但从UE的角度来说，还是无法与Word相比），另一方面也是一种策略，Microsoft不可能丢掉Desktop Office这只Cash Bull的！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;3) 使用workspace.office.live.com需要安装（或打开，enable）几个ActiveX控件，利用这些控件来连接Web与Desktop，这样使得workspace.office.live.com与Desktop Office的交互更加顺畅，而不会太有两张皮的感觉。这恐怕只有Microsoft才能够做到，因为你如果只有Online System，无法与桌面进行顺畅的交互。而如果Microsoft没有IE，要想顺利实现这些也是很难的（甚至是不可能的）。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Web的桌面化（Web as Your Desktop）是目前的大趋势，SaaS（Software as a Service）在起着助推器的作用，但完全实现这点目前还有技术上的难度，HTML、DOM还有待于继续完善，JavaScript还很弱（不论是编程模型，还是调试手段，以及执行效率），浏览器对标准的实现程度还是一个问题。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e6%88%91%e7%9a%84%e5%b7%a5%e4%bd%9c%e7%a9%ba%e9%97%b4+(My+Workspace)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!498.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!498.entry</guid><pubDate>Sat, 31 May 2008 16:57:30 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!498/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!498.entry#comment</wfw:comment><dcterms:modified>2008-05-31T17:00:07Z</dcterms:modified></item><item><title>让人不知所以的IE（The Puzzled IE）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!490.entry</link><description>&lt;div&gt;IE提供了一些命令用于页面与外部环境的交互，其中Copy命令是将选中的内容拷贝（复制）到剪贴板。可以如下的JavaScript代码实现：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;function copyToClipboard(obj)&lt;/div&gt;
&lt;div&gt;{&lt;/div&gt;
&lt;blockquote dir=ltr style="margin-right:0px"&gt;
&lt;div&gt;var range = document.body.createTextRange();&lt;/div&gt;
&lt;div&gt;if (range)&lt;/div&gt;
&lt;div&gt;{&lt;/div&gt;
&lt;blockquote dir=ltr style="margin-right:0px"&gt;
&lt;div&gt;range.moveToElementText(obj);&lt;/div&gt;
&lt;div&gt;range.select();&lt;/div&gt;
&lt;div&gt;var result = range.execCommand(&amp;quot;Copy&amp;quot;);&lt;/div&gt;&lt;/blockquote&gt;
&lt;div dir=ltr&gt;}&lt;/div&gt;&lt;/blockquote&gt;
&lt;div&gt;}&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;出于安全原因，IE会显示一个提示框，以提示用户是否允许复制到剪贴板，如下图。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a title="LevenSite Server" href="http://std.levensoft.com/admin" target="_blank"&gt;&lt;img alt="LevenSite Server" src="http://www.levensoft.com/data/pictures/ie_puzzled.jpg" border=0&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;我们需要根据用户选择“允许”还是“不允许”来给出进一步的提示信息，但却无法得知用户的选择！MSDN说：Returns true if the command is successful. 言外之意就是，如果执行不成功，应该返回false。可测试的结果却是：不管“允许”还是“不允许”，result总是true！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;除&lt;strong&gt;execCommand&lt;/strong&gt;之外，IE还提供了几个用于查询命令执行情况的方法：&lt;/div&gt;
&lt;div&gt;&lt;em&gt;bEnabled&lt;/em&gt; = &lt;em&gt;object&lt;/em&gt;.&lt;strong&gt;queryCommandEnabled&lt;/strong&gt;(&lt;em&gt;sCommand&lt;/em&gt;);&lt;/div&gt;
&lt;div&gt;&lt;em&gt;bIndeterm&lt;/em&gt; = &lt;em&gt;object&lt;/em&gt;.&lt;strong&gt;queryCommandIndeterm&lt;/strong&gt;(&lt;em&gt;sCommand&lt;/em&gt;);&lt;/div&gt;
&lt;div&gt;&lt;em&gt;bDone&lt;/em&gt; = &lt;em&gt;object&lt;/em&gt;.&lt;strong&gt;queryCommandState&lt;/strong&gt;(&lt;em&gt;sCommand&lt;/em&gt;);&lt;/div&gt;
&lt;div&gt;&lt;em&gt;bSupported&lt;/em&gt; = &lt;em&gt;object&lt;/em&gt;.&lt;strong&gt;queryCommandSupported&lt;/strong&gt;(&lt;em&gt;sCommand&lt;/em&gt;);&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;但这些方法在这件事情上毫无用处，不管选择“允许”还是“不允许”，这些方法的结果都一样！如与本文目的直接有关的应该是queryCommandState，MSDN说：(This method ) returns a Boolean value that indicates the current state of the command.但不管“允许”还是“不允许”，该方法总是返回false！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;如何知道用户选择的是&amp;quot;Allow access”还是&amp;quot;Don't allow”？答案是“无法知道”！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;想当年，我们曾为IE的DHTML举手称庆！也为IE的巨大包容性而“心怀感激”！然而，在“坐稳江山”之后，IE却无可避免地“自满”起来，真是宿命！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;所以，竞争，才是推动技术进步的不二动力！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e8%ae%a9%e4%ba%ba%e4%b8%8d%e7%9f%a5%e6%89%80%e4%bb%a5%e7%9a%84IE%ef%bc%88The+Puzzled+IE%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!490.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!490.entry</guid><pubDate>Sun, 25 May 2008 09:47:41 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!490/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!490.entry#comment</wfw:comment><dcterms:modified>2008-05-26T10:00:35Z</dcterms:modified></item><item><title>话说UNIX之春秋战国</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!481.entry</link><description>&lt;div&gt;很久没有光顾UNIX这个百花园了，最近借着做UNIX培训，又徜徉了一把。&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;从87年接触UNIX，到现在已有20年了！想当初为了踏上由UNIX/C开辟出的“新大陆”而秉烛夜战的热情，恍如昨日……&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;不幸的是，由于AT&amp;amp;T的“慷慨”，UNIX source code走出了生她养她的Bell Laboratories，宛如亚当与夏娃走出了伊甸园，而使得地上“爬满”了芸芸众生一样，UNIX从此不再“UNI-X”！&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;潘多拉的盒子一旦打开，世界也就不再安宁。从UI、OSF，到POSIX，再到Open Group，将UNIXes拉拢到一起的尝试一波接一波，但UNIXes仍然“我行我素”，仍然标榜“我最美”！特别是各种庶出之Linux，更是让UNIX这一本已“人满为患”的大家族更加“人声鼎沸”！&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;乱花渐欲迷人眼，现在即使想找一个UNIXes的最小公分母，也不是一件容易的事。如果说dump命令不算UNIX的classical command的话，那cron可是“与生俱来”的，但每个用户的crontab文件以及cron.allow、cron.deny已经“找不着北”了……&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;UNIX的设计理念之一是“统一”，或者说“一致”，如文件，文件是UNIX中特别伟大的概念及实现机制，就是因为其统一的处理方式。再如处理文件的命令，既可以接受作为命令行参数的文件名，也可以从标准输入读，作为过滤器使用，从而为通过管道构建强大的命令组合提供了实现机制。这种“逻辑的一致性”使得UNIX实现一些处理功能时非常优雅！&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;可惜的是，后来人却没能坚持这种优雅的“逻辑一致性”，有些命令让人非常烦恼！&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;chage是一个设置用户帐户/密码有效期的命令，可以方便地更改用户的最近（上次）修改密码的日期：&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;chage -d lastday user&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;但这里lastday要求必须是日期格式，实际上/etc/shadow中的lastday存储的是上次修改密码的日期与1970-1-1的差！而UNIX又没有提供计算两日期之差的命令，这样有时候就非常麻烦，如对于这样的任务：&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;用户peter的密码已失效，如何做才能使peter能够登录而又能够强制其立即修改密码？&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;要使peter能够登录，必须向前推算peter的lastday，而且必须将lastday转换为日期格式，才能用chage命令来设置，下面是完成此任务的Shell Script：&lt;/div&gt;
&lt;div&gt;    &lt;/div&gt;
&lt;div&gt;# $HOME/bin/enable.sh&lt;/div&gt;
&lt;div&gt;######################&lt;/div&gt;
&lt;div&gt;# for user whose password have expired,&lt;/div&gt;
&lt;div&gt;# enable him/her to login, and force him/her to update password&lt;/div&gt;
&lt;div&gt;# &lt;/div&gt;
&lt;div&gt;# tested on Turbo Linux&lt;/div&gt;
&lt;div&gt;#&lt;/div&gt;
&lt;div&gt;# 2008-3-27&lt;/div&gt;
&lt;div&gt;######################&lt;br&gt;#! /bin/bash&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;if [ $# -le 0 ]; then&lt;/div&gt;
&lt;div&gt;    echo &amp;quot;usage: $0 user&amp;quot;&lt;/div&gt;
&lt;div&gt;    exit 0&lt;/div&gt;
&lt;div&gt;fi&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;a=($(cat /etc/shadow | grep &amp;quot;^$1:&amp;quot; | sed &amp;quot;s/::/:0:/g&amp;quot; | tr &amp;quot;:&amp;quot; &amp;quot; &amp;quot;))&lt;br&gt;maxdays=${a[4]}&lt;br&gt;inactive=${a[6]}&lt;/div&gt;
&lt;div&gt;&lt;br&gt;d=$(expr $maxdays + $inactive - 1)&lt;br&gt;c=$(expr $(date +&amp;quot;%s&amp;quot;) / 86400)&lt;br&gt;c=$(expr $c - $d)&lt;/div&gt;
&lt;div&gt;years=$(expr $c / 365)&lt;/div&gt;
&lt;div&gt;&lt;br&gt;days=0&lt;br&gt;idx=0&lt;br&gt;while [ $idx -lt $years ]&lt;br&gt;do&lt;br&gt;    y=$(expr $idx + 1970)&lt;br&gt;    days=$(expr $days + 365)&lt;br&gt;    &lt;br&gt;    r4=$(expr $y % 4)&lt;br&gt;    r100=$(expr $y % 100)&lt;br&gt;    r400=$(expr $y % 400)&lt;br&gt;    if [ $r4 -eq 0 -a $r100 -ne 0 -o $r4 -eq 0 -a $r400 -eq 0 ]; then&lt;br&gt;        days=$(expr $days + 1)&lt;br&gt;    fi&lt;br&gt;    idx=$(expr $idx + 1)&lt;br&gt;done&lt;br&gt;year=$(expr $idx + 1970)&lt;/div&gt;
&lt;div&gt;&lt;br&gt;r4=$(expr $year % 4)&lt;br&gt;r100=$(expr $year % 100)&lt;br&gt;r400=$(expr $year % 400)&lt;br&gt;ma=(31 28 31 30 31 30 31 31 30 31 30 31)&lt;br&gt;if [ $r4 -eq 0 -a $r100 -ne 0 -o $r4 -eq 0 -a $r400 -eq 0 ]; then&lt;br&gt;    ma[1]=$(expr ${ma[1]} + 1)&lt;br&gt;fi&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;day=$(expr $c - $days)&lt;br&gt;idx=0&lt;br&gt;while [ $day -gt ${ma[$idx]} ]&lt;br&gt;do&lt;br&gt;    day=$(expr $day - ${ma[$idx]})&lt;br&gt;    idx=$(expr $idx + 1)&lt;br&gt;done&lt;/div&gt;
&lt;div&gt;&lt;br&gt;month=$(expr $idx + 1)&lt;br&gt;chage -d &amp;quot;$year-$month-$day&amp;quot; $1&lt;br&gt;chage -l $1&lt;/div&gt;
&lt;div&gt;&lt;br&gt;该脚本的用法：&lt;/div&gt;
&lt;div&gt;# enable.sh peter&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;执行过该命令之后，peter即可登录，而且必须立即更改密码。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;该脚本之所以如此冗长，是因为要将天数转换为chage要求的日期！也许chage命令的设计/实现者认为chage主要是用来手工设置用户的lastday等参数的，参数取日期形式会更加自然，所以在内部实现了从日期到天数的转换，而将“自然”留给了用户。但对于此例所言之情况，则是“太不自然”了：要写那么冗长的代码将天数转换为日期，而后chage内部再将日期转换为天数！My God!&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;如果chage支持天数形式的-d选项，则enable.sh将会简洁、优雅得多：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;
&lt;div&gt;# $HOME/bin/enable2.sh&lt;/div&gt;
&lt;div&gt;######################&lt;/div&gt;
&lt;div&gt;# for user whose password have expired,&lt;/div&gt;
&lt;div&gt;# enable him/her to login, and force him/her to update password&lt;/div&gt;
&lt;div&gt;# &lt;/div&gt;
&lt;div&gt;# 2008-3-27&lt;/div&gt;
&lt;div&gt;######################&lt;br&gt;#! /bin/bash&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;if [ $# -le 0 ]; then&lt;/div&gt;
&lt;div&gt;    echo &amp;quot;usage: $0 user&amp;quot;&lt;/div&gt;
&lt;div&gt;    exit 0&lt;/div&gt;
&lt;div&gt;fi&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;a=($(cat /etc/shadow | grep &amp;quot;^$1:&amp;quot; | sed &amp;quot;s/::/:0:/g&amp;quot; | tr &amp;quot;:&amp;quot; &amp;quot; &amp;quot;))&lt;br&gt;maxdays=${a[4]}&lt;br&gt;inactive=${a[6]}&lt;/div&gt;
&lt;div&gt;&lt;br&gt;d=$(expr $maxdays + $inactive - 1)&lt;br&gt;&lt;/div&gt;
&lt;div&gt;chage -d $d $1&lt;/div&gt;
&lt;div&gt;chage -l $1&lt;/div&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;可惜，该脚本却是不能执行的。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e8%af%9d%e8%af%b4UNIX%e4%b9%8b%e6%98%a5%e7%a7%8b%e6%88%98%e5%9b%bd&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!481.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!481.entry</guid><pubDate>Thu, 27 Mar 2008 13:28:37 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!481/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!481.entry#comment</wfw:comment><dcterms:modified>2008-03-27T13:58:35Z</dcterms:modified></item><item><title>江山代有才人出（三）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!437.entry</link><description>&lt;div&gt;Jason Hiner先生在其blog《&lt;a title="Permanent Link: Sanity check: Could one of these five companies be the next Microsoft?" href="http://blogs.techrepublic.com.com/hiner/?p=532" rel=bookmark&gt;&lt;font color="#003399"&gt;Sanity check: Could one of these five companies be the next Microsoft?&lt;/font&gt;&lt;/a&gt;》 中列举了5家公司，认为这5家公司在技术与平台上各有所长，都有可能是下一个Microsoft！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;5家公司分别是：&lt;a href="http://www.zoho.com/" target="_blank"&gt;Zoho&lt;/a&gt;, &lt;a href="http://aws.amazon.com/" target="_blank"&gt;Amazon&lt;/a&gt;, &lt;a href="http://www.apple.com/" target="_blank"&gt;Apple&lt;/a&gt;, &lt;a href="http://www.google.com/" target="_blank"&gt;Google&lt;/a&gt;, &lt;a href="http://www.cisco.com/" target="_blank"&gt;Cisco&lt;/a&gt;。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;其中Zoho却是闻所未闻的，作者也认为：This is the only real “little guy” on the list. 但为什么居然把这个“little guy”列为第一位呢？&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Office被认为是Microsoft的“现金牛”，自从Lotus 1-2-3、WordPerfect等软件出局以后，Microsoft Office即独步天下！虽然也有个别软件在某些方面比较优秀，但Word + Excel + PowerPoint的完美组合（当然，你也可以认为是垃圾组合！）却成为公司商用软件的霸主。以至于谁要想把Microsoft摇晃一下，必须做出一个更好的Office！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;前段时间Google推出了自己的Google Office在线组合产品，应该说已经做得很不错了，也可能我孤陋寡闻，好像没见有更进一步的动作。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Zoho来了……&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;如果将Microsoft在IE 4.01中实现XMLHTTPRequest对象作为Ajax技术诞生日的话，Ajax的历史已经很“久远”了，只是当时XMLHTTPRequest像个丑小鸭一样，无人注意！Google为她穿上了“水晶鞋”，一时间，引得众人趋之若骛，Ajax这才大放异彩！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;不过，我们好像除了通过divContainer.innerHTML = htmlDataFromXMLHTTPRequest;而更新页面部分内容之外，不知道Ajax还能干什么？&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Zoho告诉我们：Ajax不只是噱头！利用Ajax，可以把Online Office做得很漂亮！！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=49c15424640c8bbb372015b9db2d28ce&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt;Zoho Writer&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=22d01c51e7c51676f4534e6e8ed981db&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt;Zoho Sheet&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=89e2e9e03300530161450027402cc35d&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt;Zoho Show&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;当然，Zoho的产品不只这些，但这足以说明Jason Hiner先生为什么要将这个&amp;quot;little guy&amp;quot;列为第一位了。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Zoho这些漂亮的产品说明了两个问题：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;1、Ajax所能做的还有很多，我们需要学习的还有很多。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;2、这些在线产品并不关心哪个文档格式会成为ISO标准，不管谁成为ISO标准，我都能互相转换。这是产品生存至关重要的内容。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;与之相关的还有另外一个问题：这样的产品能成为未来的主导么？&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e6%b1%9f%e5%b1%b1%e4%bb%a3%e6%9c%89%e6%89%8d%e4%ba%ba%e5%87%ba%ef%bc%88%e4%b8%89%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!437.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!437.entry</guid><pubDate>Tue, 11 Sep 2007 12:22:29 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!437/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!437.entry#comment</wfw:comment><dcterms:modified>2007-09-11T12:22:29Z</dcterms:modified></item><item><title>江山代有才人出（二）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!380.entry</link><description>&lt;div&gt;Russia-based &lt;a href="http://www.quintura.com/"&gt;Quintura Search Engine&lt;/a&gt;为我们带来了另外的惊喜： Quintura号称“可视化的搜索引擎（visual search engine）”，试图以人们思考概念的自然方式进行搜索。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Google.com是基于关键词（keyword）的搜索，没有表达概念相关性的手段。实际上，人们进行搜索的过程就是一个不断求精（refinement）的过程，而此求精过程就是通过概念的相关性来完成的。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ask.com通过Narrow your searches和Expand your searches来体现这个过程，Quintura.com则是通过“概念云图（concept cloud）”来实现。下图是搜索“search engine”的结果。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=3a47a2f34e21a62bf180676afed5981f&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Quintura.com的页面分为三个部分：上部为功能条，左部为云图区，右部为结果列表区。结果列表区为嵌入的IFrame，其余就是一个平板的页面（flat page），通过嵌入的DIV而区分为若干个功能区。应用了Ajax技术，使得整个页面非常具有动态性。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=66f6c7195ae7c82822a8699dfc8fe367&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;由此图可以看出，search engine与很多概念相关，如submission, watch, plugins, web, 等等。其中：&lt;/div&gt;
&lt;div&gt;Query words - words from the search box. The search engine looks for these words and highlights them in your search results. &lt;/div&gt;
&lt;div&gt;Query context - words close to your query words by meaning. The context words let you refine your query. &lt;/div&gt;
&lt;div&gt;Selected word - a word you are pointing to. If the Autorefinement check box is selected in your Settings, relevant links are downloaded (as if you add this word to your search query). &lt;/div&gt;
&lt;div&gt;Selected word context - words close to the selected word by meaning. The context words let you change the direction of searching. &lt;/div&gt;
&lt;div&gt;Favorite icon - an icon to the left of a word referring to a website found as most relevant for the specific word. &lt;/div&gt;
&lt;div&gt;&lt;br&gt;Quintura.com声称，概念云图由后台非常复杂的神经网络和服务器集群做支撑！所以，搜索引擎是非常tech-intensive的！&lt;/div&gt;
&lt;div&gt;但IT，特别是Internet（Web），就是这样不断由技术推动着，“从胜利走向胜利”……&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e6%b1%9f%e5%b1%b1%e4%bb%a3%e6%9c%89%e6%89%8d%e4%ba%ba%e5%87%ba%ef%bc%88%e4%ba%8c%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!380.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!380.entry</guid><pubDate>Wed, 20 Jun 2007 04:08:45 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!380/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!380.entry#comment</wfw:comment><dcterms:modified>2007-06-20T04:12:21Z</dcterms:modified></item><item><title>江山代有才人出</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!378.entry</link><description>&lt;div&gt;Internet信息的海量特征催生了搜索引擎，使得人们可以快速地搜索信息。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;从信息搜索的角度来说，Google.com可以说达到了目前的最高水平，以至甚至认为Google.com是不可超越的（连Microsoft也自叹弗如）！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;But really? No!&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ask.com is a better one!&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=146bd94080bf4f0c6bfa40ea5d0064fe&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ask.com的首页不再是Google.com简单的文本页面，而代之以华丽的视觉感受！然而，这并不是Ask.com最重要的。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=3d1e722554dbf09cf68cfd30dc8c72f4&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;这是以搜索pancreas一词而显示的Ask.com页面，整个页面分为左、中、右三栏结构。中栏（A）为页面主体，显示搜索结果。右栏由多个组件组成，首先是图片（B），该部分显示与搜索关键词相关的图片，此图中显示的是与pancreas（胰腺）相关的图片，使人文图对照，一目了然。下面的组件（C）是pancreas的百科全书条目，再下面的组件D是pancreas一词的词典定义（下面未显示部分还有相关的blog）。通过这些内容，可以对所搜索的词（pancreas）有更准确的理解。左栏的E是精确搜索（narrow your search），F是扩展搜索（expand you search），通过这两部分，可以对搜索进行窄化（内涵搜索）与泛化（外延搜索）。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;通过简单的介绍可以看出，Ask.com已经不再是简单的search，而是对search加入了data mining技术！Ask.com所有这些组件作为一个整体，大大提高了结果信息的相关性！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;当然，Ask.com不仅仅是search：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://mystuff.ask.com/servlet/snipit_image_proxy?uid=b6c75159f83fb178253c52eafa14db41&amp;amp;img_guid=66d2403286017e96300ea43256223619&amp;amp;locale=en_US"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ask.com也在努力创造自己的社区！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ask.com和Answers.com在某种意义上体现了知识搜索的雏形！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;当然，Ask.com也并非完美，访问速度比较慢，而且有横向滚动条，其社区的页面还处于Yahoo.com早期的水平，对图片的编辑也不如flickr.com方便！Anyway, I love Ask.com!&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e6%b1%9f%e5%b1%b1%e4%bb%a3%e6%9c%89%e6%89%8d%e4%ba%ba%e5%87%ba&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!378.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!378.entry</guid><pubDate>Tue, 19 Jun 2007 03:02:48 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!378/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!378.entry#comment</wfw:comment><dcterms:modified>2007-06-20T04:09:03Z</dcterms:modified></item><item><title>又回到了全拼输入法</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!356.entry</link><description>&lt;p&gt;为了解决中文输入的问题，各路高人各显神通。Windows Server 2003标准配置的输入法就有：内码、全拼、双拼、郑码、智能ABC、微软拼音输入法2003。据说现在研究输入法的仍大有人在！
&lt;p&gt;一直有一个“顽固”的想法：中文输入应该是一个自然的过程，不应该特意去学。所以对“五笔”一直敬而远之。 
&lt;p&gt;最早的时候是用的双拼，后来全拼输入法出来后，就一直采用全拼。现代汉语的特点是以“词”为组成单位，而不是“字”，而且，使用全拼可以建立自己的个性化词库。所以，理论上，如果词库足够“好”，则中文输入的速度将足够快。
&lt;p&gt;微软一直在研究自己的拼音输入法，许多人觉得很好用。趁着这次重装系统，也安装了微软拼音输入法，但今天，我还是把它卸掉了。
&lt;p&gt;微软拼音输入法采用了人工智能（AI）的机器学习技术，其目的是由机器（软件）辅助人的中文输入，具体体现为三点：
&lt;p&gt;①     根据字与字的人工组合自动“组字成词”
&lt;p&gt;②     根据字（或词）的使用频度动态调整字/词的出现位置（将使用频度高的字/词自动往前排列）
&lt;p&gt;③     “组词成句”
&lt;p&gt;这看起来很合理，但实际使用中却不尽然。
&lt;p&gt;首先，“组字成词”需要一个人工“拣字”的过程，无疑降低了输入速度。
&lt;p&gt;其次，根据字/词的使用频度自动调整出现位置，最易出现错别字！因为人很容易记住某个字/词的出现位置，在随后的输入过程中，在输入完整或部分拼音后，直接按相应的数字键（表示字/词的出现位置的选择键）就可以完成输入，而一旦位置不再固定不变，则很容易输入同音的别字，否则就要在输入每个字/词时都要仔细查看其位置，这样一来，输入速度就可想而知了。
&lt;p&gt;最后，“组词成句”看起来很完美，但并不实用。因为很少有一句话会到处套用，所以其“复用”程度很低。
&lt;p&gt;虽然微软拼音输入法有这些问题，但其借助AI技术提高中文输入速度的努力是值得称道的，与之相比，全拼输入法这么多年在技术上却一直没有进步（实际情况不得而知，仅根据Windows上所配置的全拼输入法而言），真是可惜！
&lt;p&gt;全拼输入法如果在这些方面有所改进，则其fans将有福了：
&lt;p&gt;①     完善词库管理
&lt;p&gt;一直不知道全拼的词库存放在哪里，所以每次重装系统，都会丢失以前所建的词库，又得从头开始一个词一个词地建。后来才知道，原来隐藏在一个很深的目录下，具体位置：
&lt;p&gt;C:\Documents and Settings\[user]\Application Data\Microsoft\IME\winpy\WINPY.EMB
&lt;p&gt;重装系统前，备份此文件，然后再恢复，即可。
&lt;p&gt;如果在词库的管理界面上提供一些管理功能，该有多好！（实现起来并不费事）
&lt;p&gt;②     提高软件的适应性与容错能力
&lt;p&gt;有时候，位于屏幕左下角的全拼功能窗口无法“消隐”，一直固执地出现在那里，非常烦！而且有时候还会出现多个！！而且任何一个输入框都会默认设置为中文输入状态，不胜其烦！！！
&lt;p&gt;难道这就是为“爱”必须要付出的代价么？
&lt;p&gt;说起来，也可能是无可奈何罢。微软只对发展自己的拼音输入法有兴趣，而并无意于发展不属于自己的全拼输入法，即使全拼的开发商有意完善，恐怕也是没有办法的罢。
&lt;p&gt;或许，世界本不完美，要求完美本身就是一个西西弗斯的问题……&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e5%8f%88%e5%9b%9e%e5%88%b0%e4%ba%86%e5%85%a8%e6%8b%bc%e8%be%93%e5%85%a5%e6%b3%95&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!356.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!356.entry</guid><pubDate>Fri, 18 May 2007 01:15:37 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!356/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!356.entry#comment</wfw:comment><dcterms:modified>2007-05-18T01:15:37Z</dcterms:modified></item><item><title>MSN，when do you Live？</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!294.entry</link><description>&lt;div&gt;微软将MSN变成Live，原本指望能够真正&amp;quot;live&amp;quot;起来，可还是很微软……&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;1、台海地震使得MSN变成了MS No！可为什么Google一直好用呢？&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;2、如果说地震是天灾，是不可抗力的话，MSN有些令人啼笑皆非的事情就匪夷所思了：&lt;/div&gt;
&lt;div&gt;1）添加评论时，作者栏显示“（没有名字）”，而且更不可理解的是还有的显示“（没有名称）”！？&lt;/div&gt;
&lt;div&gt;2）提交评论时，系统显示“由于服务器故障，提交没有成功，请再次提交”（大意），可如果再次提交，就会发现前一次的提交已经成功，从而导致重复提交！&lt;/div&gt;
&lt;div&gt;3）发表的评论不能修改。这不仅仅是MSN如此，几乎所有的blog系统，评论都不能修改！这是否有点obtrusive呢？现在键盘敲字不像在纸上写字（哎，都快不会写了），不经意间就会打错，为什么不给人改正的机会呢？犯错误并不可怕，可怕的是没有机会改正错误！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;3、MSN Spaces没有提供备份工具，万一哪一天这个space crashed，那……？&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;MSN，提供的已不仅仅是工具，而是一种生活方式，你什么时候才能Live起来呢？&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+MSN%ef%bc%8cwhen+do+you+Live%ef%bc%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!294.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!294.entry</guid><pubDate>Fri, 12 Jan 2007 18:07:25 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!294/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!294.entry#comment</wfw:comment><dcterms:modified>2007-01-13T17:22:35Z</dcterms:modified></item><item><title>程序语言之胡言乱语</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!291.entry</link><description>&lt;div&gt;今天与朋友喝酒，席间谈起程序设计语言的问题，特别是C/C++，不禁唏嘘……&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;上世纪80年代，伴随着Unix的崛起，C语言成为了软件开发的“标准”语言，Brian W. Kernighan and Dennis M. Ritche的《The C Programming Language》也随之而成为软件开发人员的经典。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;90年代，伴随着面向对象（Object-oriented）概念的兴起，C的后继者C++借助Visual C++而成为了Windows环境下软件开发的“王者”……&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;然而，随着Windows平台由COM时代进入.NET时代，C/C++已然风光不再……&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;目前存在着三条近乎平行的技术路线：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;1、Sun公司的Java平台&lt;br&gt;2、Microsoft公司的.NET平台&lt;br&gt;3、Linux平台&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Java平台的原生语言（也是唯一的语言）是Java语言，.NET平台的原生语言是C#（虽然.NET平台支持各种语言，但无疑C#是最“自然”的语言，而不论是Managed C++还是C++/CLI，看着总是那么别扭），而Linux平台目前尚缺乏商用的应用程序，在Linux平台上运行最多的还是LAMP（Linux + Apache + MySQL + PHP）的Web系统。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;由以上的简单分析，使我们不得不感叹C/C++的“美人迟暮”，令人唏嘘不已……虽然心痛，却也无可奈何……&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e7%a8%8b%e5%ba%8f%e8%af%ad%e8%a8%80%e4%b9%8b%e8%83%a1%e8%a8%80%e4%b9%b1%e8%af%ad&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!291.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!291.entry</guid><pubDate>Mon, 18 Dec 2006 13:16:49 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!291/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!291.entry#comment</wfw:comment><dcterms:modified>2006-12-18T13:27:13Z</dcterms:modified></item><item><title>DHTML Scriptlet（四）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!256.entry</link><description>&lt;div&gt;高级特性&lt;/div&gt;
&lt;div&gt;&lt;br&gt;属性的行为在有些情况下与内存地址一样，但只是这样还不够，设想一个组件有一个颜色属性，在设置该属性后，希望能够立即在组件上反映出来，大多数组件都需要在改变它们的一些属性时能够立即反映出来。为了支持这一点，组件体系结构允许你将函数定义为组件的属性。将函数定义为属性是在函数名前加public_get_或public_put_前缀。&lt;/div&gt;
&lt;div&gt;&lt;br&gt; 例子&lt;br&gt; 下面的例子显示了函数如何用于实现属性：&lt;br&gt; &amp;lt;Script Language=”Jscript”&amp;gt;&lt;br&gt; property1 = ‘some text’;&lt;br&gt; property1GetCount = 0;&lt;br&gt;  property1PutCount = 0;&lt;br&gt; function public_get_property1()&lt;br&gt;  {&lt;br&gt;  property1GetCount++;  // 跟踪该函数的调用次数&lt;br&gt;   Return property1;   // 返回实际的属性值&lt;br&gt; }&lt;br&gt;  function public_put_property1()&lt;br&gt; {&lt;br&gt; property1PutCount++;&lt;br&gt;  property1 = new_value;&lt;br&gt; refresh();&lt;br&gt;}&lt;br&gt;&amp;lt;/Script&amp;gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;在这个例子中，函数记录了自己被调用的次数，在put函数中一旦设置了新值，组件将以某种方式刷新，你仍然可以在容器页面中像其它属性一样引用Scriptlet的property1属性：&lt;/div&gt;
&lt;div&gt;&lt;br&gt; Scriptlet1.property1 = ‘new text’;&lt;br&gt; A = Scriptlet1.property1;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;在第一行中，给属性property1赋值导致public_put_property1函数被调用以存储属性值（“new text”字符串），第二行调用public_get_property1函数以取得property1属性的值。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;如果是用JScript写Scriptlet，则还有另外一个选择来描述Scriptlet的界面，即使用public_description。如果用public_description定义一个对象，则该对象的成员将成为外部可以引用的属性和方法，而不再需要用public_前缀。如果有带有public_前缀的全局变量或函数，则被忽略。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;目前版本的VBScript不允许像JScript那样用public_description创建对象，但将来的版本将可以。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;用什么机制来定义Scriptlet的界面呢？这在很大程度上是一个风格的问题。用public_description来描述Scriptlet的公共界面，由于集中在一起，因而比较简洁，而不是像用public_前缀那样，界面的定义散落在整个Scriptlet代码中。&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+DHTML+Scriptlet%ef%bc%88%e5%9b%9b%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!256.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!256.entry</guid><pubDate>Mon, 06 Nov 2006 17:01:18 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!256/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!256.entry#comment</wfw:comment><dcterms:modified>2006-11-06T17:01:18Z</dcterms:modified></item><item><title>DHTML Scriptlet（三）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!255.entry</link><description>&lt;div&gt;如何写DHTML Scriptlet&lt;/div&gt;
&lt;div&gt;&lt;br&gt;Scriptlet可以是HTML页面或ASP页面，你可以使用任何HTML著作工具（如Microsoft FrontPage或Visual InterDev）创建Scriptlet。当然，如果你的环境不支持脚本编程，你就要在设计好HTML页面后再手工加入脚本代码。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;Scriptlet只呈现全局变量、过程及函数。要在需要呈现给外部的变量或函数名之前加一个“public_”前缀，任何带有这个前缀的全局变量都成为了Scriptlet的可读写的属性，任何带有这个前缀的全局函数或过程都成为了Scriptlet的公共方法。但若你在Scriptlet之外引用这些属性或方法，则不需要这个前缀。例如，在Scriptlet中做如下声明：&lt;/div&gt;
&lt;div&gt;&lt;br&gt; &amp;lt;Script Language=”JScript”&amp;gt;&lt;br&gt;  public_property1 = ‘some text’;&lt;br&gt;  function public_method1(param1, param2)&lt;br&gt;  {&lt;br&gt;   … ‘some code’…&lt;br&gt;  }&lt;br&gt; &amp;lt;/Script&amp;gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;则可以在包含该页面的脚本中引用这些属性或方法：&lt;br&gt; Scriptlet1.property1 = ‘some different text’;&lt;br&gt; A = Scriptlet1.method1(2, ‘sill more-text’);&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;事件&lt;/div&gt;
&lt;div&gt;&lt;br&gt;Scriptlet可以引发两种事件：onscriptletevent事件和标准窗口事件（如鼠标点击），标准窗口事件不能由Scriptlet随意产生，只能在某些情况下引发。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;Scriptlet可以认为本质上比传统的Windows程序更动态一些，对于在装入并分析过该Scriptlet以后才可知道的事件类型，Web著作工具并不能理解。基于此，Scriptlet与其容器之间的通信只能通过一种事件类型：onscriptletevent。Onscriptletevent事件包含两个参数：一个字符串及一个对象。事件处理程序可以根据传送的字符串决定如何响应此事件，对象参数则包含有关事件本身的一些信息。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;Scriptlet支持的标准窗口事件是通过传播产生于Scriptlet中的事件而引发的。如果你在Scriptlet中写了一个事件处理程序，来捕捉鼠标点击事件，则在事件处理程序中就可以调用bubbleEvent方法将该事件传播到Scriptlet的容器中，就像是从Scriptlet容器中产生的鼠标点击事件一样。&lt;/div&gt;
&lt;div&gt;&lt;br&gt; 例子：&lt;br&gt; &amp;lt;INPUT TYPE=”BUTTON” onclick=”doClick()”&amp;gt;&lt;br&gt; &amp;lt;Script Language=”JavaScript”&amp;gt;&lt;br&gt;  Function doClick()&lt;br&gt;  {&lt;br&gt;   // 将鼠标点击事件传播给容器&lt;br&gt;   window.external.bubbleEvent();&lt;br&gt;  }&lt;br&gt; &amp;lt;/Script&amp;gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;上下文菜单&lt;/div&gt;
&lt;div&gt;&lt;br&gt;可以很容易地为Scriptlet创建上下文菜单。这是一个弹出式菜单，将鼠标移到Scriptlet组件上并按右键，就会弹出此菜单。可以为每一个Scriptlet都定义一个上下文菜单，也可以在任何时候替换（修改）该菜单。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;要创建一个上下文菜单，首先建立一个字符串数组，将数组元素每两个一组配对，其值为字符串：每对的第一个元素是将出现在上下文菜单中的标号字符串（Label String），即菜单项名称，第二个元素是当该菜单项被选中时所要执行的Scriptlet中的脚本函数名。数组初始化完成后，以该数组作为唯一参数调用window.external.setContextMenu函数。这样，当用户在组件上按鼠标右键时，将弹出上下文菜单。&lt;/div&gt;
&lt;div&gt;&lt;br&gt; 例子&lt;br&gt; &amp;lt;Script Language=”VBScript”&amp;gt;&lt;br&gt; sub window_onload&lt;br&gt;  dim a(6)&lt;br&gt;  a(0) = “Add &amp;amp;Hello”&lt;br&gt;  a(1) = “Hello”&lt;br&gt;  a(2) = “Add &amp;amp;Goodbye”&lt;br&gt;  a(3) = “Goodbye”&lt;br&gt;  a(4) = “&amp;amp;About”&lt;br&gt;  a(5) = “About”&lt;br&gt;  window.external.setContextMenu(a)&lt;br&gt; end sub&lt;br&gt; &amp;lt;/Script&amp;gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+DHTML+Scriptlet%ef%bc%88%e4%b8%89%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!255.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!255.entry</guid><pubDate>Mon, 06 Nov 2006 16:59:21 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!255/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!255.entry#comment</wfw:comment><dcterms:modified>2006-11-06T16:59:38Z</dcterms:modified></item><item><title>DHTML Scriptlet（二）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!254.entry</link><description>&lt;div&gt;如何在Web页面中使用DHTML Scriptlet&lt;/div&gt;
&lt;div&gt;&lt;br&gt;要使用Scriptlet，需要在Web页面中加入OBJECT标记，以标准URL的形式命名要引用的Scriptlet。为了标识DHTML Scriptlet，IE4引入了一种新的MIME类型：text/x-scriptlet。IE4就是根据“text/x-scriptlet”的MIME类型识别嵌入在Web页面中的DHTML Scriptlet的。下面的例子表示了如何在Web页面中嵌入DHTML Scriptlet，注意在OBJECT标记中并没有CLSID。&lt;/div&gt;
&lt;div&gt;&lt;br&gt; 例子：&lt;br&gt;  &amp;lt;OBJECT width=200 height=123 TYPE=”text/x-scriptlet” DATA=”Calendar.htm”&amp;gt;&amp;lt;/OBJECT&amp;gt;&lt;br&gt;其中，TYPE属性表示该OBJECT标识一个DHTML Scriptlet，DATA属性表示该Scriptlet的URL。&lt;br&gt;所有平台（Windows、Macintosh、UNIX）的IE4均支持这种MIME类型。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;DHTML Scriptlet可以用任何脚本语言（如Microsoft JScript或Visual Basic Scripting Edition）来写。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;DHTML Scriptlet的实现&lt;/div&gt;
&lt;div&gt;&lt;br&gt;前面我们已经说过，任何平台的IE4都支持DHTML Scriptlet，但平台不同，DHTML Scriptlet的实现方式可能也会不一样，在IE4支持的所有平台，一个DHTML Scriptlet就是一个Web页面。在Win32®平台，DHTML Scriptlet的实现充分利用了IE4的特性，以COM对象的方式实现DHTML Scriptlet，也就是说，一个DHTML Scriptlet就是一个COM对象，并且可以用于支持COM技术的其它应用程序中。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;由于COM对象封装了IE4中的HTML绘制引擎（HTML Rendering Engine，这是IE4中的一个组件，文件名为MSHTML.DLL，它负责分析、显示HTML页面、COM控件以及Java Applet等）并且隐藏了它的大部分功能，所以，与将绘制引擎呈现给其用户的Web控件对象不同，Scriptlet组件只向其用户（包含该Scriptlet的Web页面或其它容器）呈现该Scriptlet的接口。这种呈现是通过将该Scriptlet（Scriptlet即是一个HTML页面）装入IE4的绘制引擎并以通常方式运行页面的脚本而实现的。一旦装入完成后，Scriptlet组件就准备与其容器（Container）进行交互。在通常的Web环境下，容器当然是指IE4，但任何容器，包括用Visual Basic写的程序，或甚至Microsoft Word，都可以像插入任何其它ActiveX控件一样地插入DHTML Scriptlet。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;然后Scriptlet组件桥接层就作为一个代理（Broker）起作用，将对属性和方法的请求传送给Scriptlet，而将事件从Scriptlet中传出。桥接层也完成一些薄记功能（housekeeping）如在容器和绘制引擎之间协商Scriptlet的尺寸。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;DHTML Scriptlet的安全性&lt;/div&gt;
&lt;div&gt;&lt;br&gt;Scriptlet的安全性与DHTML和Script本身一样，并且Scriptlet会识别出在其被放入一个如IE4这样的安全容器中时，遵守容器的安全策略。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;一般情况下，为了能够正确地操作，Scriptlet必须从其容器页面所在的Web服务器中装入，就像Java Applet一样。而且IE4的安全级别要设置为中（Medium）或低（Low）。&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+DHTML+Scriptlet%ef%bc%88%e4%ba%8c%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!254.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!254.entry</guid><pubDate>Mon, 06 Nov 2006 16:56:20 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!254/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!254.entry#comment</wfw:comment><dcterms:modified>2006-11-06T16:56:42Z</dcterms:modified></item><item><title>DHTML Scriptlet -- Web中的可重用对象</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!253.entry</link><description>&lt;div&gt;&lt;font color="#0000ff"&gt;[注记] 这是1999年为了研究Scriptlet而整理的一篇文章。Scriptlet可以说是微软为了应对Java Applet而提出的运行于客户端的轻量型部件（light-weight applet，文中称为Web组件——Web Component）。现在Scriptlet已经升级为Behaviors，但此文对了解Behaviors仍有参考价值，另外也为了防止放在机器里而丢失，故发在这里。文章比较长，将分开发布。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#0000ff"&gt;关于Demo的说明：文章本来附有一个Demo，在IE7里测试了一下，已经不支持了。由此也说明一个问题，由于自己不具有核心技术，在跟踪研究别人的技术时是要冒一定风险的。这也是没有办法的事，真正具有浏览器核心技术并能够领导潮流的又能有几家呢？&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;随着在Web中引入脚本语言，Internet已经转变成为支持复杂编程的动态环境，特别是IE4中动态HTML（Dynamic HTML）的引入，标志着Web正在走向成熟，已经不仅仅只是发布、浏览HTML页面，也可以作为应用程序用户界面的框架。而这不仅对于Web程序员，而且对于任何Windows应用程序的开发者来说，都是一个“利好”消息，至少在开发软件时又多了一个选择。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;我们知道，用Visual Basic写程序非常容易，由于有大量的控件（Control）可以利用，用Visual Basic写程序就变成了一个组装控件并使其协同工作的过程。作为此点的自然延伸，微软公司在提出动态HTML（DHTML），使HTML具备足够的描述能力以后，又提出了Web组件（Web Component）的概念，而DHTML Scriptlet即为Web组件的一部分。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;DHTML Scriptlet是一个封装了HTML和脚本（Script）的Web组件，它可以充分发挥DHTML的功能，DHTML Scriptlet使Web作者可以创建交互的Web内容，但它最主要的优势是它的可重用性，就像Windows的许多控件一样，你可以将设计好的DHTML Scriptlet重用于其他的Web页面或应用程序中。DHTML Scriptlet是将组件编程的好处和动态HTML及脚本结合在一起的一种方式。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;IE4 4.0是微软公司从发行Visual Basic开发系统就开始的范式转移（paradigm shift）的一个例子。Visual Basic的强大功能不在于语言，而在于用Visual Basic将组件集成在一起的能力。IE4在这一点上又超出了Visual Basic，它不仅将组件集成在了一起，更加上网络和Windows环境。所以，在这个意义上，IE4是COM范式的一个自然进化：重用组件，而不是库。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;在一个Web站点的建设中，通常会有很多相同或相似的Web页面成分（HTML成分或脚本成分），做重复工作是一件非常令人讨厌的事情，一般情况下，总是尽可能地重用这些页面成分。而为了重用这些页面成分，Web作者经常是剪切、粘贴，可能还要加以适当的修改。而用DHTML Scriptlet，Web作者只需要将这些Web页面成分封装为一个Scriptlet，定义好需要呈现（expose）给用户的属性和方法，那么，其他的Web页面或应用程序就可以重用这些定义好的DHTML Scriptlet了。通过Scriptlet呈现的属性和方法，其他Web作者不需要理解实现细节，就可以根据自己的需要定制这些Scriptlet。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;在Web页面中使用DHTML Scriptlet，还可以加快页面的下载速度。因为DHTML Scriptlet只包含HTML和脚本，与ActiveX控件和Java Applet比较起来，是非常轻的，所以能够很快下载并运行。另外，DHTML Scriptlet下载到客户端后，就会缓存起来，这样，下次再浏览到包含该DHTML Scriptlet的页面时，就可以不用从网上下载，而直接从本机缓存中调用，从而加快了页面的下载速度。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+DHTML+Scriptlet+--+Web%e4%b8%ad%e7%9a%84%e5%8f%af%e9%87%8d%e7%94%a8%e5%af%b9%e8%b1%a1&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!253.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!253.entry</guid><pubDate>Mon, 06 Nov 2006 16:37:28 GMT</pubDate><slash:comments>5</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!253/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!253.entry#comment</wfw:comment><dcterms:modified>2006-11-06T17:20:59Z</dcterms:modified></item><item><title>关于网站的一些基本概念</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!248.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font face=Verdana&gt;域名、IP地址、虚拟主机&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;在我们的实际生活中，不管是人，还是各种各样的单位（如医院、学校、工厂、公司、村庄等等），都会有一个名字，作为这个人（或单位）的标识。同样，在数字空间中，为了标识某个数字化的实体，也需要一个名字，这个名字就是域名（Domain name）。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;域名例子：www.levensoft.com，ftp.levensoft.com，mail.levensoft.com。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;这些域名由英文字母组成并以点号（.）分隔，使人一看就明白是什么意思，但机器却无法懂得其中的意义，为了使得机器能够明白，人们又发明了IP地址。所以，域名是面向人的，而IP地址是面向机器的，对于非专业人士，不必去了解IP地址是什么意思。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;IP地址例子：61.129.81.66，192.168.0.150，127.0.0.1。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;域名和IP地址都是一种资源，而且具有唯一性。由于这些特性，所以域名必须经过注册，IP地址必须经过分配，才具有合法性，才能够在数字世界畅通无阻地使用。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;前面已说明，域名是面向人的，对机器无意义，而IP地址是面向机器的，对人（非专业人士）无意义。也就是说，人使用域名，而机器使用IP地址，这是两个各自说着不同语言的不同的世界（层面），如何使得这两个世界相通呢？方法是在域名和IP地址之间建立起对应关系，建立此对应关系的过程叫“域名解析”。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;每一个域名都表示一个主机系统，如&lt;a href="http://www.levensoft.com/"&gt;&lt;u&gt;&lt;font color="#810081"&gt;www.levensoft.com&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;表示立文软件公司的网站，mail.levensoft.com表示立文软件公司的邮件系统，等等。这些主机系统指的都是软件系统，既可以都存在于一台物理的机器上，也可以分开存在于不同的物理机器上，但对于用户而言，并无区别。所以，即使在一台机器上存在着成百上千个主机系统，对这些主机系统的用户而言，就像它们每一个都存在于自己的物理机器上一样。对这些存在于一台机器上的主机系统，我们称之为“虚拟主机（系统）”。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;域名与IP地址的对应关系是一种“多对一”的关系，也就是说，多个域名都可以对应于同一个IP地址，如www.levensoft.com -- 61.129.81.66，mail.levensoft.com -- 61.129.81.66，等等，所以，www.levensoft.com、mail.levensoft.com就都叫做61.129.81.66这台机器上的虚拟主机。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;网站、网页、栏目（频道）&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;简单地说，网站就是由一些网页组成的一个可由浏览器访问的信息系统。实际上，现代网站的组成越来越复杂，尤其对于大型网站，往往是由几十台甚至几百台服务器组成的。人们为了便于把握一个复杂的网站系统，把网站从逻辑上分为三层：&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;表示层：呈现在用户面前的HTML页面组成了网站的表示层，是网站中直接面向使用者的部分。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;应用层：中间用来完成复杂应用功能的程序模块。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;数据层：系统后端用来存储数据的逻辑层，也复杂与其他系统的接口。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;所以，一个网站可以很简单，只由几个页面组成，也可以非常复杂，由几百台服务器组成一个庞大复杂的信息系统。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;不管一个网站如何复杂，其复杂性主要体现在后两层（及应用层和数据层），体现在用户面前的总是由HTML语言所描述的页面（网页）。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;就像报纸有版面，书籍有章节一样，为了便于管理及访问网站内容，又将网站划分为若干个栏目（也叫频道），每一个栏目可以由多个网页组成，这些网页共同组成一个内容上相对独立的子系统，以反映网站的某一个方面。例如：一般的企业网站都有“关于我们”、“产品信息”、“业界动态”等等，虽然具体名称可能不同，但每一个栏目都反映了一个企业的某一个侧面，这些栏目共同组成了该企业的网站，也全面地描述了该企业。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;网址、链接地址&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;网址是一个日常用语，概念比较含糊，一般是指域名，如说某网站的网址是什么，此时即指该网站的域名。但这样说并不确切，因为不是所有网站都有独立域名，没有独立域名的网站，其网址一般体现为一个链接地址（URL -- Universal Resource Locator）。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;如prowyh在MSN Spaces上的博客地址是一个域名：prowyh.spaces.live.com，而在新浪的博客地址blog.sina.com.cn/u/1181301981就只是一个链接地址。&lt;/font&gt;
&lt;p&gt;&lt;font face=Verdana&gt;链接地址（URL）是一个更技术化的术语，也是一个更通用的概念。上述的域名标识的是一个网站，无法标识组成网站的网页，而URL既包括了域名的概念，也可以用来标识组成网站的页面，如&lt;a href="http://www.levensoft.com/default.asp"&gt;&lt;u&gt;&lt;font color="#810081"&gt;www.levensoft.com/default.asp&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;标识的就是www.levensoft.com网站根目录下的default.asp文件（页面）。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e5%85%b3%e4%ba%8e%e7%bd%91%e7%ab%99%e7%9a%84%e4%b8%80%e4%ba%9b%e5%9f%ba%e6%9c%ac%e6%a6%82%e5%bf%b5&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!248.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!248.entry</guid><pubDate>Sun, 05 Nov 2006 02:24:22 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!248/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!248.entry#comment</wfw:comment><dcterms:modified>2006-11-05T02:24:22Z</dcterms:modified></item><item><title>Haha......that's great!</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!235.entry</link><description>&lt;div&gt;
&lt;p&gt;以前对服务器的远程控制与管理一直是通过Symantec PcAnywhere进行的，但PcAnywhere 10.0与Windows Server 2003不太兼容（可以运行，但经常出问题，如Windows远程桌面无法登录，File Transfer经常使得本地电脑处于死循环，而且运行PcAnywhere被控端的服务器经常无法显示桌面！），所以一直想卸掉，而改用Windows的远程桌面（Remote Desktop），但一直怕在卸载的过程中出问题，使得服务器失去控制，从而又不得不跑到机房。一想到跑机房的麻烦，就不得不忍忍吧，忍忍吧……
&lt;p&gt;服务器一旦出现无法显示桌面的情况，就得重启服务器，久而久之，则不胜其烦，再说一台用于生产环境下的服务器，老是重启也不是办法！今天终于横下一条心：宁肯服务器失去控制，也得把PcAnywhere卸掉！
&lt;p&gt;打开控制面板的“添加与删除程序”，找到Symantec PcAnywhere，怀着十分忐忑的心情，按下了“删除”按钮……正在收集应用程序信息……连接断开……PcAnywhere主控端关闭……打开Windows的远程桌面……登录……卸载完毕，需要重启系统，请按“确定”重启您的计算机……确定……重启……远程桌面连接关闭……等一会儿，重新登录……出现Windows桌面……PcAnywhere卸载成功！
&lt;p&gt;Oh, my God! My heart is putting down to her original place...........
&lt;p&gt;呵呵，您看到这里，可能会鄙夷：至于吗？我要说：非常“至于”……
&lt;p&gt;试想：
&lt;p&gt;1、如果在卸载过程中，PcAnywhere需要进一步的人工干预，而此时主控端已经失去了到服务器的连接！
&lt;p&gt;2、如果卸载程序在卸载过程出现问题，而没有完成卸载工作，此时PcAnywhere已经无法登录（因为一些程序已经被卸载），而Windows远程桌面也无法登录（影响Windows远程桌面无法登录的PcAnywhere中的那个模块恰恰没有被卸载！Windows Remote Desktop无法在运行PcAnywhere 10.0的机器上登录是因为PcAnywhere的登录模块截获了WinLogon）！
&lt;p&gt;这两种情况只要出现任何一种，此次在线远程卸载PcAnywhere主控端的工作即告失败！不得不等到下周去机房！
&lt;p&gt;所幸的是，这两种情况都没有出现，卸载工作干净利落地完成！行文至此，不得不对Symantec心生敬意！
&lt;p&gt;这……就是绅士风度！
&lt;p&gt;男人的绅士风度让女孩子心仪，说明该男人有着良好的家教与修养！软件的绅士风度让所有用户心生敬意，说明该软件的开发商有着良好的职业道德和以人为本的企业理念！
&lt;p&gt;相比于国内许多公司的流氓行为，Symantec让我们举手加额……
&lt;p&gt;那么，什么是软件的绅士风度呢？我以为，有如下几点：
&lt;p&gt;1、易于安装
&lt;p&gt;安装对于软件一直是一个很大的问题，因为软件面临的运行环境多种多样，既有比较清洁的系统，也有装了许多乱七八糟软件的“被污染”了的系统。绅士软件在安装时就要仔细检测系统环境，并自动作出相应处理。
&lt;p&gt;软件安装时还要尽量减少用户的人工干预。所有用户都很厌烦需要作出许多选择的软件安装过程，软件安装应尽量做到自动化，尽量减少用户的人工干预。
&lt;p&gt;2、易于卸载
&lt;p&gt;如果不想用该软件了，用户应该很容易地将该软件卸载掉。易于卸载一方面是指干干净净地将软件从系统中删除，包括自动stop service，自动删除安装时写入系统注册表中的信息，删除硬盘中的软件安装目录，不在系统中留下任何垃圾。另一方面是尽量减少用户的人工干预，一切卸载动作都是自动进行的。
&lt;p&gt;3、运行中的降级与日志
&lt;p&gt;正如如上安装所述，软件的运行环境多种多样，难免遇到不能正常运行的情况，此时一方面进行适当的降级（degrade），如果仍然不能运行，就应该“礼貌地”退出。这需要对所有的API调用进行状态检测，遇到问题，进行适当处理。亦即软件的运行不能失去控制（out of control）。
&lt;p&gt;另外就是在遇到问题时，尽可能地产生系统日志，记录问题出现的状况，以便用户能够进行troubleshooting。
&lt;p&gt;就像真正的绅士难得遇到一样，能够满足这几点要求的软件也是凤毛麟角，更多地是一些“半生不熟”的东西……
&lt;p&gt;1、QQ
&lt;p&gt;QQ大概有近10年的历史了，仍然是“半生不熟”，至少其卸载就在用户的电脑中留下了大量的垃圾。这个问题如果真正想去解决，其实并不难。
&lt;p&gt;2、CNNIC中文上网软件
&lt;p&gt;曾几何时，同事请求帮助，原因是无法正常使用！原来是CNNIC的中文上网软件！同事不知怎么不小心（由于不是IT Professional），在重装Windows系统时，竟然中间冒出来CNNIC的中文上网软件，该软件弹出一个对话框：选择“确定”安装软件，选择“取消”则取消软件安装。问题是选择确定也不行，选择取消也不行！徒唤奈何？最后没办法，建议同事reformat disk！
&lt;p&gt;还有一事，也事关CNNIC。客户不知从哪里知道的，告之要注册中文域名！所谓中文域名，即类似“立文软件.中国”或“立文软件.cn”之类的域名。客户的要求又不好不满足，只好为其注册了所要求的中文域名。中文域名从市场角度而言，是源自于3721的成功！但从技术角度观之，中文域名，就像中文程序设计语言一样，是一种半通不通、半男半女（从而非男非女）的东西，极其可笑！
&lt;p&gt;关于中文域名，将另文讨论。
&lt;p&gt;最后，再一次向Symantec表示敬意！&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+Haha......that's+great!&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!235.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!235.entry</guid><pubDate>Sat, 21 Oct 2006 12:00:52 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!235/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!235.entry#comment</wfw:comment><dcterms:modified>2006-10-22T12:52:47Z</dcterms:modified></item><item><title>[翻译]Windows Vista的同步中心（Sync Center）</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!220.entry</link><description>&lt;div&gt;如果你有一些文件存于两台电脑或一台电脑和一个移动设备，而又需要同步这些文件的话，你就会知道这是一个多么令人沮丧的事：你不得不用多个不同的软件包，而且还要操作多个不同的界面。幸运的是，微软意识到了这一点，在Windows Vista中推出了一个新的工具叫“同步中心（Sync Center）”，顾名思义，就是所有同步操作的中心。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;关于同步的一点背景知识&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;微软在Windows 95中就提供了同步工具，叫公文包（Briefcase），该工具在桌面上由一个图标代表。&lt;/div&gt;
&lt;div&gt;那个时候，使用公文包通常要借助于软盘。将要同步的文件拖放到公文包的图标上，然后，将公文包的图标拖放到“我的电脑”中的软盘图标上，然后将软盘拿到另一台电脑上，编辑软盘上公文包中的文件，再将软盘拿到原来的电脑上，双击公文包图标，并选择“Update All”命令，此时，公文包将对软盘中的文件与原始文件做同步。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;及至Windows XP，公文包被更复杂的“离线文件（Offline Files）”工具取代，这个时候，网络已成为平常事，所以在离线文件工具中，以太网（Ethernet）代替了软盘成为了同步媒介。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;2005年，微软发布了一款功能更强的同步工具，叫SyncToy。SyncToy最棒的是提供了所有同步文件的复杂方法，而其用户界面却很简洁，使得这款工具非常易用。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;集中化的同步&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;基于其过去在同步上的所有努力，及认识到目前大量的可以连接到电脑进行数据同步的外部设备，微软为Windows Vista开发了同步中心（Sync Center）。同步中心本身并不是一个同步程序，但可以与各种设备的同步程序进行合作（work hand in hand）。所以，必须先安装设备提供的同步程序，这样，Sync Center将与该设备的同步程序建立一个“幕后”的工作关系，以使你能够在同步中心进行同步操作。另外，同步中心将为该设备提供图标化的表示，显示进度条，报告结果，以及提醒产生的任何冲突。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;一个例子：离线文件&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;为了演示Sync Center作为一个集中化的界面如何工作，我们来看离线文件在Windows Vista中如何工作。&lt;/div&gt;
&lt;div&gt;在Windows Vista的离线文件界面，我建立一个到另外一台电脑中的文件夹的连接。一旦建立此连接，离线文件即开始同步文件，并给我一个选项以切换到Sync Center来监视操作过程。此时，同步中心显示出了“View Sync Partnership”页，可以看到连接及同步进度，如图1所示。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;图1 Sync Center为离线文件工具提供了前台界面，并显示进度条，以使你能够监控同步操作。&lt;/div&gt;
&lt;div&gt;同步操作完成后，在任务面板上选择“查看同步结果（View Sync Results）”，如图2所示。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;图2 Sync Center显示同步结果。&lt;/div&gt;
&lt;div&gt;在随后的同步操作中，Sync Center在“查看同步冲突（View Sync Conflicts）”页报告了一个问题，如图3所示，并提示点击“解决（Resolve）”按钮以得到详细信息及解决问题。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;图3 遇到冲突时，可以在Sync Center的查看冲突结果页得到更多信息。&lt;/div&gt;
&lt;div&gt;点击Resolve按钮，则弹出“解决冲突（Resolve Conflict）”对话框，解释冲突并提供两种方式以解决冲突，如图4。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;图4 解决冲突对话框提供两种方式以解决问题。&lt;/div&gt;
&lt;div&gt;当然，Sync Center也能够对同步操作进行调度，如图5所示，利用同步调度的向导，你可以指定特定时间、特定事件或动作来开始同步操作。&lt;/div&gt;
&lt;div&gt;&lt;br&gt;图5 Sync Center使你可以对同步操作进行调度。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;与其它设备进行同步&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;在安装了可以与电脑进行数据同步的移动设备之后，就可以在“Set Up New Sync Partnership”页看到它。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;为了出现在“Set Up New Sync Partnership”页，移动设备必须是Sync Center兼容的。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;我现在只能推测，微软正在帮助移动设备开发商更新其软件。可以预言，Sync Center Compatible图标将很快出现在移动设备上。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;——译自《&lt;a href="http://articles.techrepublic.com.com/5100-10877_11-6125762.html?tag=nl.e132"&gt;&lt;u&gt;&lt;font color="#800080"&gt;TechRepublic - Keep everything in sync with Windows Vista's Sync Center&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;》&lt;/div&gt;
&lt;div&gt;注记：由于没办法在文中嵌入图片，所以图1 - 图5付诸阙如了，更完整的文档在&lt;a href="http://levenok.cn/svc/blog.lok?id=128"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://levenok.cn/svc/blog.lok?id=128&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%5b%e7%bf%bb%e8%af%91%5dWindows+Vista%e7%9a%84%e5%90%8c%e6%ad%a5%e4%b8%ad%e5%bf%83%ef%bc%88Sync+Center%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!220.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!220.entry</guid><pubDate>Fri, 20 Oct 2006 17:33:53 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!220/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!220.entry#comment</wfw:comment><dcterms:modified>2006-10-20T18:07:01Z</dcterms:modified></item><item><title>域名泛解析及其他……</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!165.entry</link><description>&lt;div&gt;
&lt;p&gt;以前曾经写过一个blog，后面留了一个问题：二级或三级域名不注册，能否伪解析？
&lt;p&gt;在一个朋友的帮助下，并在网上查阅了一些资料，现在已经完满地解决了这个问题。
&lt;p&gt;首先是正名。&lt;br&gt;网上流传的名词是域名“泛解析”，而不是“伪解析”，由于不知道准确的英文名称，姑且以“泛解析”称之。
&lt;p&gt;第二，名词解释（此处不严格区分&lt;a href="http://www.levenok.cn/"&gt;&lt;u&gt;&lt;font color="#810081"&gt;www.levenok.cn&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;和levenok.cn）。&lt;br&gt;通常情况下一个域名（如&lt;a href="http://www.levenok.cn/"&gt;&lt;u&gt;&lt;font color="#810081"&gt;www.levenok.cn&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;）需要经过注册、解析、开通三个步骤才能投入使用（指一般用户的正常使用）。&lt;br&gt;1、注册：域名在指定的注册机构注册，此步骤确立了域名（如&lt;a href="http://www.levenok.cn/"&gt;&lt;u&gt;&lt;font color="#810081"&gt;www.levenok.cn&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;）在数字空间的存在性；&lt;br&gt;2、解析：域名，顾名思义，是一个名称，是面向人（对人有意义）而非面向机器（对机器无意义）的，如何让只懂IP地址的机器懂得该域名？办法是将域名和一个IP地址建立对应关系（绑定），这就是解析的意义，此步骤为该域名赋予了物理意义；&lt;br&gt;3、开通：一个域名可能对应于一个网站空间（Web服务和/或FTP服务），也可能对应于一个e-mail服务。开通实际完成这些服务及空间的设置，此步骤为该域名赋予了可访问性。
&lt;p&gt;第三，何为泛解析？&lt;br&gt;正常的域名解析是将一个已经注册的域名与一个IP地址建立对应关系（DNS中的A记录）。但对于一个已注册的二级域名（如levenok.cn），如果每一个三级域名都要实际解析的话，将会是非常麻烦，有时甚至是不可能的。能否让DNS提供一种机制，对二级域名（levenok.cn）下的所有三级域名可由Web服务的开发者进行解析处理呢？所幸的是，现代DNS提供了这种机制，即泛解析。
&lt;p&gt;第四，具体步骤&lt;br&gt;1、在DNS上建立一条域名为*.levenok.cn的A记录，其IP地址为levenok.cn的IP地址。此时levenok.cn下的所有未解析的三级域名（如abc.levenok.cn、xyz.levenok.cn等等）都会指向到该IP地址；&lt;br&gt;2、在levenok.cn服务器的IIS上建立一个主机头为空的Web Site，用于接收所有泛解析的域名访问；&lt;br&gt;3、在该Web Site下写一个域名解析及分发程序（domain parsing &amp;amp; dispatching program），根据需要可以将泛解析的域名做各种处理。
&lt;p&gt;工作中难免会遇到这样那样的问题，很多问题都是通过网上查找资料得到了解决，所以对那些资料的贡献者一直心存感激！开放、共享才会有进步！所以特意写下这些文字，一则也算一个历史的记录；二则是为那些后来者、尚在探索者提供一些有用的资料，以分享之……&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e5%9f%9f%e5%90%8d%e6%b3%9b%e8%a7%a3%e6%9e%90%e5%8f%8a%e5%85%b6%e4%bb%96%e2%80%a6%e2%80%a6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!165.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!165.entry</guid><pubDate>Mon, 31 Jul 2006 14:39:45 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!165/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!165.entry#comment</wfw:comment><dcterms:modified>2006-10-14T07:22:56Z</dcterms:modified></item><item><title>关于Ajax的三言二语</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!159.entry</link><description>&lt;div&gt;
&lt;p&gt;目前Ajax似乎热的烫手，懂不懂的都要言必称之，似乎一Ajax就Web 2.0了……
&lt;p&gt;Ajax，作为一个新术语，是由&lt;font face=Verdana&gt;Jesse James Garrett在《&lt;font face=Verdana color="#810081"&gt;&lt;a href="http://www.adaptivepath.com/publications/essays/archives/000385.php"&gt;&lt;u&gt;Ajax: A New Approach to Web Applications&lt;/u&gt;&lt;/a&gt;&lt;/font&gt;》中提出的，意思是“Asynchronous JavaScript + XML”，包括如下一些内容：&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font face=Verdana&gt;基于标准（XHTML及CSS）的表示技术&lt;/font&gt; 
&lt;li&gt;基于文档对象模型（DOM）的交互技术 
&lt;li&gt;基于XML及XSLT的数据表示和处理技术 
&lt;li&gt;基于XmlHttpRequest的异步通信技术 
&lt;li&gt;JavaScript技术&lt;/ul&gt;
&lt;p&gt;从上面的内容可以看出，实际上Ajax并不是什么新东西，除XmlHttpRequest之外的内容都是W3C早已有之的推荐标准（XHTML、CSS、XML、XSLT、DOM），而作为Ajax核心的XmlHttpRequest，Microsoft早在1999年就随IE 5.0一起推出了。
&lt;p&gt;笔者在2001年的一次培训课程中就Web中的“异步通信”技术比较了四种实现：
&lt;ul&gt;
&lt;li&gt;基于IFrame的模拟实现 
&lt;li&gt;基于Microsoft Remote Scripting的实现 
&lt;li&gt;基于XmlHttpRequest的实现 
&lt;li&gt;基于SOAP技术的实现&lt;/ul&gt;
&lt;p&gt;可惜的是，当时并没有引起任何人的注意。
&lt;p&gt;Microsoft当时推出XmlHttpRequest技术并没有引起多少人注意，主要原因还是由于XmlHttpRequest只是一项Microsoft的技术，而并不被其它浏览器所支持。后来Google在Google Suggest和Google Maps中大胆采用了XmlHttpRequest，其近乎本地应用程序般的交互体验（UE）引起了几乎所有人的注意！
&lt;p&gt;一石激起千重浪，FireFox、Opera纷纷支持XmlHttpRequest，再加上Ajax概念的提出，已经使得XmlHttpRequest成为事实上的标准。
&lt;p&gt;Microsoft一直在探索如何使Web更加易于programming，并提出了很多的技术实现，如Scriptlet、Remote Scripting、XmlHttpRequest等等，很多技术都由于太Microsoft化而没有被广为接纳，如Scriptlet、Remote Scripting等。Scriptlet现已升级为Behaviors，Remote Scripting也已被XmlHttpRequest以及SOAP所取代。如今XmlHttpRequest已修成正果，Behaviors前途如何，尚难预料……
&lt;p&gt;目前很多热衷于Ajax技术的人对这段历史恐怕不甚了了，本文试图对Ajax的来龙去脉做一梳理，以此纪念从1999年起就对XML、XmlHttpRequest心仪至今的一段心路历程。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e5%85%b3%e4%ba%8eAjax%e7%9a%84%e4%b8%89%e8%a8%80%e4%ba%8c%e8%af%ad&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!159.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!159.entry</guid><pubDate>Sun, 30 Jul 2006 03:26:15 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!159/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!159.entry#comment</wfw:comment><dcterms:modified>2006-10-14T07:24:01Z</dcterms:modified></item><item><title>庆祝levenok.cn上线</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!152.entry</link><description>&lt;div&gt;
&lt;p&gt;经过几个月的开发，&lt;a href="http://www.levenok.cn/"&gt;立文网&lt;/a&gt; —— 一个集广告发布、个人博客等为一体的信息平台于2006年7月26日正式上线，我想，应该为此写点什么……
&lt;p&gt;立文网源起于一次不愉快的经历：我的广告在一个广告发布平台被无故删除而又不能得到满意的答复。我就想，一个服务商一定要有面向客户、服务客户的理念，而不是为NASDAQ而战！我应该可以做一个更好的广告发布平台，不管是理念上还是技术上。
&lt;p&gt;在决定开发这样一个平台以后，就考虑要在技术上与目前的传统网站形态有所不同。Web 2.0相对于1.0在技术上最大的特征是Web的应用程序化（Web Application），而不是传统的page-by-page的浏览。现在做东西一定要立足于未来！立文网即充分利用了Ajax技术，使得自己与目前的网站的浏览方式有很大的不同，但在界面的设计上已经充分考虑到了导航的需要：顶部的导航条、各种链接及按钮等设施（facilities）使得用户能够很方便地进行导航（navigating）。
&lt;p&gt;立文网目前只是完成了第一步，后面还有很多工作要做，路还很长……
&lt;p&gt;从立文网的开发到现在，很少听到鼓励的话语，呵呵，没有关系。立文网目前没有商业模式，所有的只是一种兴趣，一种希望。
&lt;p&gt;人这一辈子，能够按照自己的兴趣、愿望、理想去做一件事，未尝不是一种幸福……&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e5%ba%86%e7%a5%9dlevenok.cn%e4%b8%8a%e7%ba%bf&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!152.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!152.entry</guid><pubDate>Thu, 27 Jul 2006 14:48:01 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!152/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!152.entry#comment</wfw:comment><dcterms:modified>2006-10-14T07:25:08Z</dcterms:modified></item><item><title>Web的本性：媒体，社区，抑或平台？</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!149.entry</link><description>&lt;div&gt;在1.0时代，Web毫无疑问属于媒体，故有“第四媒体”之说……&lt;/div&gt;
&lt;div&gt;在2.0时代，则先有方兴东代表的互联网实验室的媒体说（《Web 2.0研究报告》），后有谢文的社区说（&lt;a href="http://item.365key.com/2119/2119601.shtm"&gt;谢文:web2.0才刚刚开始&lt;/a&gt;）。&lt;/div&gt;
&lt;div&gt;方兴东的“媒体说”将2.0时代的“新媒体”与新浪代表的“旧媒体”进行比较，提出Web 2.0的核心是以博客为代表的网络的“平民化（去中心化）”，并直接指导了bokee.com的建设和运营。&lt;/div&gt;
&lt;div&gt;谢文的“社区说”来自于myspace.com。&lt;/div&gt;
&lt;div&gt;难道这些就足以代表Web 2.0吗？NO！&lt;/div&gt;
&lt;div&gt;Web从1.0进化（演进）到2.0，其直接的驱动力来自于技术的进步，如XML、SOAP、Web Services等，但根本的原因还是企业应用的市场需求的推动，来自于企业Application的Web化的需求推动。其最显著的成果就是XML！由于XML的发明，衍生了一大批相关技术成果：SOAP，Web Services，Ajax，RSS......，而这些技术成果共同组成了Web 2.0的技术核心。&lt;/div&gt;
&lt;div&gt;基于这些相关技术成果，已经出现了一些Web化的软件：Google SpreadSheet，Salesforce.com的AppExchange（Web Office）等等。&lt;/div&gt;
&lt;div&gt;所以，Web的平台化趋势会越来越明显，但国内关于Web 2.0似乎一直是热衷于吵概念，吵来吵去，却没有人关注并研究Web的平台化问题！&lt;/div&gt;
&lt;div&gt;未来，浏览器即桌面，说说容易，做起来却很难！正说着时，我们却已经又被落到不知几千里远了……&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+Web%e7%9a%84%e6%9c%ac%e6%80%a7%ef%bc%9a%e5%aa%92%e4%bd%93%ef%bc%8c%e7%a4%be%e5%8c%ba%ef%bc%8c%e6%8a%91%e6%88%96%e5%b9%b3%e5%8f%b0%ef%bc%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!149.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!149.entry</guid><pubDate>Mon, 24 Jul 2006 16:35:18 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!149/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!149.entry#comment</wfw:comment><dcterms:modified>2006-10-14T07:26:21Z</dcterms:modified></item><item><title>最怕折腾...</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!140.entry</link><description>&lt;div&gt;现在网站的用户注册系统中的用户名一般有两种类型：一种是字母数字组合的用户名，另外一种是近来逐渐流行的用e-mail地址作为用户名。&lt;/div&gt;
&lt;div&gt;用e-mail地址做用户名的好处是不容易重名（因为两个人用同一个e-mail地址的情况少见），但对于创建自己的博客系统的用户，由于需要为用户开设二级域名，所以第一种方式的用户名是可取的，因为用户名就是该用户的博客的二级域名。&lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.levenok.cn/"&gt;www.levenok.cn&lt;/a&gt;原来采用的就是第一种方案，后来听人说起第二种好，就改为了e-mail方式，但现在由于Blog System的二级域名问题，就又改回为第一种！折腾！！&lt;/div&gt;
&lt;div&gt;设计一个软件系统，难的不是具体的programming，而是这些strategic problems，而这些问题往往没有确定性的解决方案，只有不断地trade-off，寻求最优解！&lt;/div&gt;
&lt;div&gt;现在的问题是：二级或三级域名不注册，能否伪解析？This is a question!&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e6%9c%80%e6%80%95%e6%8a%98%e8%85%be...&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!140.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!140.entry</guid><pubDate>Fri, 21 Jul 2006 19:44:03 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!140/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!140.entry#comment</wfw:comment><dcterms:modified>2006-10-14T07:29:03Z</dcterms:modified></item><item><title>终于做好了Trackback</title><link>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!139.entry</link><description>&lt;div&gt;对Internet的新东西反应越来越慢了，一个Trackback就研究了好久……&lt;/div&gt;
&lt;div&gt;如果说Blog是Web 2.0的核心的话，则Trackback就是Blog的核心！一个Blog系统如果不支持Trackback，则原则上不能称之为Blog系统。&lt;/div&gt;
&lt;div&gt;Anchor（A element, URL, HyperLink）是Web 1.0的核心，借助于Anchor，Internet上海量的文档共同“织”成了Web（Web的本义）。&lt;/div&gt;
&lt;div&gt;在2.0时代，强调的是网络的“平民化”，体现为微内容（Microcontent），这些微内容如何“织”成Web呢？就是Trackback！&lt;/div&gt;
&lt;div&gt;Trackback（引用通告）是一个Blog系统之间的通信协议，用于实现两个或多个Blog系统的Blog之间的互相引用（故称为引用通告，从这个意义上来讲，将Trackback翻译为“引用通告”是没错的）。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1537263819930693984&amp;page=RSS%3a+%e7%bb%88%e4%ba%8e%e5%81%9a%e5%a5%bd%e4%ba%86Trackback&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=prowyh.spaces.live.com&amp;amp;GT1=prowyh"&gt;</description><comments>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!139.entry#comment</comments><guid isPermaLink="true">http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!139.entry</guid><pubDate>Thu, 20 Jul 2006 19:03:26 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!139/comments/feed.rss</wfw:commentRss><wfw:comment>http://prowyh.spaces.live.com/Blog/cns!EAAA8AB356F88EA0!139.entry#comment</wfw:comment><dcterms:modified>2006-10-14T07:30:51Z</dcterms:modified></item></channel></rss>