<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>思维 &#187; 技巧</title>
	<atom:link href="http://blog.acmind.com/archives/tag/%e6%8a%80%e5%b7%a7/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.acmind.com</link>
	<description>Acme of Mind</description>
	<lastBuildDate>Mon, 19 Apr 2010 02:23:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>101个秘诀、技巧及窍门帮你搞定Google</title>
		<link>http://blog.acmind.com/archives/1185</link>
		<comments>http://blog.acmind.com/archives/1185#comments</comments>
		<pubDate>Tue, 23 Jun 2009 06:46:24 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[谷歌产品]]></category>
		<category><![CDATA[101]]></category>
		<category><![CDATA[秘诀]]></category>
		<category><![CDATA[生活窍门]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=1185</guid>
		<description><![CDATA[目前相当全的Google技巧，如果你是Google Fans的话一定不能错过这101个Google秘诀、技巧及敲门。非常有趣，涵盖很多Google产品：
# inurl这个修饰语只会搜索网页的网址，不妨用这个例子试一试 inurl:spices
# 它可以让你搜索更加精准的词组，“所有词组”或者是适当的搜索框里输入词组的某一个特定关键词。
# 在高级搜索里你依然可以自定义在一张页面上展示多少个搜索结果，你所寻找的信息语言和文件格式。
# 像AND 和 OR 这样的布尔结构对大小写非常敏感。他们必须是全部大写。
# 你也可以点击“日期、使用权限、数字范围和更多”的链接以获取更高级的功能。（Google中文直接分条在页面展示。）
# 保存设置，这些高级功能大多也可以在Google首页的搜索框中通过命令行参数来实现
# Google的主要搜索可以无形地用布尔结构“AND”来结合。你当输入smoke fire &#8211; 它表示寻找smoke AND fire.
# Google也有很多功能强大却隐藏着的搜索参数，例如“intitle” 仅仅只会搜索网页标题（titles）.你可以用这个例子试一试：intitle:网页设计
# 你也可以用 &#124; 来代替OR。如：smoke &#124; fire.
# “搜索以下网站或网域”可以让你通过输入一个顶级域名（如.co.uk）来限定搜索结果。
# 如果一个停滞词语被包含在那些作为短语的引用标记中间的句子中时，这些词语是被Google允许的。
# 搜索这些文件只需直接使用修饰符 filetype:[文件扩展名]。例如：soccer filetype:pdf.
# 同样的，你也可以通过 related:修饰语来找到Google认为相似的内容。比如: related:www.microsoft.com
# 用减号来排除关键词，如：new pram -ebay&#160; 可以让搜索结果排除来自Ebay的婴儿车信息。
# 像 I, and, then ,if 这类普通词语是要被Google 忽略的。他们被称作停滞词语。
# 而加号却可以让这些停滞词语给包含进来，比如：fish +and chips.
# 搜索专有名词，然后输入用括号括住的一个或者几个关键词。比如water (smoke OR fire)
# 你也可以要求Google进行简省搜索，试一下：Christopher Columbus discovered *
# [...]]]></description>
			<content:encoded><![CDATA[<p>目前相当全的Google技巧，如果你是Google Fans的话一定不能错过这101个Google秘诀、技巧及敲门。非常有趣，涵盖很多Google产品：</p>
<p># inurl这个修饰语只会搜索网页的网址，不妨用这个例子试一试 inurl:spices</p>
<p># 它可以让你搜索更加精准的词组，“所有词组”或者是适当的搜索框里输入词组的某一个特定关键词。</p>
<p># 在高级搜索里你依然可以自定义在一张页面上展示多少个搜索结果，你所寻找的信息语言和文件格式。</p>
<p># 像AND 和 OR 这样的布尔结构对大小写非常敏感。他们必须是全部大写。</p>
<p># 你也可以点击“日期、使用权限、数字范围和更多”的链接以获取更高级的功能。（Google中文直接分条在页面展示。）</p>
<p># 保存设置，这些高级功能大多也可以在Google首页的搜索框中通过命令行参数来实现</p>
<p># Google的主要搜索可以无形地用布尔结构“AND”来结合。你当输入smoke fire &#8211; 它表示寻找smoke AND fire.</p>
<p># Google也有很多功能强大却隐藏着的搜索参数，例如“intitle” 仅仅只会搜索网页标题（titles）.你可以用这个例子试一试：intitle:网页设计</p>
<p># 你也可以用 | 来代替OR。如：smoke | fire.</p>
<p># “搜索以下网站或网域”可以让你通过输入一个顶级域名（如.co.uk）来限定搜索结果。</p>
<p># 如果一个停滞词语被包含在那些作为短语的引用标记中间的句子中时，这些词语是被Google允许的。</p>
<p># 搜索这些文件只需直接使用修饰符 filetype:[文件扩展名]。例如：soccer filetype:pdf.</p>
<p># 同样的，你也可以通过 related:修饰语来找到Google认为相似的内容。比如: related:www.microsoft.com</p>
<p># 用减号来排除关键词，如：new pram -ebay&#160; 可以让搜索结果排除来自Ebay的婴儿车信息。</p>
<p># 像 I, and, then ,if 这类普通词语是要被Google 忽略的。他们被称作停滞词语。</p>
<p># 而加号却可以让这些停滞词语给包含进来，比如：fish +and chips.</p>
<p># 搜索专有名词，然后输入用括号括住的一个或者几个关键词。比如water (smoke OR fire)</p>
<p># 你也可以要求Google进行简省搜索，试一下：Christopher Columbus discovered *</p>
<p># 用数字范围功能来搜索数字范围。例如：搜索价位在300英到500英磅之间的索尼电视可以用以下字串：Sony TV ￡300..￡500。</p>
<p># 通过高级搜索Google认可13种主要文件格式，其中包括Office, Lotus, PostScript, Shockwave Flash 和text。</p>
<p># 寻找短语，可以把它们放在引号里。比如：”there’s no smoke without fire”。</p>
<p># 要排除整个文件格式，只需使用以前我们排除关键词时使用的相同布尔句法：橄榄球 -filetype:doc</p>
<p># 事实上，只要你的语法正确，你可以混合使用任何布尔搜索运算符。举个例子便是：”sausage and mash” -onions filetype:doc</p>
<p># 要让Google搜索Smoke 或者fire，只需要输入smoke OR fire.</p>
<p># 如果你只是寻找文件而不是网页，只需用index of 代替intitle:参数。它可以帮助你寻找网络和FTP目录。</p>
<p># 更加全面地用Google搜索的最好方式是点击高级搜索。</p>
<p># 通过 inurl:vien/view.shtml 你可以找到在线的网络摄像头。</p>
<p># inanchor这个修饰语非常特别，它仅仅只会寻找那些作为超链接的文本。</p>
<p># 想知道有多少链接指向一个网站。可以试试这个语法：link:网址 &#8211; 比如link:www.mozilla.org</p>
<p># 同义搜索来寻找那些类似的信息，只须在你的关键词臆加一根波浪线，比如：~eggplant.</p>
<p># 想知道Google到底有多聪明呢？输入“2476 in roman numerals”然后点击“搜索”就知道了。</p>
<p># 温度呢？Google也没有放过，输入“98 f to c”便可以把华氏转换为摄氏。</p>
<p># 如果你知道某货币的代码，将得到更加可靠的结果，例如”200 GBR in EUR”</p>
<p># 汇率转换也同样适用，试试“200 pounds in euros”</p>
<p># Google的内置计算器不但可以转换尺寸还可以理解自然语言。搜索一下“14 stones in kilos”</p>
<p># 如果你手边没有计算器，只要记住Google同样内置了这么一个功能。输入“12*15”然后点击搜索试试。</p>
<p># 相应的，直接在搜索框里输入“cache:site_url”可以直接进入缓存页面。</p>
<p># Goolge保存了网站过去的内容。你可以直接搜索某个页面在Google服务器里的缓存，相关句法是“keyword cache:site_url”</p>
<p># Google也内置了词典，在搜索框里用”define:the_word”试试。</p>
<p># 如果你在搜索框里输入“weather London”便可以得到伦敦最近四天完整的天气预报。</p>
<p># 在乐队名、歌曲名或者专辑名前加上“music:”可以得到相关的音乐信息和评论。</p>
<p># 如果想得到演员名单，如需输入“cast:name_of_film”</p>
<p># Google确实在电影方面的搜索上下了些功夫。比如在搜索框中输入“director:&amp;lt;电影名&amp;gt;”你将得到什么结果？你肯定猜到了吧。</p>
<p># 通过”location:”过滤器你可以等到特定国家的新闻，比如 location:uk</p>
<p># Google的普通搜索也可以确实也可以得到精确的结果，不如用”movie:&amp;lt;name of film&amp;gt;” 来寻找电影评论。</p>
<p># 如果你圈选了“记住地点”后，下次你查询电影放映时间只需要输入电影名字就够了。</p>
<p># 如果想要一个专门的电影搜索页面，可以去<a href="http://www.google.co.uk/movies">www.google.co.uk/movies</a></p>
<p># 在搜索框里输入上映时间，Google会提示你提交你的邮编，然后Google就会告诉你什么时候什么地方将会有好戏上演。</p>
<p># “film:”修饰语效果也一样。</p>
<p># 同样的Google博客搜索（blogsearch.google.com）也有它自己的句法。你可以搜索某篇日志的标题，比如 “inblogtitle:&amp;lt;keword&amp;gt;”</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/1185/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>19个改善Google阅读器的工具和技巧</title>
		<link>http://blog.acmind.com/archives/968</link>
		<comments>http://blog.acmind.com/archives/968#comments</comments>
		<pubDate>Tue, 02 Jun 2009 09:53:57 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[谷歌产品]]></category>
		<category><![CDATA[辅助工具]]></category>
		<category><![CDATA[阅读器]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=968</guid>
		<description><![CDATA[Google阅读器是一款十分快捷、整齐、易用的，或许能称为是最好的网络Feed阅读器. 它集中了很多令人期待的功能： “feed标签”允许你标记并存储想要的项目以备将来需要时参考；“加注星标”允许你在对正在看的那些重要项目加上星标，而完美的共享功能则使你不仅能通过电子邮件还能通过带RSS功能的网页来与朋友分享东西。不管你是一个收集feed的博主，还是一个偶尔会阅读但却不喜欢StartPages之类而一直在寻找一个简单有效的feed阅读器的人，那么都不妨试一下Google阅读器。
和Google其他几个好用的东西如Gmail、Google日历一样， Google阅读器最方便的地方也是在于有许多第三方的工具可以让它变得更好，比如有新项目提醒器、离线插件、 Greasemonkey (?) 脚本, 一键快捷方式等等。
(1) Google Gears &#8211; Google齿轮，新近推出的开源的浏览器扩展，能让你离线使用网络应用程序（包括Google阅读器）。 安装之后在登陆你的Google阅读器账户的时候会在右上角菜单处出现一个绿色的小圈。这个按钮允许你下载你所订阅的feed以便在离线时也能阅读。 你 所需要做的就是当你能连上网络的时候将离线内容与在线的Google阅读器同步一下。
(2) Desktop Notifiers-桌面提醒器

苹果系统: Reader Notifier, GROSX 
Windows系统: GReader Notifier 
Firefox扩展: Google Reader Notifier 
IE扩展: Google Reader Button (需要安装Google Toolbar 4以上版本) 

(3) Widgets-小工具

雅虎小工具(用于Windows, 苹果系统): Google Reader Notify, 更多看此Yahoo Widgets … 
苹果DashBoard小工具 
用于Google桌面侧边栏(或者iGoogle): Gadget for iGoogle 
Vista侧边栏小工具: 虽然没有专门的Vista侧边栏小工具，但是有一个叫做Amnesty Generator的小玩意可以帮你把任何网页小工具（如iGoogle小工具）转换成Vista侧边栏小工具。 

(4) Browser Bookmarklets &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Google阅读器是一款十分快捷、整齐、易用的，或许能称为是最好的网络<a href="http://www.makeuseof.com/tag/feedreaders-to-become-most-popular-tools/">Feed阅读器</a>. 它集中了很多令人期待的功能： “<i>feed</i><i>标签”</i>允许你标记并存储想要的项目以备将来需要时参考；<i>“加注星标”</i>允许你在对正在看的那些重要项目加上星标，而完美的共享功能则使你不仅能通过电子邮件还能通过带RSS功能的网页来与朋友分享东西。不管你是一个收集feed的博主，还是一个偶尔会阅读但却不喜欢<a href="http://www.makeuseof.com/tag/12-web-based-startpages-compared-the-winner-is/">StartPages</a>之类而一直在寻找一个简单有效的feed阅读器的人，那么都不妨试一下Google阅读器。</p>
<p>和Google其他几个好用的东西如<a href="http://www.makeuseof.com/tag/gmail-craze-30-tools-to-make-your-gmail-better/">Gmail</a>、<a href="http://www.makeuseof.com/tag/best-of-google-calendar-addons-tips/">Google日历</a>一样， Google阅读器最方便的地方也是在于有许多第三方的工具可以让它变得更好，比如有<i>新项目提醒器</i>、<i>离线插件</i>、 <i>Greasemonkey <a href="http://www.makeuseof.com/tag/greasemonkey-firefox-addon/">(?)</a> 脚本</i>, <i>一键快捷方式等等。</i></p>
<p><b>(1)</b> <a href="http://gears.google.com/">Google Gears</a> &#8211; Google齿轮，新近推出的开源的浏览器扩展，能让你离线使用网络应用程序（包括Google阅读器）。 安装之后在登陆你的Google阅读器账户的时候会在右上角菜单处出现一个绿色的小圈。这个按钮允许你下载你所订阅的feed以便在离线时也能阅读。 你 所需要做的就是当你能连上网络的时候将离线内容与在线的Google阅读器同步一下。</p>
<p><b>(2)</b> <u>Desktop Notifiers</u>-桌面提醒器</p>
<ul>
<li>苹果系统: <a href="http://troelsbay.eu/software/reader">Reader Notifier</a>, <a href="http://elidourado.wordpress.com/software/grosx/">GROSX</a> </li>
<li>Windows系统: <a href="http://www.braindotty.com/google-reader-notifier/">GReader Notifier</a> </li>
<li>Firefox扩展: <a href="http://markdbd.com/proyectos/google_reader_notifier/">Google Reader Notifier</a> </li>
<li>IE扩展: <a href="http://electragician.blogspot.com/2006/11/google-toolbar-for-ie-google-reader.html">Google Reader Button</a> (需要安装<a href="http://toolbar.google.com/">Google Toolbar</a> 4以上版本) </li>
</ul>
<p><b>(3)</b> <u>Widgets</u>-小工具</p>
<ul>
<li>雅虎小工具(用于Windows, 苹果系统): <a href="http://widgets.yahoo.com/gallery/view.php?widget=42068">Google Reader Notify</a>, 更多看此<a href="http://www.makeuseof.com/tag/enhance-your-desktop-with-yahoo-widgets/">Yahoo Widgets</a> … </li>
<li><a href="http://www.rustybrick.com/google-reader-dashboard-widget.php">苹果DashBoard小工具</a> </li>
<li>用于Google桌面侧边栏(或者iGoogle): <a href="http://www.google.com/ig/directory?url=reader.xml">Gadget for iGoogle</a> </li>
<li>Vista侧边栏小工具: 虽然没有专门的Vista侧边栏小工具，但是有一个叫做<a href="http://amnesty.mesadynamics.com/GeneratorWin.html">Amnesty Generator</a>的小玩意可以帮你把任何网页小工具（如iGoogle小工具）转换成Vista侧边栏小工具。 </li>
</ul>
<p><b>(4)</b> <u>Browser Bookmarklets</u> &#8211; 浏览器书签</p>
<p>为了更好的用户体验，Google阅读器提供了三种便利的浏览器书签（设置-酷功能），包括“一键feed订阅”和两个便利的浏览器快捷键“到下一个未读项目”、“下一个特定标签的未读项目”。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image00111.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image001" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="66" alt="clip_image001" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image001-thumb10.jpg" width="320" border="0" /></a></p>
<p><b>*** </b><b>火狐插件***</b></p>
<p><b>(5)</b> <a href="http://lifehacker.com/software/exclusive-lifehacker-download/trick-out-google-reader-with-better-greader-262020.php">Better GReader</a> &#8211; 值得一试的火狐三合一插件，能增加一堆有用的选项，可用于Google阅读器。包括：优化的界面，一些导航快捷方式以及智能订阅按钮。其中的每一个也能以Greasemonkey脚本的形式分别安装，详见下面段落。</p>
<p><b>*** GreaseMonkey</b><b>脚本(<a href="http://www.makeuseof.com/tag/greasemonkey-firefox-addon/">什么是GreaseMonkey?</a>) ***</b></p>
<p><u>界面改进 </u></p>
<p><b>(6)</b> <a href="http://userscripts.org/scripts/show/6912">Custom Search</a> -自定义搜索。在Google阅读器中添加一个自定义的Google搜索框。 (参见下面的演示)</p>
<p><b>(7)</b> <a href="http://userscripts.org/scripts/show/7957">Google Reader + Del.icio.us</a> -用于Del.icio.us网站的插件，可以在不离开Google阅读器页面的情况下对Del.icio.us网站上的条目标记书签。 (参见下面的演示)</p>
<p><b>(8)</b> <a href="http://userscripts.org/scripts/show/8561">Original Item Preview</a> -原始项目预览。一个非常酷的脚本，可以把Google阅读器上的条目摘要替换为博客上的实际项目。例如，你可以直接从Google阅读器账户上连到Digg网和评论上面的文章。(参见下面演示)</p>
<p><b>(9)</b> <a href="http://userscripts.org/scripts/show/8843">Read by Mouse</a> -用鼠标来浏览。又一个方便的插件，可以让你用鼠标手势来浏览项目。一旦启用，鼠标的左键和右键将分别相当于“下一个项目”和“上一个项目”的快捷键。鼠标中键可以被设置成“加星标”、“共享”或者“在新标签页中打开”。(参见下面演示)</p>
<p><u>屏幕截图:</u> (脚本6-9 和Google齿轮). 点击<a href="http://i157.photobucket.com/albums/t56/esengulov/google-reader-demo.jpg" class="highslide-image" onclick="return hs.expand(this);">这儿</a>, 放大并在新窗口中打开。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image00210.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="253" alt="clip_image002" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image002-thumb9.jpg" width="420" border="0" /></a></p>
<p><u>订阅辅助</u></p>
<p><b>(10)</b> <a href="http://userscripts.org/scripts/show/8390">Auto Add</a> -自动添加插件。当你点击一个feed的时候，可以避免弹出一个页面问你是否要添加feed到Google个人主页（iGoogle）或者是Google阅读器，而是直接转到Google阅读器，这样你就可以直接订阅了。</p>
<p><b>(11)</b> <a href="http://blog.persistent.info/2006/05/smart-google-reader-subscribe-button.html">Smart Subscribe</a> -智能订阅。显示当前所浏览的页面是否早就在已订阅列表里。</p>
<p><u>Gmail</u><u>集成</u></p>
<p><b>(12)</b> <a href="http://userscripts.org/scripts/show/8450">Google Reader Integration</a> -把Google阅读器对话框集成到Gmail侧栏。强烈推荐。 (<a href="http://i157.photobucket.com/albums/t56/esengulov/greader-to-gmail.jpg" class="highslide-image" onclick="return hs.expand(this);">演示</a>). 更多可见<a href="http://www.makeuseof.com/tag/gmail-craze-30-tools-to-make-your-gmail-better/">GMail</a>工具。</p>
<p><b>(13)</b> <a href="http://userscripts.org/scripts/show/8598">Google Reader Folders on Gmail</a> &#8211; 在Gmail页面上添加一个小对话框，列出Google阅读器的文件夹以及每个文件夹中的未读项目数。</p>
<p><u>视觉插件</u></p>
<p>(注意<i>: ‘Optimized’</i>, <i>‘Mac OS X Theme’</i> 脚本以及“更好的Google阅读器“扩展会与”界面改进部分“的脚本相冲突。)</p>
<p><b>(14)</b> <a href="http://userstyles.org/style/show/1236">Optimized</a> -去除很少使用的项目以使可视面积最大化。有时候你需要一下子看好几百个项目，那么这个清爽的界面会很不错。</p>
<p><b>(15)</b> <a href="http://www.hicksdesign.co.uk/journal/google-reader-theme">Mac OS X Theme</a> -苹果系统主题插件。这个插件主要是让Google阅读器看起来具有苹果风格。如果感兴趣的话， <a href="http://www.hicksdesign.co.uk/journal/google-reader-theme">这里</a>会指导你如何将这个应用到其他浏览器上（Camino, Omniweb, Opera)。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0038.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image003" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="222" alt="clip_image003" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image003-thumb8.jpg" width="370" border="0" /></a>(点击看大图)</p>
<p><b>(16)</b> <a href="http://userscripts.org/scripts/show/8782">Colourful List View</a> -彩色列表，在Google阅读器的项目上运用彩色标题，可为每个feed指定一个颜色。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0043.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image004" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="120" alt="clip_image004" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image004-thumb3.jpg" width="290" border="0" /></a></p>
<p><b>(17) *** </b><b>非常棒的快捷键*** </b></p>
<ul>
<li>r: 刷新 </li>
<li>u:隐藏或展示订阅列表 </li>
<li>s: 加星标 </li>
<li>t: 标记项目 </li>
<li>m: 标记为已读/未读 </li>
<li>j/k: 向下/向上浏览项目 </li>
<li>o: 打开/关闭项目 </li>
<li>Shift+a: 将所有项目标为已读 </li>
<li>g+s: 转到加星标项目 </li>
<li>g+t: 转到标记 </li>
<li><a href="http://thomaskorte.com/archive/printable-cheat-sheet-for-google-reader/">更多快捷键</a> … </li>
</ul>
<p><b>*** </b><b>移动版工具*** </b></p>
<p><b>(18)</b> <a href="http://www.google.com/reader/m">GReader Mobile</a> &#8211; 手机版的Google阅读器.</p>
<p><b>(19)</b> <a href="http://www.mostlygeek.com/2006/11/03/controlling-google-reader-with-a-cell-phone/">HowTo:</a> &#8211; 某些懒人或许也想要尝试一下这篇好玩的文章，它会告诉你如何通过蓝牙手机来远程操控Google阅读器。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/968/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5条提高Windows Live体验的小提示</title>
		<link>http://blog.acmind.com/archives/957</link>
		<comments>http://blog.acmind.com/archives/957#comments</comments>
		<pubDate>Tue, 02 Jun 2009 09:45:45 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[学习应用]]></category>
		<category><![CDATA[体验]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[技巧]]></category>
		<category><![CDATA[提高]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=957</guid>
		<description><![CDATA[“Windows Live” 是微软提供的三种类型服务的总称 — 基于浏览器的 web 应用 比如 Live Hotmail 和 SkyDrive，多个桌面应用 打包成的 Live Essentials，以及 移动应用 来通过手机访问。你可以在 Windows Live 免费注册，以及访问所有的 Live 引用和服务。我们在 MakeUseOf 之前介绍过 Windows Live Writer 和 SkyDrive，以及 Live Sync 和 Live Mesh。

拥有5亿用户的 Windows Live 在 Alexa 是排名第五的受欢迎网站。在英国，它是仅次于 Facebook 的第二受欢迎网站。随着最近的大量更新，又有一些新的功能加入。这里给出5条小提示让你最大化的提高 Windows Live 体验。
小提示 #1. 链接多个 Live ID
如果你又多个 Live ID，你可能会发现需要注销一个 ID 来登录另一个。你能够将多个 ID 链接起来避免这种情况，当你链接多个 ID [...]]]></description>
			<content:encoded><![CDATA[<p>“Windows Live” 是微软提供的三种类型服务的总称 — 基于浏览器的 web 应用 比如 Live Hotmail 和 SkyDrive，多个桌面应用 打包成的 Live Essentials，以及 移动应用 来通过手机访问。你可以在 <a href="http://home.live.com/">Windows Live</a> 免费注册，以及访问所有的 Live 引用和服务。我们在 MakeUseOf <a href="http://www.makeuseof.com/tags/windows-live/">之前介绍</a>过 Windows Live Writer 和 SkyDrive，以及 <a href="http://www.makeuseof.com/tag/synchronize-your-home-computer-network-with-windows-live-sync/">Live Sync</a> 和 <a href="http://www.makeuseof.com/tag/windows-live-mesh-get-your-data-on-any-pc-from-any-device/">Live Mesh</a>。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0015.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image001" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="353" alt="clip_image001" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image001-thumb5.gif" width="571" border="0" /></a></p>
<p>拥有5亿用户的 Windows Live 在 Alexa 是排名第五的受欢迎网站。在英国，它是仅次于 Facebook 的第二受欢迎网站。随着最近的大量更新，又有一些新的功能加入。这里给出<strong>5</strong><strong>条小提示让你最大化的提高 Windows Live 体验。</strong></p>
<h4>小提示 #1. 链接多个 Live ID</h4>
<p>如果你又多个 Live ID，你可能会发现需要注销一个 ID 来登录另一个。你能够将多个 ID 链接起来避免这种情况，当你链接多个 ID 到你的主 ID 之后，你只需要用主 ID 登录一次。然后你可以“切换到”其他的 ID 而不用注销，这样就能检查其他 ID 的邮件以及分享照片等等。 活动 ID 很容易从一个下拉菜单选取。</p>
<p>这样，你就可以专业网络使用一个Live ID，个人圈子使用另一个，而且很容易切换。或者你经常帮助母亲使用某些 Windows Live 服务，你可以将她的账号和你的链接到一起来加速访问，通过她在浏览器中所看的。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0023.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="370" alt="clip_image002" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image002-thumb3.gif" width="569" border="0" /></a></p>
<p>在 Live 主页面，点击 选项，选择 更多选项。在 常规 部分，点击 帐户 分类下的 链接的 ID，现在你可以添加其他的 Live 帐号来进行简单切换而不用注销。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0033.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image003" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="321" alt="clip_image003" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image003-thumb3.gif" width="428" border="0" /></a></p>
<p>简单的点击右上角的下拉菜单来选择活动的 ID。</p>
<h4>小提示 #2. 导入社会网络联系人</h4>
<p>下载你可以添加所有的 Facebook、MySpace、LinkedIn 和 Hi5 联系人到你的 Windows Live 网络中。在 Live 主页，点击 添加联系人，选择要添加联系人的网络，点击向右的箭头。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0043.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image004" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="255" alt="clip_image004" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image004-thumb3.gif" width="514" border="0" /></a></p>
<p>你需要登录其他的网络来允许访问，Facebook Connect 如下所示可以双向访问。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0052.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image005" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="341" alt="clip_image005" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image005-thumb2.gif" width="517" border="0" /></a></p>
<p>同样的，将 LinkedIn 纳入到 Windows Live 中允许你查看 <a href="http://www.makeuseof.com/tags/linkedin/">LinkedIn</a> 网络的更新，以及将你的更新从 LinkedIn 自动广播到Windows Live。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0062.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image006" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="227" alt="clip_image006" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image006-thumb2.gif" width="591" border="0" /></a></p>
<h4>小提示 #3. 使用网页活动获取社会网络</h4>
<p>自动与朋友保持最新的状态，让他们知道你在做什么。就像 <a href="http://www.makeuseof.com/tags/friendfeed/"><strong>Friendfeed</strong></a>，Windows Live 自动聚合来自20个网络服务的更新，你可以通过自己的网络分享。这样你更新到 Digg、Facebook、Twitter、Wordpress 和 Flickr 等的信息就可以自动广播到你的网络。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0071.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image007" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="375" alt="clip_image007" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image007-thumb1.gif" width="576" border="0" /></a></p>
<p>点击 Live 主页上访的 个人资料，在做侧边栏的 网页活动 部分，你可以添加和管理 feed。你可以单独选择每个 feed 的隐私设定。例如，你可以限制 Facebook 到你网络的更新，并且将 Wordpress 博客的更新设置为公开每个人可见。</p>
<h4>小提示 #4. 使用 SkyDrive 作为虚拟硬盘</h4>
<p>每个有 （免费）Windows Live ID 的用户都有一个免费的 25GB 云存储 SkyDrive 账号。查看<a href="http://www.makeuseof.com/tag/get-5-gb-of-free-storage-with-windows-skydrive/">之前介绍</a>的 SkyDrive 进行了解（注意免费存储已经增加到 25 GB）。为了增强 SkyDrive 易用性，可以使用 <a href="http://www.gladinet.com/">Gladinet</a> 将其作为桌面端的虚拟硬盘。Gladinet 现在还是发行候选版，你可以查看我们<a href="http://www.makeuseof.com/tag/map-online-services-as-a-network-drive-with-gladinet-windows/">之前的介绍</a>来了解 Gladinet。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0094.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image009" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="415" alt="clip_image009" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image009-thumb4.jpg" width="463" border="0" /></a></p>
<p>你也可以使用这款虚拟硬盘配合备份工具像 <a href="http://backup.comodo.com/">Comodo Backup</a> 或者 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&amp;DisplayLang=en">Microsoft SyncToy</a> 自动备份文件和目录到Skydrive。</p>
<h4>小提示 #5. 为自定义域使用 Hotmail</h4>
<p>如果你已经注册了<a href="http://www.makeuseof.com/tag/6-tools-to-find-that-killer-domain-name/">自定义域</a>，你可以使用 Hotmail 来提供邮件主机服务。注意 Windows Live 不提供免费的域名 &#8211; 这个仅是为那些自己购买了域名的用户。</p>
<p>就像 Gmail 和 Google Apps 一样，你可以为自己域名使用 Live Hotmail。你可以使用自己组织的 logo 自定义 Hotmail ，并且可以最多分配500个账户。这允许你拥有类似 abc@yourdomain.com 这样的邮件地址，却是使用熟悉的 Hotmail 界面。作为了解，请访问 <a href="http://admincenter.live.com/">Windows Live Admin Center</a>。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image010.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image010" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="310" alt="clip_image010" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image010-thumb.gif" width="503" border="0" /></a></p>
<p>为什么有人会用 Live Hotmail？对于初用者，上百万的用户熟悉 Hotmail 界面。如果你的组织使用 MS Office，这也是合适的选择，或者你的用户更喜欢传统邮件的文件夹而不是 Gmail 的标签。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/957/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网页新手30条进阶秘技</title>
		<link>http://blog.acmind.com/archives/815</link>
		<comments>http://blog.acmind.com/archives/815#comments</comments>
		<pubDate>Tue, 02 Jun 2009 01:51:50 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[设计技巧]]></category>
		<category><![CDATA[秘技]]></category>
		<category><![CDATA[网页]]></category>
		<category><![CDATA[技巧]]></category>
		<category><![CDATA[新手]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=815</guid>
		<description><![CDATA[许许多多的网页新手正徘徊在专业编码的门槛前，而网上的教程参差不齐，鱼龙混杂，很容易让新手迷茫。这里总结了30条网页编码的“秘技”，只要在编码过程中牢记它们，灵活运用，你一定会写出一手漂亮的代码，早日迈入专业开发者的行列。
1. 一定要闭合标签
在以往的页面源代码里，经常看到这样的语句：

&#60;li&#62;Some text here.&#160; 
&#60;li&#62;Some new text here.&#160; 
&#60;li&#62;You get the idea.&#160; 

也许过去我们可以容忍这样的非闭合标签，但在今天的标准来看，这是非常不可取的，是必须百分百避免的。一定要注意闭合你的标签，否则将无法通过验证，并且容易出现一些难以预见的问题。
最好使用这样的形式：

&#60;ul&#62; 
&#60;li&#62;Some text here. &#60;/li&#62; 
&#60;li&#62;Some new text here. &#60;/li&#62; 
&#60;li&#62;You get the idea. &#60;/li&#62; 
&#60;/ul&#62; 

2. 声明正确的文档类型( DocType )

笔者早先曾加入过许多CSS论坛，在那里，如果有用户遇到问题，我们会建议他首先做两件事：
1. 验证CSS文件，解决所有可见的错误
2. 加上文档类型 Doctype
DOCTYPE 定义在HTML标签出现之前，它告诉浏览器这个页面包含的是HTML，XHTML，
还是两者混合出现，这样浏览器才能正确的解析标记。

通常有四种文档类型可供选择：

&#60;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01//EN&#34; &#34;http://www.w3.org/TR/html4/strict.dtd&#34;&#62; 
&#60;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01 Transitional//EN&#34; &#34;http://www.w3.org/TR/html4/loose.dtd&#34;&#62; 
&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML [...]]]></description>
			<content:encoded><![CDATA[<p>许许多多的网页新手正徘徊在专业编码的门槛前，而网上的教程参差不齐，鱼龙混杂，很容易让新手迷茫。这里总结了30条网页编码的“秘技”，只要在编码过程中牢记它们，灵活运用，你一定会写出一手漂亮的代码，早日迈入专业开发者的行列。</p>
<h5>1. 一定要闭合标签</h5>
<p>在以往的页面源代码里，经常看到这样的语句：</p>
<ol>
<li>&lt;li&gt;Some text here.&#160; </li>
<li>&lt;li&gt;Some new text here.&#160; </li>
<li>&lt;li&gt;You get the idea.&#160; </li>
</ol>
<p>也许过去我们可以容忍这样的非闭合标签，但在今天的标准来看，这是非常不可取的，是必须百分百避免的。一定要注意闭合你的标签，否则将无法通过验证，并且容易出现一些难以预见的问题。</p>
<p>最好使用这样的形式：</p>
<ol>
<li>&lt;ul&gt; </li>
<li>&lt;li&gt;Some text here. &lt;/li&gt; </li>
<li>&lt;li&gt;Some new text here. &lt;/li&gt; </li>
<li>&lt;li&gt;You get the idea. &lt;/li&gt; </li>
<li>&lt;/ul&gt; </li>
</ol>
<h5>2. 声明正确的文档类型( DocType )</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0026.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="84" alt="clip_image002" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image002-thumb5.jpg" width="660" border="0" /></a></p>
<p>笔者早先曾加入过许多CSS论坛，在那里，如果有用户遇到问题，我们会建议他首先做两件事：</p>
<p>1. 验证CSS文件，解决所有可见的错误</p>
<p>2. 加上文档类型 Doctype</p>
<p><b>DOCTYPE 定义在HTML标签出现之前，它告诉浏览器这个页面包含的是HTML，XHTML，</b></p>
<p><b>还是两者混合出现，这样浏览器才能正确的解析标记。</b></p>
<p><b></b></p>
<p>通常有四种文档类型可供选择：</p>
<ol>
<li><strong>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</strong> </li>
<li><strong>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;</strong> </li>
<li><strong>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</strong> </li>
<li><strong>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;</strong> </li>
</ol>
<p>关于该使用什么样的文档类型声明，一直有不同的说法。通常认为使用最严格的声明是最佳选择，但研究表明，大部分浏览器会使用普通的方式解析这种声 明，所以很多人选择使用HTML4.01标准。选择声明的底线是，它是不是真的适合你，所以你要综合考虑来选择适合你得项目的声明。</p>
<h5>3.&#160; 不要使用嵌入式CSS样式</h5>
<p>当你在埋头写代码时，可能会经常顺手或偷懒的加上一点嵌入式css代码，就象这样：</p>
<ol>
<li>&lt;p style=&quot;color: red;&quot;&gt;Oncoding编码营&lt;/p&gt; </li>
</ol>
<p>这样看起来即方便又没有问题，但是它会在你得代码中产生问题。</p>
<p>在你开始写代码时，最好是在内容结构完成之后再开始加入样式代码。</p>
<p><b>这样的编码方式就像打游击，是一种很山寨的做法。——</b>Chris Coyier</p>
<p>更好的做法是，把这个P的样式定义在样式表文件里：</p>
<ol>
<li>#someElement &gt; p {&#160; </li>
<li>color: red;&#160; </li>
<li>}&#160; </li>
</ol>
<h5>4. 在页面head标签中引入所有的样式表文件</h5>
<p>理论上讲，你可以在任何位置引入CSS样式表，但HTML规范建议在网页的head标记中引入，这样可以加快页面的渲染速度。</p>
<p><b>在雅虎的开发过程中，我们发现，在head标签中引入样式表，会加快网页加载速度，</b></p>
<p><b>因为这样可以使页面逐步渲染。 </b>&#160; —— ySlow团队</p>
<ol>
<li>&lt;head&gt; </li>
<li>&lt;title&gt;My Favorites Kinds of Corn&lt;/title&gt; </li>
<li>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; href=&quot;path/to/file.css&quot; /&gt; </li>
<li>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; href=&quot;path/to/anotherFile.css&quot; /&gt; </li>
<li>&lt;/head&gt; </li>
</ol>
<h5>5. 在页面底部引入JavaScript文件</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0065.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image006" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="81" alt="clip_image006" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image006-thumb5.jpg" width="660" border="0" /></a></p>
<p>要记住一个原则，就是让页面以最快的速度呈现在用户面前。当加载一个脚本时，页面会暂停加载，直到脚本完全载入。所以会浪费用户更多的时间。</p>
<p>如果你的JS文件只是要实现某些功能，（比如点击按钮事件），那就放心的在body底部引入它，这绝对是最佳的方法。</p>
<p>举例：</p>
<ol>
<li>&lt;p&gt;And now you know my favorite kinds of corn. &lt;/p&gt; </li>
<li>&lt;script type=&quot;text/javascript&quot; src=&quot;path/to/file.js&quot;&gt;&lt;/script&gt; </li>
<li>&lt;script type=&quot;text/javascript&quot; src=&quot;path/to/anotherFile.js&quot;&gt;&lt;/script&gt; </li>
<li>&lt;/body&gt; </li>
<li>&lt;/html&gt; </li>
</ol>
<h5>6. 不要使用嵌入式JavaScript，这都21世纪了！</h5>
<p>许多年以前，还存在一种这样的方式，就是直接将JS代码加入到标签中。尤其是在简单的图片相册中非常常见。本质上讲，一个“onclick”事件是 附加在 标签上的，其效果等同于一些JS代码。不需要讨论太多，非常不应该使用这样的方式，应该把代码转移到一个外部JS文件中，然后使用“ addEventListener / attachEvent ”加入时间侦听器。或者使用jQuery等框架，之需要使用其“clock”方法。</p>
<ol>
<li>$(&#8216;a#moreCornInfoLink&#8217;).click(function() {&#160; </li>
<li>&#160; alert(&#8216;Want to learn more about corn?&#8217;);&#160; </li>
<li>});&#160; </li>
</ol>
<h5>7. 开发中随时进行标准验证</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image008.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image008" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="319" alt="clip_image008" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image008-thumb.gif" width="246" border="0" /></a></p>
<p>很多人并不真正理解标准验证的意义和价值，笔者在一篇 <a href="http://jeff-way.com/2009/05/13/heres-the-thing-about-validation/">博客</a>中详细分析了这个问题。一句话，<b>标准验证是为你服务的，不是给你找麻烦的。</b></p>
<p>如果你刚开始从事网页制作，那强烈建议你下载这个 <a href="https://addons.mozilla.org/en-US/firefox/addon/60">网页开发工具条</a> ，并在编码过程中随时使用&quot;HTML标准验证&quot;和“CSS标准验证”。如果你认为CSS是一种非常好学的语言，那么它会把你整的死去活来。你的不严谨的代码会让你的页面漏洞百出，问题不断，一个好的方法就是—— 验证，验证，再验证。</p>
<h5>8. 下载Firebug</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0103.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image010" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="271" alt="clip_image010" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image010-thumb3.jpg" width="595" border="0" /></a>     <br />Firebug是当之无愧的网页开发最佳插件，它不但可以调试JavaScript，还可以直观的让你了解页面标记的属性和位置。不用多说， <a href="https://addons.mozilla.org/cn-ZH/firefox/addon/1843">下载它！</a></p>
<h5>9. 使用Firebug！ </h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0123.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image012" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="359" alt="clip_image012" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image012-thumb3.jpg" width="415" border="0" /></a></p>
<p>据笔者观察，大部分的使用者仅仅使用了Firebug 20%的功能，那真是太浪费了，你不妨花几个小时的时间来系统学习这个工具，相信会让你事半功倍。</p>
<h6>Firebug教程：</h6>
<ul>
<li><a href="http://michaelsync.net/2007/09/08/firebug-tutorial-overview-of-firebug">Overview of Firebug</a> </li>
<li><a href="http://www.digitalmediaminute.com/screencast/firebug-js/">Debug Javascript With Firebug &#8211; video tutorial</a> </li>
</ul>
<h5></h5>
<h5>10. 使用小写的标记</h5>
<p>理论上讲，你可以像这样随性的书写标记：</p>
<ol>
<li>&lt;DIV&gt; </li>
<li>&lt;P&gt;Here&#8217;s an interesting fact about corn. &lt;/P&gt; </li>
<li>&lt;/DIV&gt; </li>
</ol>
<p>最好不要这样写，费力气输入大些字母没有任何用处，并且会让代码很难看，这样子就很好：</p>
<ol>
<li>&lt;div&gt; </li>
<li>&lt;p&gt;Here&#8217;s an interesting fact about corn. &lt;/p&gt; </li>
<li>&lt;/div&gt; </li>
</ol>
<h5>11.使用H1 &#8211; H6标签</h5>
<p>笔者建议你在网页中使用其中全部六种标记，虽然大部分人只会用到前四个，但使用最多的H会有很多好处，比如设备友好、搜索引擎友好等，不妨把你的P标签都替换成H6。</p>
<h5>12. 如果是博客，那把H1留给文章标题</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0134.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image013" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="290" alt="clip_image013" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image013-thumb4.jpg" width="660" border="0" /></a></p>
<p>今天笔者在<a href="http://www.twitter.com/nettuts">Twitter</a>上发起一次讨论：是该把H1定义到LOGO上还是定义到文章标题上，有80%的人选择了后者。</p>
<p>当然具体如何使用要看你的需求，但我建议你在建立博客的时候，将文章题目定为H1，这对搜索引擎优化(SEO)是非常有好处的。</p>
<h5>13. 下载ySlow</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image014.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image014" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="278" alt="clip_image014" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image014-thumb.gif" width="620" border="0" /></a></p>
<p>在过去几年里，雅虎的团队在前端开发领域做了许多伟大的工作。前不久，它们发布了一个叫ySlow的Firebug扩展，它会分析你的网页，并返回一个“成绩单”，上面细致分析了这个网页的方方面面，提出需要改进的地方，虽然它有点苛刻，但它绝对会对你有所帮助，强烈推荐—— <a href="http://developer.yahoo.com/yslow/">ySlow</a>！</p>
<h5></h5>
<h5>14. 使用UL列表布局导航菜单</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0161.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image016" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="94" alt="clip_image016" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image016-thumb1.jpg" width="423" border="0" /></a>     <br />通常网站都会有导航菜单，你可以用这样的方式定义：</p>
<ol>
<li>&lt;div id=&quot;nav&quot;&gt; </li>
<li>&lt;a href=&quot;#&quot;&gt;Home &lt;/a&gt; </li>
<li>&lt;a href=&quot;#&quot;&gt;About &lt;/a&gt; </li>
<li>&lt;a href=&quot;#&quot;&gt;Contact &lt;/a&gt; </li>
<li>&lt;/div&gt; </li>
</ol>
<p>如果你想书写优美的代码，那最好不要用这种方式，</p>
<p><b>为什么要用UL布局导航菜单？</b></p>
<p><b>——因为UL生来就是为定义列表准备的</b></p>
<p><b>最好这样定义</b>：</p>
<ol>
<li>&lt;ul id=&quot;nav&quot;&gt; </li>
<li>&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Home&lt;/a&gt;&lt;/li&gt; </li>
<li>&lt;li&gt;&lt;a href=&quot;#&quot;&gt;About&lt;/a&gt;&lt;/li&gt; </li>
<li>&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt; </li>
<li>&lt;/ul&gt; </li>
</ol>
<h5>15. 学会怎样对付IE</h5>
<p>IE一直以来都是前端开发人员的噩梦！</p>
<p>如果你的CSS样式表基本定型了，那么可以为IE单独建立一个样式表，然后这样仅对IE生效：</p>
<ol>
<li>&lt;!&#8211;[if lt IE 7]&gt; </li>
<li>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; href=&quot;path/to/ie.css&quot; /&gt; </li>
<li>&lt;![endif]&#8211;&gt; </li>
</ol>
<p>这些代码的意思是：如果用户浏览器是IE6及以下，那这段代码才会生效。如果你想把IE7也包含进来，那么就把“[if lt IE 7]”改为“[if lte IE 7]”。</p>
<h5>16. 使用一个好的代码编辑器</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image017.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image017" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="197" alt="clip_image017" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image017-thumb.gif" width="432" border="0" /></a>     <br />不论你是Windows还是Mac用户，这里都有很多优秀的编辑器供你选择：</p>
<h6>Mac 用户</h6>
<ul>
<li><strong><a href="http://www.panic.com/coda">Coda</a></strong> </li>
<li><strong><a href="http://macrabbit.com/espresso/">Espresso</a></strong> </li>
<li><strong><a href="http://macromates.com/">TextMate</a></strong> </li>
<li><strong><a href="http://www.aptana.com/">Aptana</a></strong> </li>
<li><strong><a href="http://www.adobe.com/products/dreamweaver/">DreamWeaver CS4</a></strong> </li>
</ul>
<h6>PC 用户</h6>
<ul>
<li><strong><a href="http://intype.info/home/index.php">InType</a></strong> </li>
<li><strong><a href="http://www.e-texteditor.com/">E-Text Editor</a></strong> </li>
<li><strong><a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a></strong> </li>
<li><strong><a href="http://www.aptana.com/">Aptana</a></strong> </li>
<li><strong><a href="http://www.adobe.com/products/dreamweaver/">Dreamweaver CS4</a></strong> </li>
</ul>
<h5>17. 压缩前端代码！</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0192.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image019" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="288" alt="clip_image019" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image019-thumb2.jpg" width="472" border="0" /></a></p>
<p>通过压缩CSS和JavaScript代码，通常可以减小25%以上的文件体积，在某种情况下，这会大大减轻你的带宽压力，提高加载速度。</p>
<h6>Javascript 压缩服务</h6>
<ul>
<li><a href="http://javascriptcompressor.com/">Javascript Compressor</a> </li>
<li><a href="http://www.xmlforasp.net/JSCompressor.aspx">JS Compressor</a> </li>
<li><a href="http://oncoding.net/tools/jsmin/">JS代码在线压缩( 中文 )</a> </li>
</ul>
<h6><a href="http://www.yeeyan.com/articles/tag/CSS"><em>CSS</em></a> Compression Services</h6>
<ul>
<li><a href="http://www.cssoptimiser.com/">CSS Optimiser</a> </li>
<li><a href="http://www.cssdrive.com/index.php/main/csscompressor/">CSS Compressor</a> </li>
<li><a href="http://www.cleancss.com/">Clean CSS</a> </li>
<li><a href="http://oncoding.net/tools/csstidy/">CSS代码在线压缩( 中文 )        <br /></a></li>
</ul>
<h5>18. 缩减，缩减，缩减</h5>
<p>回望我们大多数人写的第一个页面，一定会发现严重的 “DIV癖”( divitis )，通常初学者的本能就是把一个段落用DIV包起来，然后为了控制定位而套上更多的DIV。—— 其实这是一种低效而有害的做法。</p>
<p><b>网页写完后，一定要多次回头检查，尽量的减少元素的数量。</b></p>
<p><b>能用UL布局的列表就不要用一个个的DIV去布局。</b></p>
<p>正如写文章的关键是“缩减，缩减，缩减”一样，写页面也要遵循这个标准。</p>
<h5>19. 为所有的图片加上Alt属性</h5>
<p>为图片加上alt属性的好处是不言而喻的 —— 这样可以让禁用图片或者使用特殊设备的用户无障碍得了解你的王爷信息，并且对图像搜索引擎友好。</p>
<p>Firefox不支持显示图像Alt属性，可以加入title属性：</p>
<ol>
<li>&lt;img src=&quot;cornImage.jpg&quot; alt=&quot;图片标题&quot; title=&quot;图片标题&quot; /&gt; </li>
</ol>
<h5>20. 学会熬夜</h5>
<p>我经常不知不觉的学习工作到凌晨，我认为这是个很好的状况。</p>
<p>我的“啊～哈！”时间（ &quot;AH-HA&quot; moments，指柳暗花明或豁然开朗的时刻）通常都发生在深夜，比如我彻底理解JavaScript的“闭包”概念，就是在这样一种情况下。如果你还没有感受过这种奇妙的时刻，那就马上试试吧！</p>
<h5>21. 查看源代码</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0213.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image021" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="297" alt="clip_image021" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image021-thumb2.jpg" width="290" border="0" /></a></p>
<p>没有什么比模仿你的偶像能让你更快的学习HTML。起初，我们都要甘做复印机，然后慢慢得发展自己的风格。研究你喜欢的网站页面代码，看看他们是怎么实现的。这是高手的必经之路，你一定要试一下。注意：只是学习和模仿他们的编码风格，而不是抄袭和照搬！</p>
<p>留意网络上各种炫酷的JavaScript效果，如果看上去是使用了插件，那根据它源码中head标签内的文件名，就可以找到这个插件名称，然后就可以学习它据为己用。</p>
<h5>22. 为所有的元素定义样式</h5>
<p>这一条在你制作其他公司企业网站时尤为必要。你自己不使用blockquote标记？那用户可能会用，你自己不使用OL？用户也可能会。花时间做一个页面，显示出ul, ol, p, h1-h6, blockquotes, 等等元素的样式，检查一下是否有遗漏。</p>
<h5>23. 使用第三方服务</h5>
<p>译者注：英文原文标题为“使用Twitter”</p>
<p>现在互联网上流行着许多可以免费加在网页中的API，这些工具非常强大。它可以帮你实现许多巧妙的功能，更重要的是可以帮你宣传网站。</p>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0232.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image023" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="85" alt="clip_image023" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image023-thumb2.jpg" width="345" border="0" /></a></p>
<h5>24. 学习Photoshop</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image025.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image025" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="545" alt="clip_image025" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image025-thumb.jpg" width="567" border="0" /></a></p>
<p>Photoshop是前端工程师的一个重要工具，如果你已经熟练掌握HTML和CSS，那不妨多学习一下Photshop。</p>
<ol>
<li>Psdtuts+上有许多英文的饰品教程：<a href="http://psd.tutsplus.com/category/videos/">Videos section</a> </li>
<li><a href="http://www.lynda.com/">Lynda.com</a> 也有大量教程，不过要支付$25美元 </li>
<li>&quot;<a href="http://www.mydamnchannel.com/You_Suck_at_Photoshop/Season_1/1DistortWarpandLayerEffects_1373.aspx">You Suck at Photoshop</a>&quot; 系列教程 </li>
<li>花费几个小时的时间学习Photoshop的快捷键操作 </li>
</ol>
<h5>25. 学习每一个HTML标签</h5>
<p>虽然有些HTML标签很少用到，但你依然应该了解他们。比如“abbr”、“cite”等，你必须学习它们以备不时之需。</p>
<p>顺便说说上面两个标签：</p>
<p><b>abbr</b><b>：</b></p>
<p>表示一个缩写形式，比如 &quot;Inc.&quot;、&quot;etc.&quot;。通过对缩写词语进行标记，您就能够为浏览器、拼写检查程序、翻译系统以及搜索引擎分度器提供有用的信息。    <br />url：<a href="http://www.w3school.com.cn/tags/tag_abbr.asp">http://www.w3school.com.cn/tags/tag_abbr.asp</a></p>
<p><b>cite</b><b>：</b></p>
<p>通常表示它所包含的文本对某个参考文献的引用，比如书籍或者杂志的标题。    <br />按照惯例，引用的文本将以斜体显示。     <br />url：<a href="http://www.w3school.com.cn/tags/tag_cite.asp">http://www.w3school.com.cn/tags/tag_cite.asp</a></p>
<h5>26. 参与社区讨论</h5>
<p>网络上有许许多多优秀的资源，而社区中也隐藏着许多高手，这里你既可以自学，也能请教经验丰富的开发者。</p>
<h5>27. 使用CSS Reset</h5>
<p>Css Reset也就Reset Css ,就是重置一些标签样式，或者说默认的样式。</p>
<p>关于是否应该使用CSS Reset，网上也有激烈的争论，笔者是建议使用的。你可以先选用一些成熟的CSS Reset，然后慢慢演变成适合自己的。这里有<a href="http://oncoding.net/rebuild/css/article200903/14.html">一些好用的CSS Reset(中文)</a>。</p>
<h5>28. 对齐元素</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image026.gif" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image026" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="632" alt="clip_image026" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image026-thumb.gif" width="620" border="0" /></a></p>
<p>简单来说，你应该尽可能的对齐你的网页元素。可以观察一下你喜欢的网站，它们的LOGO、标题、图表、段落肯定是对得非常整齐的。否则就会显得混乱和不专业。</p>
<h5>29. 关于PSD切片</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0271.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image027" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="630" alt="clip_image027" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image027-thumb1.jpg" width="620" border="0" /></a></p>
<p>现在你已经掌握了HTML、CSS、Photoshop知识，那么你还需要学习如何把PSD转换为网页上的图片和背景，下面有两个不错的教程：</p>
<ul>
<li><a href="http://net.tutsplus.com/videos/screencasts/slice-and-dice-that-psd/">Slice and Dice that PSD</a> </li>
<li><a href="http://net.tutsplus.com/videos/screencasts/converting-a-design-from-psd-to-html/">From PSD to HTML/CSS</a> </li>
</ul>
<h5>30. 不要随意使用框架</h5>
<p>Javascript和CSS都有许多优秀的框架，但如果你是初学者，不要急于使用它们。如果你还没能熟练的驾驭CSS，使用框架会混淆你的知识体系。</p>
<p>CSS框架是为熟练开发者设计的，这样会节省它们大量的时间。</p>
<p>&#160;</p>
<p>摘自：<a title="http://www.yeeyan.com/articles/view/oc/41248?tag_related" href="http://www.yeeyan.com/articles/view/oc/41248?tag_related">http://www.yeeyan.com/articles/view/oc/41248?tag_related</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/815/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>正则表达式高级技巧基本概念实例详解</title>
		<link>http://blog.acmind.com/archives/755</link>
		<comments>http://blog.acmind.com/archives/755#comments</comments>
		<pubDate>Tue, 02 Jun 2009 01:10:18 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[设计技巧]]></category>
		<category><![CDATA[实例]]></category>
		<category><![CDATA[表达式]]></category>
		<category><![CDATA[高级]]></category>
		<category><![CDATA[技巧]]></category>
		<category><![CDATA[概念]]></category>
		<category><![CDATA[正则]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=755</guid>
		<description><![CDATA[正则表达式(Regular Expression, abbr. regex) 功能强大，能够用于在一大串字符里找到所需信息。它利用约定俗成的字符结构表达式来发生作用。不幸的是，简单的正则表达式对于一些高级运用，功能远远不够。若要进行筛选的结构比较复杂，你可能就需要用到高级正则表达式。
本文为您介绍正则表达式的高级技巧。我们筛选出了八个常用的概念，并配上实例解析，每个例子都是满足某种复杂要求的简单写法。如果你对正则的基本概念尚缺乏了解，请先阅读这篇文章，或者这个教程，或者维基条目。
这里的正则语法适用于PHP，与Perl兼容。
1. 贪婪/懒惰

所有能多次限定的正则运算符都是贪婪的。他们尽可能多地匹配目标字符串，也就是说匹配结果会尽可能地长。不幸的是，这种做法并不总是我们想要的。因此，我们添加“懒惰”限定符来解决问题。在各个贪婪运算符后添加“?”能让表达式只匹配尽可能短的长度。另外，修改器“U”也能惰化能多次限定的运算符。理解贪婪与懒惰的区别是运用高级正则表达式的基础。
贪婪操作符
操作符 * 匹配之前的表达式零次或零次以上。它是一个贪婪操作符。请看下面的例子：
preg_match( '/&#60;h1&#62;.*&#60;\/h1&#62;/', '&#60;h1&#62;这是一个标题。&#60;/h1&#62;
&#160;
&#60;h1&#62;这是另一个。&#60;/h1&#62;', $matches ); 
句点(.)能代表除换行符外的任意字符。上面的正则表达式匹配 h1 标签以及标签内的所有内容。它用句点(.)和星号(*)来匹配标签内的所有内容。匹配结果如下：
&#60;h1&#62;这是一个标题。&#60;/h1&#62;&#60;h1&#62;这是另一个。&#60;/h1&#62;
整个字串都被返回。* 操作符会连续匹配所有内容—— 甚至包括中间的 h1 闭合标签。因为它是贪婪的，匹配整个字串是符合其利益最大化原则。
懒惰操作符
把上面的式子稍作修改，加上一个问号(?)，能让表达式变懒惰：
/&#60;h1&#62;.*?&#60;\/h1&#62;/
这样它会觉得，只需匹配到第一个 h1 结尾标签就完成任务了。
另一个有着类似属性的贪婪操作符是 {n,} 。它代表之前的匹配模式重复n次或n次以上，如果没有加上问号，它会寻找尽可能多的重复次数，加上的话，则会尽可能少重复（当然也就是“重复n次”最少）。
# 建立字串
$str = 'hihihi oops hi';
# 使用贪婪的{n,}操作符进行匹配
preg_match( '/(hi){2,}/', $str, $matches );&#160; # matches[0] 将是 'hihihi'
# 使用堕化了的 {n,}? 操作符匹配
preg_match( '/(hi){2,}?/', $str, $matches );&#160; # matches[0] 将是 'hihi'
2. 回返引用(Back referencing)

有什么用？
回返引用(Back referencing)一般被翻译成“反向引用”、“后向引用”、“向后引用”，个人觉得“回返引用”更为贴切。它是在正则表达式内部引用之前捕获到的内容的方法。例如，下面这个简单例子的目的是匹配出引号内部的内容：
# 建立匹配数组
$matches = array();
&#160;
# 建立字串
$str [...]]]></description>
			<content:encoded><![CDATA[<p>正则表达式(Regular Expression, abbr. regex) 功能强大，能够用于在一大串字符里找到所需信息。它利用约定俗成的字符结构表达式来发生作用。不幸的是，简单的正则表达式对于一些高级运用，功能远远不够。若要进行筛选的结构比较复杂，你可能就需要用到<strong>高级正则表达式</strong>。</p>
<p>本文为您<strong>介绍正则表达式的高级技巧</strong>。我们筛选出了八个常用的概念，并配上实例解析，每个例子都是满足某种复杂要求的简单写法。如果你对正则的基本概念尚缺乏了解，请先阅读<a href="http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm#introduction">这篇文章</a>，或者<a href="http://www.regexlab.com/zh/deelx/syntax.htm">这个教程</a>，或者<a href="http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F">维基条目</a>。</p>
<p>这里的正则语法适用于PHP，与Perl兼容。</p>
<h5>1. 贪婪/懒惰</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0013.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image001" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="320" alt="clip_image001" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image001-thumb3.jpg" width="420" border="0" /></a></p>
<p>所有能多次限定的正则运算符都是贪婪的。他们<strong>尽可能多</strong>地匹配目标字符串，也就是说匹配结果会<strong>尽可能地长</strong>。不幸的是，这种做法并不总是我们想要的。因此，我们添加“懒惰”限定符来解决问题。在各个贪婪运算符后添加“?”能让表达式只匹配<strong>尽可能短</strong>的长度。另外，修改器“U”也能惰化能多次限定的运算符。理解贪婪与懒惰的区别是运用高级正则表达式的基础。</p>
<h6>贪婪操作符</h6>
<p>操作符 * 匹配之前的表达式零次或零次以上。它是一个贪婪操作符。请看下面的例子：</p>
<pre>preg_match( '/&lt;h1&gt;.*&lt;\/h1&gt;/', '&lt;h1&gt;这是一个标题。&lt;/h1&gt;</pre>
<pre>&#160;</pre>
<pre>&lt;h1&gt;这是另一个。&lt;/h1&gt;', $matches ); </pre>
<p>句点(.)能代表除换行符外的任意字符。上面的正则表达式匹配 h1 标签以及标签内的所有内容。它用句点(.)和星号(*)来匹配标签内的所有内容。匹配结果如下：</p>
<pre>&lt;h1&gt;这是一个标题。&lt;/h1&gt;&lt;h1&gt;这是另一个。&lt;/h1&gt;</pre>
<p>整个字串都被返回。* 操作符会连续匹配所有内容—— 甚至包括中间的 h1 闭合标签。因为它是贪婪的，匹配整个字串是符合其利益最大化原则。</p>
<h6>懒惰操作符</h6>
<p>把上面的式子稍作修改，加上一个问号(?)，能让表达式变懒惰：</p>
<pre>/&lt;h1&gt;.*?&lt;\/h1&gt;/</pre>
<p>这样它会觉得，只需匹配到第一个 h1 结尾标签就完成任务了。</p>
<p>另一个有着类似属性的贪婪操作符是 {n,} 。它代表之前的匹配模式重复n次或n次以上，如果没有加上问号，它会寻找尽可能多的重复次数，加上的话，则会尽可能少重复（当然也就是“重复n次”最少）。</p>
<pre># 建立字串</pre>
<pre>$str = 'hihihi oops hi';</pre>
<pre># 使用贪婪的{n,}操作符进行匹配</pre>
<pre>preg_match( '/(hi){2,}/', $str, $matches );&#160; # matches[0] 将是 'hihihi'</pre>
<pre># 使用堕化了的 {n,}? 操作符匹配</pre>
<pre>preg_match( '/(hi){2,}?/', $str, $matches );&#160; # matches[0] 将是 'hihi'</pre>
<h5>2. 回返引用(Back referencing)</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0022.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="310" alt="clip_image002" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image002-thumb2.jpg" width="320" border="0" /></a></p>
<h6>有什么用？</h6>
<p><strong>回返引用(Back referencing)</strong>一般被翻译成“反向引用”、“后向引用”、“向后引用”，个人觉得“回返引用”更为贴切。它是在正则表达式内部引用<strong>之前捕获到的内容</strong>的方法。例如，下面这个简单例子的目的是匹配出引号内部的内容：</p>
<pre># 建立匹配数组</pre>
<pre>$matches = array();</pre>
<pre>&#160;</pre>
<pre># 建立字串</pre>
<pre>$str = &quot;&quot;This is a 'string'&quot;&quot;;</pre>
<pre>&#160;</pre>
<pre># 用正则表达式捕捉内容</pre>
<pre>preg_match( &quot;/(\&quot;|').*?(\&quot;|')/&quot;, $str, $matches );</pre>
<pre>&#160;</pre>
<pre># 输出整个匹配字串</pre>
<pre>echo&#160; $matches[0];</pre>
<p>它会输出：</p>
<pre>&quot;This is a'</pre>
<p>显然，这并不是我们想要的内容。</p>
<p>这个表达式从开头的双引号开始匹配，遭遇单引号之后就错误地结束了匹配。这是因为表达式里说：(”|’)，也就是双引号(”)和单引号(’)均可。要修正这个问题，你可以用到回返引用。<strong>表达式\1,\2,…,\9</strong> 是对前面已捕获到的各个子内容的编组序号，能作为对这些编组的“指针”而被引用。在此例中，第一个被匹配的引号就由<code>\1</code>代表。</p>
<h6>如何运用？</h6>
<p>将上面的例子中，后面的闭合引号替换为1：</p>
<pre>preg_match( '/(\&quot;|').*?\1/', $str, $matches );</pre>
<p>这会正确地返回字串：</p>
<pre>&quot;This is a 'string'&quot;</pre>
<p><strong>译注思考题：</strong></p>
<p>如果是中文引号，前引号和后引号不是同一个字符，怎么办？</p>
<p>还记得PHP函数 <code>preg_replace</code> 吗？其中也有回返引用。只不过我们没有用 \1 … \9，而是用了 $1 … $9 … $n （此处任意数目均可）作为回返指针。例如，如果你想把所有的段落标签<code>&lt;p&gt;</code>都替换成文本：</p>
<pre>$text = preg_replace( '/&lt;p&gt;(.*?)&lt;/p&gt;/',</pre>
<pre>&quot;&amp;lt;p&amp;gt;$1&amp;lt;/p&amp;gt;&quot;, $html );</pre>
<p>参数$1是一个回返引用，代表段落标签<code>&lt;p&gt;</code>内部的文字，并插入到替换后的文本里。这种简便易用的表达式写法为我们提供了一个获取已匹配文字的简单方法，甚至在替换文本时也能使用。</p>
<h5>3. 已命名捕获组(Named Groups)</h5>
<p>当在一个表达式内多次用到回调引用时，很容易就把事情搞混淆，要弄清那些数字（1 … 9）都代表哪一个子内容是件很麻烦的事。回调引用的一个替代方法是使用带名字的捕获组（下文简称“有名组”）。有名组使用<code>(?P&lt;name&gt;pattern)</code>来设定，name代表组名，pattern是配合该有名组的正则结构。请看下面的例子：</p>
<pre>/(?P&lt;quote&gt;&quot;|').*?(?P=quote)/</pre>
<p>上式中，quote就是组名，<code>&quot;|'</code>是改组匹配内容的正则。后面的(?P=quote)是在调用组名为quote的有名组。这个式子的效果和上面的回调引用实例一样，只不过是用了有名组来实现。是不是更加易读易懂了？</p>
<p>有名组也能用于处理已匹配内容之数组的内部数据。赋予特定正则的组名也能作为所匹配到的内容在数组内部的索引词。</p>
<pre>preg_match( '/(?P&lt;quote&gt;&quot;|\')/', &quot;'String'&quot;, $matches );</pre>
<pre>&#160;</pre>
<pre># 下面的语句输出“'”(不包括双引号)</pre>
<pre>echo $matches[1];</pre>
<pre>&#160;</pre>
<pre># 使用组名调用，也会输出“'”</pre>
<pre>echo $matches['quote'];</pre>
<p>所以，有名组并不只是让写代码更容易，它也能用于组织代码。</p>
<h5>4. 字词边界(Word Boundaries)</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0034.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image003" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="clip_image003" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image003-thumb4.jpg" width="420" border="0" /></a></p>
<p><strong>字词边界</strong>是字串里的字词字符（包括字母、数字和下划线，自然也包括汉字）和非字词字符之间的位置。其特殊之处就在于，它并不匹配某个实在的字符。它的长度是<strong>零</strong>。 <code>\b</code> 匹配所有字词边界。</p>
<p>不幸的是，字词边界一般都被忽视掉了，大部分人都没有在意他的现实意义。 例如，如果你想要匹配单词“import”：</p>
<pre>/import/</pre>
<p>注意了！正则表达式有时候很调皮的。下面的字串也能和上面的式子匹配成功：</p>
<pre>important</pre>
<p>你或许觉得，只要在import前后加上空格，不就可以匹配这个独立的单词了：</p>
<pre>/ import /</pre>
<p>那如果遇上这种情况呢：</p>
<pre>The trader voted for the import</pre>
<p>当 import 这个词在字串开头或者结尾时，修改后的表达式仍然不能用。因此，考虑各种情况是必须的：</p>
<pre>/(^import | import | import$)/i</pre>
<p>别慌，还没完呢。如果遇到标点符号了呢？就为了满足这一个单词的匹配，你的正则可能就需要这样写：</p>
<pre>/(^import(:|;|,)? | import(:|;|,)? | import(\.|\?|\!)?$)/i</pre>
<p>对于只匹配一个单词来说，这样做实在是有点大动干戈了。正因如此，字词边界才显得意义重大。要适应上述要求，以及<strong>很多其他情况变种</strong>，有了字符边界，我们所需写的代码只是：</p>
<pre>/\bimport\b/</pre>
<p>上面所有情况都得到了解决。 <code>\b</code> 的灵活性就在于，它是一个没有长度的匹配。它只匹配两个实际字符之间想象出的位置。它检查两个相邻字符是否是一个为单字，另一个为非单字。情况符合，就返回匹配。如果遇到了单词的开头或结尾， <code>\b</code> 会把它当成是非单词字符对待。由于import里面的 <code>i</code> 仍然被看成是单词字符，import 就被匹配出来了。</p>
<p>注意，与<code>\b</code>相对，我们还有<code>\B</code>，此操作符匹配两个单字或者两个非单字之间的位置。因此，如果你想匹配在某个单词内部的‘hi’，可以使用：</p>
<pre>\Bhi\B</pre>
<p>“this”、“hight”，都会返回匹配，而“hi there”则不会返回匹配。</p>
<h5>5. 最小组团(Atomic Groups)</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0053.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image005" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="286" alt="clip_image005" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image005-thumb3.jpg" width="420" border="0" /></a></p>
<p><strong>最小组团</strong>是无捕捉的特殊正则表达式分组。通常用来提高正则表达式的效能，也能用于消除特定匹配。一个最小组团可以用(?&gt;pattern) 来定义，其中pattern是匹配式。</p>
<pre>/(?&gt;his|this)/</pre>
<p>当正则引擎针对最小组团进行匹配时，它会跳过组团内标记的回溯位置。以单词“smashing”为例，当用上面的正则表达式匹配时，正则引擎会先尝试在“smashing”里寻找“his”。显然，找不到任何匹配。此时，最小组团就发挥作用了：正则引擎会放弃所有回溯位置。也就是说，它不会尝试再从“smashing”里查找“this”。为什么要这样设置？因为“his”都没有返回匹配结果，包含有“his”的“this”当 然就更匹配不了了！</p>
<p>上面的例子并没有什么实用性，我们用<code>/t?his?/</code> 也能达到效果。再看看下面的例子：</p>
<pre>/\b(engineer|engrave|end)\b/</pre>
<p>如果把“engineering”拿去匹配，正则引擎会先匹配到“engineer”，但接下来就遇到了字词边界，b，所以匹配不成功。然后，正则引擎又会尝试在字串里寻找下一个匹配内容：engrave。匹配到eng的时候，后面的又对不上了，匹配失败。最后，尝试“end”，结果同样是失败。仔细观察，你会发现，一旦engineer匹配失败，并且都抵达了字词边界，“engrave”和“end”这两个词就已经不可能匹配成功了。这两个词都比 engineer短小，正则引擎不应该再多做无谓的尝试。</p>
<pre>/\b(?&gt;engineer|engrave|end)\b/</pre>
<p>上面的替代写法更能节省正则引擎的匹配时间，提高代码的工作效率。</p>
<h5>6. 递归(Recursion)</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0062.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image006" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="320" alt="clip_image006" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image006-thumb2.jpg" width="420" border="0" /></a></p>
<p><strong>递归(Recursion)</strong>用于匹配嵌套结构，例如括弧嵌套， (this (that))，HTML标签嵌套<code>&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;</code>。我们使用<code>(?R)</code>来代表递归过程中的子模式。下面是一个匹配嵌套括弧的例子：</p>
<pre>/\(((?&gt;[^()]+)|(?R))*\)/</pre>
<p>最外层使用了反义符的括号“<code>\(</code>”匹配嵌套结构的开端。然后是一个多选项操作符<code>( * | * )</code>，可能匹配除括号外的所有字符 “<code>(?&gt;[^()]+)</code>”，也可能是通过子模式“<code>(?R)</code>”来再次匹配整个表达式。请注意，这个操作符会尽量多地匹配所有嵌套。</p>
<p>递归的另一个实例如下：</p>
<pre>/&lt;([\w]+).*?&gt;((?&gt;[^&lt;&gt;]+)|((?R)))*&lt;\/\1&gt;/</pre>
<p>以上表达式综合运用了字符分组，贪婪操作符、回溯，以及最小化组团来匹配嵌套标签。第一个括弧内分组<code>([w]+)</code>匹配出标签名，用于接下来的应用。若找到这尖括号样式的标签，则尝试寻找标签内容的剩余部分。下一个括弧括起来的子表达式和上一个实例非常相似：要么匹配不包括尖括号的所有字符 <code>?&gt;[^&lt;&gt;]+</code>，要么递归匹配整个表达式<code>(?R)</code>。表达式最后的<code>&lt;/1&gt;</code>代表闭合标签。</p>
<h5>7. 回调(Callbacks)</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0072.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image007" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="310" alt="clip_image007" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image007-thumb2.jpg" width="420" border="0" /></a></p>
<p>匹配结果中的特定内容有时可能会需要某种特别的修改。要应用多重而复杂的修改，正则表达式<strong>的回调</strong>就有了用武之地。回调是用于函数<code>preg_replace_callback</code>中的动态修改字串的方式。你可以为<code>preg_replace_callback</code>指定某个函数为参数，此函数能接收匹配结果数组为参数，并将数组修改后返回，作为替换的结果。</p>
<p>例如，我们想将某字串中的字母全部转变成大写。十分不巧，PHP没有直接转化字母大小写的正则操作符。要完成这项任务，就可以用到正则回调。首先，表达式要匹配出所有需要被大写的字母：</p>
<pre>/\b\w/</pre>
<p>上式同时使用了字词边界和字符类。光有这个式子还不够，我们还需要一个回调函数：</p>
<pre>function upper_case( $matches ) {</pre>
<pre>return strtoupper( $matches[0] );</pre>
<pre>}</pre>
<p>函数<code>upper_case</code>接收匹配结果数组，并将整个匹配结果转化成大写。 在此例中，<code>$matches[0]</code>代表需要被大写化的字母。然后，我们再利用<code>preg_replace_callback</code>实现回调：</p>
<pre>preg_replace_callback( '/\b\w/', &quot;upper_case&quot;, $str );</pre>
<p>一个简单的回调即有这般强大的力量。</p>
<h5>8. 注释(Commenting)</h5>
<p><a href="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image0082.jpg" class="highslide-image" onclick="return hs.expand(this);"><img title="clip_image008" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="320" alt="clip_image008" src="http://blog.acmind.com/wp-content/uploads/2009/06/clip-image008-thumb2.jpg" width="420" border="0" /></a></p>
<p><strong>注释</strong>不用来匹配字串，但确实是正则表达式中最重要的部分。当正则越写越深入，越写越复杂，要推译出究竟什么东西被匹配就会变得越来越困难。在正则表达式中间加上注释，是最小化将来的迷糊和困惑的最佳方式。</p>
<p>要在正则表达式内部加上注释，使用<code>(?#comment)</code>格式。把“comment”替换成你的注释语句：</p>
<pre>/(?#数字)\d/</pre>
<p>如果你打算把代码公之于众，为正则表达式加上注释就显得尤为重要。这样别人才能更容易看懂和修改你的代码。和其他场合的注释一样，这样做也能为你重访自己以前写的程序时提供方便。</p>
<p>考虑使用“x”或“(?x)”修改器来格式化注释。这个修改器让正则引擎忽略表达式参数之间的空格。“有用的”空格仍然能够通过<code>[ ]</code>或<code>\ </code>（反义符加空格）来匹配。</p>
<pre>/</pre>
<pre>\d&#160;&#160;&#160; #digit</pre>
<pre>[ ]&#160;&#160; #space</pre>
<pre>\w+&#160;&#160; #word</pre>
<pre>/x</pre>
<p>上面的代码与下面的式子作用一样：</p>
<pre>/\d(?#digit)[ ](?#space)\w+(?#word)/</pre>
<p>请时刻注意代码的可读性。</p>
<p>&#160;</p>
<p>摘自：<a title="http://www.yeeyan.com/articles/view/benhuoer/44086" href="http://www.yeeyan.com/articles/view/benhuoer/44086">http://www.yeeyan.com/articles/view/benhuoer/44086</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/755/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>成为交际大师的106个技巧</title>
		<link>http://blog.acmind.com/archives/560</link>
		<comments>http://blog.acmind.com/archives/560#comments</comments>
		<pubDate>Sun, 31 May 2009 10:01:08 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[潜心励志]]></category>
		<category><![CDATA[交际]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=560</guid>
		<description><![CDATA[成功的道路上，人脉比知识更重要。发展人际关系应当是你优先级最高的事。《不要一个人吃饭（ Never Eat Alone）》一书介绍了21世纪的交际规则。书中包括了许多实用技巧，让你通过人际关系而兴旺发达。
 保留精华，以下是从书中总结的106条技巧。在实践中练习这些技巧，变成为生活成功充实的交际大师。
本文原文为106 Tips to Become a Master Connector，作者 (Donald Latumahina)，由吴若童@高效率 慢生活 翻译。
1、帮助他人成功     社交的本质就是不断用各种形式帮助其它人成功。共享出你的知识与资源、时间与精力、朋友与关系、同情与关爱，从而持续的为他人提供价值，同时提高自己的价值。
2、努力让自己的付出多于回报    因为你会为别人提供价值，别人才会联系你。所以多考虑别人而不是自己。
3、不要保留     不要以为友谊是有限的。这是投资，会越滚越多。
4、成功的关键是慷慨大方    在社交中通行的不是贪图便利，而是慷慨大方。 
5、明确你的人生目标     你才能与渴望的交集就是你内心的激情。什么是你最兴奋的事？你做什么事时会觉得时间过的飞快？
6、明确知道自己想要什么    越清楚你要什么，你就越能找到实现的方法。
7、习惯于为自己设立目标    让你与众不同的最简单方式就是设立目标。把梦想变为人生目标，再分解为小目标。
8、为发展人际关系设定计划     打造交际网络是有过程的，你的计划应当包括以下三分：    [...]]]></description>
			<content:encoded><![CDATA[<p>成功的道路上，人脉比知识更重要。发展人际关系应当是你优先级最高的事。《不要一个人吃饭（ Never Eat Alone）》一书介绍了21世纪的交际规则。书中包括了许多实用技巧，让你通过人际关系而兴旺发达。</p>
<p> 保留精华，以下是从书中总结的106条技巧。在实践中练习这些技巧，变成为生活成功充实的交际大师。</p>
<p>本文原文为106 Tips to Become a Master Connector，作者 (Donald Latumahina)，由吴若童@高效率 慢生活 翻译。</p>
<p><strong>1、帮助他人成功 </strong>    <br />社交的本质就是不断用各种形式帮助其它人成功。共享出你的知识与资源、时间与精力、朋友与关系、同情与关爱，从而持续的为他人提供价值，同时提高自己的价值。</p>
<p><strong>2、努力让自己的付出多于回报</strong>    <br />因为你会为别人提供价值，别人才会联系你。所以多考虑别人而不是自己。</p>
<p><strong>3、不要保留 </strong>    <br />不要以为友谊是有限的。这是投资，会越滚越多。</p>
<p><strong>4、成功的关键是慷慨大方</strong>    <br />在社交中通行的不是贪图便利，而是慷慨大方。 </p>
<p><strong>5、明确你的人生目标 </strong>    <br />你才能与渴望的交集就是你内心的激情。什么是你最兴奋的事？你做什么事时会觉得时间过的飞快？</p>
<p><strong>6、明确知道自己想要什么</strong>    <br />越清楚你要什么，你就越能找到实现的方法。</p>
<p><strong>7、习惯于为自己设立目标</strong>    <br />让你与众不同的最简单方式就是设立目标。把梦想变为人生目标，再分解为小目标。</p>
<p><strong>8、为发展人际关系设定计划 </strong>    <br />打造交际网络是有过程的，你的计划应当包括以下三分：    <br />1. 你3年的目标，及每3个月的进度。    <br />2. 列出可以帮你实现每个目标的人。    <br />3. 如何与第2点中列出的人联系。    <br />一但你设立了目标，就贴在你经常看的到的地方。</p>
<p><strong>9、打造出你个人的”智囊团” </strong>    <br />找到愿意尽责帮助你的有识之士。他们就是你的”智囊团”&quot;.</p>
<p><strong>10、在你需要前，打造好人际网络 </strong>    <br />要你发现要用到别人之前，就尽早的保持联系。重要的是把这些人当做是朋友，而不是潜在的客户。</p>
<p><strong>11、与你认识的人保持好联系</strong>    <br />刚开始时，要关注于你当前人际网络中的人。</p>
<p><strong>12、大胆</strong>    <br />勇气非常神奇。才能相似的两个人发展不同，可能仅仅因为脸皮的厚薄不同。</p>
<p><strong>13、乐于求助于别人</strong>    <br />乐于索取可以创造出机遇。你应当像乐于帮助别人一样，乐于向他人索取。记住，要做好别人说”不”的最坏打算。</p>
<p><strong>14、在畏惧面前考虑到收获 </strong>    <br />厚着脸皮和不认识的人说话，自然会害怕你可以失败的窘境。这是件有风险的事，要有收获，有成就就必须冒风险。而什么也不做就只有平庸。</p>
<p><strong>15、尊重别人</strong>    <br />尊重每个人，不分高低贵贱。</p>
<p><strong>16、透明 </strong>    <br />敞开心怀是一种有益并极受欢迎的态度。</p>
<p><strong>17、结交朋友 </strong>    <br />擅于交际的人，不是在”打造网络”，而是在”结交朋友”。广泛收获是自然的结果，而不精心设计的目标。</p>
<p><strong>18、做好准备工作 </strong>    <br />你要见谁？如何见？见你之后他对你是什么意见？这些都不容忽视。</p>
<p><strong>19、了解与你交往的人</strong>    <br />如何你有足够了解你交往的人，可以深入他的领域，专业的与之对话。你就能很容易得到赞赏。找到一个丰富而有深度的共同点，之后你们就能容易交往并能留下深刻的印象。</p>
<p><strong>20、了解其他人的兴趣</strong>    <br />爱屋及乌，你很快就会成为他们生活的一部分。</p>
<p><strong>21、决不一个人吃饭</strong>    <br />吃饭时非常易于轻松的交流。和别人一起吃，是交际的有效方法。</p>
<p><strong>22、管理好你的信息 </strong>    <br />有效的信息管理非常重要。如果你有条理、专注、坚持，那没有人会离开你的交际网。</p>
<p><strong>23、列出清单</strong>    <br />按自己的目标分类（如潜在客户、潜在雇主等）整理出自己的列表。不仅要列出相关的单位，还要列出单位里有话语权的人。</p>
<p><strong>24、认识你专业领域的权威</strong>    <br />为了实现目标，你要知道在你所从事的领域，谁最优秀。列出当前领域的权威。</p>
<p><strong>25、列出你已经认识的人</strong>    <br />列出你已经认识的人：亲戚、大学同学、过去的同学、之前的老师、之前的同事…….</p>
<p><strong>26、灵活的组织信息</strong>    <br />你管理列表的方式要灵活。按地点、按行业、亲近程度……</p>
<p><strong>27、利用别人的联系清单，补充自己的</strong>    <br />他人的清单是你的资源。</p>
<p><strong>28、建立”渴望认识的人”名单</strong>    <br />你清单的分类中可以包括”渴望认识的人”，他们是一些高水平的人，你希望在未来可能 认识他们。</p>
<p><strong>29、联系完全陌生的人（Cold Call）</strong>    <br />当你需要给陌生人打电话时，你多少都会有些惧怕。只管硬着头皮。只想着自己会成功。去认识一个新人是挑战，也是机遇。</p>
<p><strong>30、坚持 </strong>    <br />如果你与他人联系，别人没有回音。你要继续与他们联系。你要占据主动。甚至是侵略性的。</p>
<p><strong>31、联系有间接关联的人（Warm Call）</strong>    <br />用下面四条规则来    <br />１、表达可靠性：提及相关的人或单位。    <br />２、提出有价值：你能为他们做什么？    <br />３、告知急迫性和便利性：大部分情况下，冷不防打电话的唯一目的就是预约见面。    <br />４、准备好折衷的方案：开始时定位高些，留下商量的空间。</p>
<p><strong>32、把门卫看作盟友而非敌人</strong>    <br />门卫也应当受到尊重。不要去惹恼他们。</p>
<p><strong>33、永远不要消失</strong>    <br />在建立社交网络时记住：首先，永远不要消失。消失比失败还要糟糕。</p>
<p><strong>34、努力保持可见和活跃</strong>    <br />排满你的社交、会议和事件日程。你必须在初创的朋友和关系网络中保持可见和活跃。</p>
<p><strong>35、将多件事安排在一起</strong>    <br />你为了成功的联系他人你要努力，但这并不意味着你得花很多时间。可以安排同一事件来节约时间。如邀请所有想见的人一起见面。</p>
<p><strong>36、找到乐趣</strong>    <br />交际是有趣的事，不是在浪费时间。.</p>
<p><strong>37、分享你的激情 </strong>    <br />分享兴趣是任何关系的基础。当你确实对某些事感兴趣的时候，是很有感染力的。.</p>
<p><strong>38、强调时间质量</strong>    <br />友谊建立在双方花费时间的质量上而非数量上。</p>
<p><strong>39、跟进还是失败</strong>    <br />与要交往的人见面后，要让别人记住你。跟进是关键。</p>
<p><strong>40、立刻跟进</strong>    <br />你与他们见面后12到24小时内应当继续跟进。E-mail是快捷的方式。</p>
<p><strong>41、不要忘记再次跟进 </strong>    <br />一个月后，再给别人一封邮件。保持联系。</p>
<p><strong>42、会议上花时间与人交流</strong>    <br />会议总被人误解为是寻找见解的地方。错！会议只有一个好处：那就是提供一个场所来结交志同道合的人。</p>
<p><strong>43、做会议组织者</strong>    <br />不要仅做参加者；做组织者。提前做好信息准备工作：打算见谁，怎么见，在哪见。</p>
<p><strong>44、公开发言</strong>    <br />发言是让别人记住你的最简单有效的方式之一。.</p>
<p><strong>45、尽可能多的随访</strong>    <br />不要整个会议都与最好的朋友形影不离。尽可能多的去随访别人。</p>
<p><strong>46、与交际高手保持联系 </strong>    <br />有一些人比我们认识的人多得多。这些人是各个网络的核心。你如果能和这些人交友。你与上千人的联系，就只要通过这一个人。</p>
<p><strong>47、尽可能多有相识的人</strong>    <br />（acquaintance = 认识、但并不特别亲密的人）    <br />通常我们人脉中最重要的人就是那些相识者。为什么？因为我们最亲密的朋友和我们知道的东西都差不多。所以相识的人越多，你就越强大。</p>
<p><strong>48、结识各个领域的人</strong>    <br />我们不仅认识数以千记的人，而且认识数以千计分布在不同领域的人。</p>
<p><strong>49、与其它人交换人脉 </strong>    <br />扩大你朋友圈的最有效的方法就是把你的圈子与别人的圈子相连。</p>
<p><strong>50、建立你的组织委员会</strong>    <br />政治家有”组织委员会”：把在各个领域工作的人，组织在一起。如果你要更广泛的接触世界，那就要想办法先找一个核心人物来当做你的”组织委员”</p>
<p><strong>51、提高你”语言流利度” </strong>    <br />“语言流利度”：一种可以与任何人，在任何情况下都自信沟通的能力。这是许多成功人士的共同特征。 而与人和睦相处的能力，对于个人进步，比其它任何东西都重要。</p>
<p><strong>52、做真实的自己 </strong>    <br />要让人印象深刻，与众不同是关键。要保证能与众不同，就要做真实的自己。做自己才有魅力。你的独特性是你的力量.</p>
<p><strong>53、“顺从” </strong>    <br />顺从的力量被许多人所忽视。顺从别人在闲谈时作用巨大。</p>
<p><strong>54、说真心话 </strong>    <br />当你明白打破沉默最好的方式就是说心里话后，再想发起谈话就没那么可怕了。</p>
<p><strong>55、学会利用非语言的沟通</strong>    <br />别人见到你，只要10秒钟就可以下意识的决定是否会喜欢你。这样的判断是基于出语言的沟通。</p>
<p><strong>56、准备谈论的材料</strong>    <br />准备好可以谈论的东西。关注时事，培养出一些兴趣爱好。</p>
<p><strong>57、学会倾听</strong>    <br />先要理解别人，才能被理解。</p>
<p><strong>58、一定要记住别人的名字</strong>    <br />没有什么比自己的名字听起来更舒服的了。</p>
<p><strong>59、真诚</strong>    <br />毫无疑问，要想被别人看做是特别的人，你要要让别人觉得他在你眼里很特别。</p>
<p><strong>60、试着找出他人的动力</strong>    <br />你初次与别人交流时，就可以找到对方的动力。他们的动力一般就是基于三种：赚钱、找到爱情、改变世界。</p>
<p><strong>61、帮忙别人实现他们心灵深处的渴望</strong>    <br />主动的去帮助别人解决他们的关键问题，可以让他们关系非常紧密。</p>
<p><strong>62、让自己成为别人不可缺少的人</strong>    <br />不可或缺性非常重要。要想不可或缺，就需要你不断的把自己的信息、社会关系、善意传达给尽可能人。.</p>
<p><strong>63、去想想你如何才能让自己身边的每个人都取得成功 </strong>    <br />当有人告诉你他遇到了点问题，你要想想有什么办法。解决办法源自于你的经验、你的知识，还有你的朋友、你帮手。</p>
<p><strong>64、主动提供帮忙</strong>    <br />不要等别人提出了才帮助，要主动。</p>
<p><strong>65、传播知识     <br />当你财务和人脉都还不多时，要想通过社交获利也是可行的。这是是要通过知识。你很容易就可以学会在你的人际网络中传播知识。</strong></p>
<p><strong>66、对他人的成功感兴趣 </strong>    <br />对其他人的成功感兴趣，你可以在2个月内就变的更成功。你也可以花2年时间，让别人对你的成功感兴趣。(戴尔·卡内基)</p>
<p><strong>67、时不时的小联系</strong>    <br />80%的关系仅仅是通过小联系来维持的。你要不断的联系、联系、联系……永远不要停。你要不断的为你的人系网络加料，以保证其不会枯萎。</p>
<p><strong>68、重复、再重复</strong>    <br />要想让别人脑子中记好你，有个非常关键的方法：重复。.</p>
<p><strong>69、建立评分体系</strong>    <br />建立评分体系可以让你维护关系变得容易。比如：    <br />1.&#160; ”1级″至少一个月联系一次。    <br />2.&#160; ”2级″至少每个季度要打个电话或是发封邮件。    <br />3.&#160; ”3级″ 至少每年要联系上一次。</p>
<p><strong>70、把小联系纳入你的日程</strong>    <br />你需要把小联系纳入你的工作范围之一。</p>
<p><strong>71、以个人的名义</strong>    <br />如果可能尽力让一切信息以你个人的名义。</p>
<p><strong>72、不要忘记生日 </strong>    <br />生日应当是你最好的联系机会。</p>
<p><strong>73、和”主力军”一起吃饭</strong>    <br />我们与更年长、更智慧、更有经验的人建立了关系。这些人就是”主力军”。和他们一起吃饭，同时充点电。</p>
<p><strong>74、做个有趣的人 </strong>    <br />其实你见到的每个人都会问自己类似于这样的问题：”我有必要花1小时时间和这人一起吃午饭？”</p>
<p><strong>75、做个有内容的人</strong>    <br />内容就是知识的专业性。是你与众不同的地方。让你有独特品牌的地方。所以要有自己独特的见解。</p>
<p><strong>76、毫无保留的不断学习、不断分享你的内容</strong>    <br />要与其它人不同，你就要毫不留情的学习、分享、兜售你的内容。</p>
<p><strong>77、得到别人的内容</strong>    <br />有时你可以得容易的将别人的创意变为自己的内容。然后领先的分享、应用这些创意。</p>
<p><strong>78、提供你自己的内容</strong>    <br />其它时间，你得花脑筋自己提供内容。你需要了解各种信息，然后与众不同的把他们串起来。</p>
<p><strong>79、引起注意</strong>    <br />一但有了共鸣，就会引起注意。你要提供的很简单：生动的故事。</p>
<p><strong>80、成为专家</strong>    <br />要成为创造内容的人，最常见方法就是做一个专家。做专家做的事：把你的专业知识教给别人、写给别人、说给别人。</p>
<p><strong>81、教你想学的东西</strong>    <br />教别人，这是你学习、理解的最佳方式。</p>
<p><strong>82、用故事表达你的内容</strong>    <br />有力的内容用故事的形式来表达，可以帮助完成目标。在你说故事时，用你的感情来让那些怀疑者相信。</p>
<p><strong>83、建立个人品牌 </strong>    <br />强大的品牌非常有竞争力，但它永远是基于提供产品的价值而不是描述的方式。好的个人品牌能可做3件事：让别人觉得真实可信、与众不同、可以被信赖。</p>
<p><strong>84、让自己独一无二 </strong>    <br />你的品牌表达了你能提供的东西，表达了为什么你很特别，告诉了别人他们为什么了与你保持联系。</p>
<p><strong>85、不断增加价值</strong>    <br />在成为品牌，你需要专注与你所做的事并不断的增加价值。这意味着你需要不断超越。</p>
<p><strong>86、建立个人品牌的标志</strong>    <br />当别人听到读到你的名字时，你想让别人想到什么？你的品牌标志应当包括了别人提到你时会用的所有的词。</p>
<p><strong>87、包装你的品牌</strong>    <br />要看上去有价值，你就要看上去光亮而又专业。所以为什么不建一个个人网站？</p>
<p><strong>88、推广你的品牌 </strong>    <br />如果你自己不推广自己，其它人也不会。你的成功取决于其它人如何认可你的工作，这还依赖与你工作的质量。</p>
<p><strong>89、和媒体保持联系</strong>    <br />你从现在开始就要和媒体保持联系，而不是等你真要故事要告诉他们时你才去找他们。</p>
<p><strong>90、极力推广信息内容，而不是作者</strong>    <br />你推广给众人的应当是你心中的使命感，而不是你的自傲。</p>
<p><strong>91、共同写作</strong>    <br />如果你写作技巧不佳，你可以和别人一起写。通过这样共同写作，你原来不多联系的人，可以让你的人际网络程指数增长。</p>
<p><strong>92、写文章</strong>    <br />写文章可以极大的促进你的职业发展。让你在短时间里就成为被人关注。</p>
<p><strong>93、坚持写作以成为好的写手</strong>    <br />要成为好的写手：”写作，再写作。当你写完了，继续写作”</p>
<p><strong>94、和名人交往</strong>    <br />你只与无名小辈保持联系？你需要把注意力传到一些重要人物上，这样会对你以及周围朋友的生活带来很大的不同。</p>
<p><strong>95、建立信任 </strong>    <br />信任是与这些权威接近的关键。让别人信任你与他们联系时没有任何不可告人的动机。让别人信任你把他们当做一个普通人而不是明星。</p>
<p><strong>96、参加协会</strong>    <br />现在有各种协会。如果你要想同那些有影响的人物面对面，你得先成为参与者。</p>
<p><strong>97、建立你自己的俱乐部</strong>    <br />有时你要参加些有价值的俱乐部，确由于种种原因无法参加。为什么不自己办个俱乐部呢？拟定自己的推广计划，建立一个新的组织。邀请那些你想见的人来加入你的组织。</p>
<p><strong>98、谦虚</strong>    <br />傲慢是一种病，它会让你忘记真正的朋友，忘记朋友的重要。在你进步时，保持谦虚。帮助其它人和你一起进步，甚至超过你。</p>
<p><strong>99、回顾你的过去 </strong>    <br />经常的回顾你的过去，和那些从小就对你很重要的人保持联系</p>
<p><strong>100、找几个导师</strong>    <br />找到有材、有经验，又愿意投入时间来帮助你进步的导师。而不是仅依据薪水与声望来决定自己的职业发展方向。</p>
<p><strong>101、取众家之长 </strong>    <br />三人行必有我师，你身边有许多可以学习的人。</p>
<p><strong>102、建立良好的师徒关系</strong>    <br />成功的师徒关系需要效果与热情。效果意味着你可以让老师可以看到他对你产生的影响。激情意味着你的导师会为了你的进步而投入。</p>
<p><strong>103、找几个徒弟 </strong>    <br />当你不断努力向上发展时，一定要回过头来帮助其它人。你会从你的学生身上学会很多东西。</p>
<p><strong>104、坚持原则</strong>    <br />交际应当是向前发展，而不是向后妥协。与人交往决不能违背自己的价值观。</p>
<p><strong>105、不要试图平衡你的职业与私人生活</strong>    <br />你应当为不同关际的人都提供同样的价值。而不是把生活分为工作生活两部分。</p>
<p><strong>106、打造亲密的友谊 </strong>    <br />有多少人可以走进你家里，自己打开冰箱找吃的？有亲密的朋友，才会让你快乐、成功。</p>
<p>&#160;</p>
<p>摘自：<a title="http://xianguo.com/item/599020141" href="http://xianguo.com/item/599020141">http://xianguo.com/item/599020141</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/560/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>升级到Visual Studio 2008的十大技巧</title>
		<link>http://blog.acmind.com/archives/350</link>
		<comments>http://blog.acmind.com/archives/350#comments</comments>
		<pubDate>Wed, 27 May 2009 07:54:14 +0000</pubDate>
		<dc:creator>笑谈</dc:creator>
				<category><![CDATA[辅助工具]]></category>
		<category><![CDATA[升级]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://blog.acmind.com/?p=350</guid>
		<description><![CDATA[升级到Visual Studio 2008，来个飞跃。但是，若在升级过程中做出了错误的选择的话，就会为之付出一些代价。下面用十步教你轻松实现。 
1、首先，小心的卸载所有先前发布的相应软件和模块
这是最重要的步骤之一。如果您有任何先前版本的.NET Framework 3.5或Visual Studio 2008，那么这些软件都必须在安装Visual Studio 2008 RTM之前被卸载。在安装之前关闭一些相关的软件也是个不错的主意：
◆关闭所有的MS Office应用程序(如Outlook，Word等)
◆关闭Internet Explorer
◆关闭所有的windows资源管理器
◆关闭所有其它不需要打开的程序
以下是Scott Guthrie 提供的对先前发布版本的合适的卸载顺序，这些提到的软件可能有些您安装了而有些没有，只要确保如下的顺序即可：
◆移除“MSDN Library for Visual Studio 2008 Beta”
◆移除“Microsoft SQL Server Compact Edition 3.5”
◆移除“Microsoft SQL Server Compact Edition 3.5 Design Tools”
◆移除“Microsoft SQL Server Compact Edition 3.5 for Devices”
◆移除“Microsoft Visual Studio Performance Collection Tools”
◆移除“Windows Mobile 5.0 SDK R2 for Pocket PC”
◆移除“Windows Mobile 5.0 SDK [...]]]></description>
			<content:encoded><![CDATA[<p>升级到<strong>Visual Studio 2008</strong>，来个飞跃。但是，若在升级过程中做出了错误的选择的话，就会为之付出一些代价。下面用十步教你轻松实现。 </p>
<p>1、首先，小心的卸载所有先前发布的相应软件和模块</p>
<p>这是最重要的步骤之一。如果您有任何先前版本的.NET Framework 3.5或Visual Studio 2008，那么这些软件都必须在安装Visual Studio 2008 RTM之前被卸载。在安装之前关闭一些相关的软件也是个不错的主意：</p>
<p>◆关闭所有的MS Office应用程序(如Outlook，Word等)</p>
<p>◆关闭Internet Explorer</p>
<p>◆关闭所有的windows资源管理器</p>
<p>◆关闭所有其它不需要打开的程序</p>
<p>以下是Scott Guthrie 提供的对先前发布版本的合适的卸载顺序，这些提到的软件可能有些您安装了而有些没有，只要确保如下的顺序即可：</p>
<p>◆移除“MSDN Library for Visual Studio 2008 Beta”</p>
<p>◆移除“Microsoft SQL Server Compact Edition 3.5”</p>
<p>◆移除“Microsoft SQL Server Compact Edition 3.5 Design Tools”</p>
<p>◆移除“Microsoft SQL Server Compact Edition 3.5 for Devices”</p>
<p>◆移除“Microsoft Visual Studio Performance Collection Tools”</p>
<p>◆移除“Windows Mobile 5.0 SDK <a href="http://game.yesky.com/gk/216/7649216.shtml">R2</a> for Pocket PC”</p>
<p>◆移除“Windows Mobile 5.0 SDK R2 for Smartphone”</p>
<p>◆移除“Crystal Reports 2007”</p>
<p>◆移除“Visual Studio Asset System”</p>
<p>◆移除“Microsoft Visual Studio Web Authoring Component / Microsoft Web Designer Tools”</p>
<p>◆移除“Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime”</p>
<p>◆移除“Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime Language Pack” (只针对非英语版)</p>
<p>◆移除“Microsoft Visual Studio Tools for Office Runtime 3.0”</p>
<p>◆移除“Microsoft Document Explorer”</p>
<p>◆移除“Microsoft Document Explorer 2005 Language Pack” (只针对非英语版)</p>
<p>◆移除“Microsoft .NET Compact Framework 3.5”</p>
<p>◆移除“Microsoft .NET Compact Framework 2.0 SP1”</p>
<p>◆移除“.NET Framework 2.0 SDK”</p>
<p>◆移除“Microsoft Visual Studio Codename Orcas Remote Debugger”</p>
<p>◆移除“Microsoft Visual Studio 64bit Prerequisites Beta” (只针对64位平台)</p>
<p>◆移除“Microsoft .NET Framework 3.5&quot;</p>
<p>2、只安装您真正会用到的部分</p>
<p>不要仅仅因为DVD上什么都有，就要把所有的东西都装上。您安装的软件越少，以后打的补丁就越少，其占用的磁盘空间也越少。</p>
<p>3、不要被前面的重启提示弄傻了</p>
<p>.NET Framework 3.5的安装程序会提示用户在安装的过程中间重启，不要理会它。所有的重启都要等到安装完Visual Studio 2008之后再执行。</p>
<p>4、如果您要用Team System，就安装Team System 2008 Team Explorer</p>
<p>如果您准备连接到Team Foundation服务器，那么您需要安装Team System 2008 Team Explorer，否则无法连接到Team Foundation服务器。</p>
<p>这篇文档告诉您如何从Team Foundation服务器安装介质(光盘，下载包等)得到Team Explorer，但是这是一个3GB的下载版本。最简单的方法是得到单独的Team Explorer安装版，这个安装版只有387MB。</p>
<p>5、安装之后，将您的IDE设置恢复到默认设置。</p>
<p>如果IDE的设置在任何先前发布的版本中做了更改，它们都应该被恢复到默认设置。可以在命令行运行 devenv.com /ResetSettings 或者在Visual Studio 2008中点击菜单 Tools &gt; Import and Export Settings&#8230; &gt; Reset all settings</p>
<p>6、抓住这个时机改变您的Visual Studio主题</p>
<p>这是个很好的时机来修改主题。Visual Studio的主题系统允许开发者尝试一个新的主题，如果他们不喜欢，还可以改。我们推荐您选择一个使视觉更舒适的主题，特别是如果您每个星期要在IDE环境下工作很多个小时的话。</p>
<p>7、ASP.NET ListView中的Breaking changes (Breaking changes 意味着新的版本在这些地方将不再保证向前兼容，从而导致同样的代码在不同的版本中有不同的行为，或者旧的代码在新版本环境中不再支持)</p>
<p>Jon Galloway指出了这个非常重要的一点：</p>
<p>如果您使用先前发布的ASP.NET ListView写过任何代码，您需要升级您的标签。事实上这里只有一个真正的区别，这个区别会带来一些不同的影响：容器元素被 asplaceHolder控件代替了。先前的版本允许您使用任何 runat=&quot;server&quot; 标记做为一个容器元素。我更喜欢RTM的行为-旧的方式有时候有点太神奇，它根据ID用子元素填满父元素。新的用法更加直接，而且这种用法使得 ListView中被标记的内容和被替代的内容一目了然。</p>
<p>具体而言，以前使用元素ItemContainer的地方，现在要用一个叫做ItemPlaceholder的占位符来代替。如果这样出错了，您会得到如下的出错信息：</p>
<p>An item placeholder must be specified on ListView ‘SampleListView′. Specify an item placeholder by setting a control’s ID property to “itemPlaceholder”. The item placeholder control must also specify runat=”server”.</p>
<p>8、LINQ-to-SQL 中的Breaking changes</p>
<p>任何先前版本的LINQ-to-SQL代码都需要被依照以下的说明更新。</p>
<p>(1)把 Add 和 AddAll 方法改成 InsertOnSubmit 和 InsertAllOnSubmit. 把 Remove 和 RemoveAll 改成 DeleteOnSubmit 和 DeleteAllOnSubmit.</p>
<p>(2)通过如下更改把 .dbml 文件的编码格式改为 utf-8    </p>
<pre class="mycode">&lt;?xml version=<span style="color: #a31515">&quot;1.0&quot; </span>encoding=<span style="color: #a31515">&quot;utf-16&quot;</span>?&gt;</pre>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 修改为： </p>
<p></p>
<pre class="mycode">&lt;?xml version=<span style="color: #a31515">&quot;1.0&quot; </span>encoding=<span style="color: #a31515">&quot;utf-8&quot;</span>?&gt;</pre>
<p><a href="http://11011.net/software/vspaste"></a>(3)修改web.config中如下一行(注意版本号的区别)： </p>
<p></p>
<pre class="mycode">&lt;add assembly=<span style="color: #a31515">&quot;System.Data.DataSetExtensions, Version=2.0.0.0, Culture=neutral,  PublicKeyToken=B77A5C561934E089&quot;</span>/&gt;</pre>
<p><a href="http://11011.net/software/vspaste"></a>修改为： </p>
<p></p>
<pre class="mycode">&lt;add assembly=<span style="color: #a31515">&quot;System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&quot;</span>/&gt;</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>9、下载更新过的Microsoft Silverlight 1.1 Tools Alpha for Visual Studio 2008</p>
<p>装载Visual Studio 2008时这些工具不会自动准备好。所以如果要做与Silverlight 1.1相关的开发，就得自己把它们弄过来。</p>
<p>10、把您的解决方案都升级为Visual Studio 2008的格式</p>
<p>这是一个节省您很多时间的相当大的一个问题。由于Visual Studio 2008的解决方案文件和工程文件使用了一种新的格式，用Visual Studio 2008打开这些解决方案和工程会把它们升级。如果需要升级的工程很多，在命令行运行 devenv.com /Upgrade 命令可以加快升级速度。</p>
<p>这些技巧可以帮助开发者在初试Visual Studio 2008的时候一切顺利。更多有关Visual Studio 2008的信息可以在微软公司的 MSDN 网站和Scott Guthrie的blog上找到。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmind.com/archives/350/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

