<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[GoalBell.Net(Do&nbsp;stuff&nbsp;on&nbsp;dotnet)]]></title>
<link>http://blog.pfan.cn/goalbell</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[最完的htaccess文件用法收集整理]]></title>
		<link>http://blog.pfan.cn/goalbell/52067.html</link>
		<description><![CDATA[1.时区设置
有些时候，当你在PHP里使用date或mktime函数时，由于时区的不同，它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。
1.SetEnv TZ Australia/Melbourne&nbsp;
2. 搜索引擎友好的301永久转向方法
为什么这是搜索引擎友好的呢？因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。
1.Redirect 301 http://www.aqee.net/home http://www.aqee.net/&nbsp; 
3. 屏蔽下载对话框
通常，当你下载东西的时候，你会看到一个对话框询问你是保持这个文件还是直接打开它。如果你不想看到这个东西，你可以把下面的一段代码放到你的.htaccess文件里。
1.AddType application/octet-stream .pdf&nbsp; 
2.AddType application/octet-stream .zip&nbsp; 
3.AddType application/octet-stream .mov&nbsp; 
4. 省去www前缀
SEO的一个原则是，确保你的网站只有一个URL。因此，你需要把所有的通过www的访问转向的非www，或者反这来。
1.RewriteEngine On&nbsp; 
2.RewriteBase /&nbsp; 
3.RewriteCond %{HTTP_HOST} ^www.lvtao.net [NC]&nbsp; 
4.RewriteRule ^(.*)$ http://lvtao.net/$1 [L,R=301]&nbsp; 
5. 个性化Error页面
对每个错误代码定制自己个性化的错误页面。
1.ErrorDocument 401 /error/401.php&nbsp; 
2.ErrorDocument 403 /error/403.php&nbsp; 
3.ErrorDocument 404 /error/404.php&nbsp; 
4.ErrorDocument 500 /error/500.php&nbsp; 
6. 压缩文件
通过压缩你的文件体积来优化网站]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2010-12-05 23:13:00</pubDate>
		</item>
				<item>
		<title><![CDATA[使用JQuery和ASP打造AutoComplete功能]]></title>
		<link>http://blog.pfan.cn/goalbell/41736.html</link>
		<description><![CDATA[客户端代码：
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;&lt;title&gt;使用JQuery和ASP打造AutoComplete功能&lt;/title&gt;&lt;script type="text/javascript" src="js/jquery-1.2.1.pack.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;&nbsp;function lookup(inputString) {&nbsp;&nbsp;if(inputString.length == 0) {&nbsp;&nbsp;&nbsp;// Hide the suggestion box.&nbsp;&nbsp;&nbsp;$('#suggestions').hide();&nbsp;&nbsp;} else {&nbsp;&nbsp;&nbsp;$.post("showmember.asp", {queryString: ""+escape(inputString)+""}, function(data){&nbsp;&nbsp;&nbsp;&nbsp;if(data.length &gt;0) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$('#suggestions').show();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$('#autoSuggestionsList').html(unescape(data));&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;}&nbsp;} // lookup&nbsp;&nbsp;fu]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2009-03-23 12:51:00</pubDate>
		</item>
				<item>
		<title><![CDATA[(翻译)泛型类型介绍]]></title>
		<link>http://blog.pfan.cn/goalbell/38264.html</link>
		<description><![CDATA[原文：http://en.csharp-online.net/Generic_types
内容：
1、为什么使用泛型？
2、泛型等价
3、专业述语
&nbsp;&nbsp; 3.1、类型参数
&nbsp;&nbsp; 3.2、类型引用
&nbsp;&nbsp; 3.3、开放类型
&nbsp;&nbsp; 3.4、构造类型
&nbsp;&nbsp; 3.5、开放构造类型
&nbsp;&nbsp; 3.6、关闭构造类型
4、基于类型参数的约束
5、泛型类
6、泛型接口
&nbsp;&nbsp;&nbsp; 6.1、定义一个泛型接口
7、泛型委托
完整的翻译请浏览:http://www.cnblogs.com/goalbell/articles/Csharp_Generic_Types_Introduction.html]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-09-14 16:56:00</pubDate>
		</item>
				<item>
		<title><![CDATA[DOM操作示例学习PartI]]></title>
		<link>http://blog.pfan.cn/goalbell/37570.html</link>
		<description><![CDATA[&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;&lt;html&gt;&nbsp;&lt;head&gt;&nbsp;&nbsp;&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt;&nbsp;&nbsp;&lt;title&gt;Dom&lt;/title&gt;&nbsp;&nbsp;&lt;script language="JavaScript"&gt;&nbsp;&nbsp;&nbsp;&nbsp; function create(){&nbsp; //创建一个li元素,并把添加到 元素id为domli1之前.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var domdiv=document.getElementById('domul');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var domli=document.createElement('li');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var domlie=document.createTextNode('domli3');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; domli.appendChild(domlie);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; domdiv.appendChild(domli);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; domli.setAttribute('id','domli3');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; domdiv.insertBefore(document.getElementById('domli3'),document.getElementById('domli1'));&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;function copy(){ //复制ul元素下所有子元素&nbsp;&nbsp;&nbsp;&nbsp]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-08-14 00:03:00</pubDate>
		</item>
				<item>
		<title><![CDATA[使用ASP创建数组]]></title>
		<link>http://blog.pfan.cn/goalbell/37443.html</link>
		<description><![CDATA[&lt;%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%&gt;
&lt;%&nbsp;'判断传递的值是否为数组,如果为空的话，就分配一个空数组&nbsp; function arrayize(value)&nbsp;&nbsp;&nbsp; if isarray(value) then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrayize=value&nbsp;&nbsp; elseif isEmpty(value) then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrayize=array()&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrayize=array(value)&nbsp;&nbsp; end if&nbsp; end function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; function [](value)&nbsp;&nbsp;&nbsp; []=arrayize(value)&nbsp; end function&nbsp; %&gt;
&lt;%&nbsp; '打印数组&nbsp; sub println(line)&nbsp;&nbsp;&nbsp;&nbsp; for each l in [](line)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.write(l)&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;next&nbsp; end sub&nbsp;&nbsp;&nbsp; &nbsp;%&gt;&lt;%'调用println过程call println(array("BEJ"," OLYMPIC", " GAME"," I"," LOVE"," CHINA"))%&gt;
结果显示:
BEJ OLYMPIC GAME I LOVE CHINA]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-08-09 11:28:00</pubDate>
		</item>
				<item>
		<title><![CDATA[体验JQuery的Selectors(Part&nbsp;I)]]></title>
		<link>http://blog.pfan.cn/goalbell/36198.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp; 接着上一篇文章，从这篇文章起，开始敲开了学习JQuery的大门了。最后我会分享下JQuery的Cheat Sheet。这里只会介绍些基础的JQuery以及Cure javascript的资料。在以后的学习日子里，我会介绍些面向对象编程知识和C#泛型、算法等基础知识。
&nbsp;&nbsp; 首先来看看$()的特性，这里的作用只不过是用来简便获取标签名的手法，其实可以在javascript的dom方法中可以用document.getElementsByTagName()来获取元素的Tag Name。好了阐述一下$()的使用方法：
&nbsp;&nbsp;&nbsp;&nbsp; ID:#myid用来获取元素的ID属性。$('#myid')，不管它的Tag Name是什么，匹配唯一元素的ID为myid属性。这里的唯一，依我的理解是相对于ID而言的。例如(省略了相关标签)：
&nbsp; &nbsp;$('#myid').css("border","3px solid #FF0000");&nbsp;&nbsp;&nbsp;$("p#myid").css("border","3px solid #000000");&nbsp;&nbsp;&nbsp;&lt;p id="myid"&gt;Hello World!&lt;/p&gt;&nbsp;&nbsp; &lt;div id="myid"&gt;Hello JQuery!&lt;/div&gt;&nbsp;&nbsp;&nbsp;它执行的结果是作用于显示段落元素p的样式。这个因为在document中，每一个ID仅可以使用一次，并且是唯一的。所以它会首先匹配第一个元素p。
&nbsp; Class:.myclass用来获取元素的css类名。$('.myid')用来匹配元素中含有myid的css类名。例如：
&nbsp;&nbsp;&nbsp; &nbsp;$('p.myid').css("border","3px solid #FF0000");&nbsp;&nbsp;&nbsp;&nbsp; $('div.myid1').css("border","3px solid #000000");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-06-19 00:47:00</pubDate>
		</item>
				<item>
		<title><![CDATA[体验JQuery的万能selectors]]></title>
		<link>http://blog.pfan.cn/goalbell/36143.html</link>
		<description><![CDATA[&nbsp; 用JQuery这个强大而优秀的javascript库做了一个简单的反馈表单，因为这几天都在看JQuery的有关资料，所以接下来的几日，我为陆续介绍下JQuery的有关特性。我都是刚刚开始学的，开始看&lt;&lt;JQuery Reference Guide&gt;&gt;和JQuery官方上的有关文档资料，都是配合起来看效果好很多。看了一下，体验一下JQuery的Selectors特性。
Cure &nbsp;Code：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;&lt;html&gt;&nbsp;&lt;head&gt;&nbsp;&nbsp;&lt;meta http-equiv="Content-Type" content="text/html; charset=GB2312"&gt;&nbsp;&nbsp;&lt;title&gt;Simple form&lt;/title&gt;&nbsp;&nbsp;&lt;script language="JavaScript"&nbsp; src="lib/jquery/jquery.js"&gt;&lt;/script&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script language="JavaScript"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(document).ready(function(){&nbsp;&nbsp;&nbsp;&nbsp;$('span#title').css("border","3px solid #FF0000");&nbsp;&nbsp;&nbsp;&nbsp;$('p&gt;span').css("border-bottom","1px dotted #000000");&nbsp;&nbsp;&nbsp;&nbsp;$('dt&gt;label').css("float","left");&nbsp;&nbsp;&nb]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-06-15 18:26:00</pubDate>
		</item>
				<item>
		<title><![CDATA[使用ASP.NET2.0建立三层架构的web应用程序系列]]></title>
		<link>http://blog.pfan.cn/goalbell/34307.html</link>
		<description><![CDATA[使用ASP.NET2.0建立三层架构的web应用程序系列Part1
使用ASP.NET2.0建立三层架构的web应用程序系列Part2
使用ASP.NET2.0建立三层架构的web应用程序系列Part3]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-04-18 21:03:00</pubDate>
		</item>
				<item>
		<title><![CDATA[(翻译)ASP.NET的基础知识]]></title>
		<link>http://blog.pfan.cn/goalbell/33619.html</link>
		<description><![CDATA[//------------------------------------------------------------------
翻译：ASP.NET Basics: Foundation of ASP.NET 
译者:goalbell
E-mail:goalbell@gmail.com
//------------------------------------------------------------------
以下是来自一些一起合并的资源：
什么是ASP.NET？
Microsoft ASP.NET是一种服务器端的技术，能够使到编程人员建立动态网站、web应用程序，以及XML Web服务。它是.NET基于建立CLR环境上的一部分。因此编程人员可以使用任何.NET兼容的语言来编写ASP.NET代码。
ASP.NET 1.1与ASP.NET 2.0之间有什么区别？
一个包括ASP.NET 1.1与ASP.NET 2.0之间有什么区别的图表可以在这里（http://www.codeproject.com/aspnet/ComparisonASP1xASP20.asp）找到。
哪个是ASP.NET最新的版本？先前发布的版本是什么？
最新的ASP.NET版本是2.0。以下是有三个ASP.NET版本发布的日期：
ASP.NET 1.0 -在2002.1.16发布
ASP.NET1.1-在2003.4.24发布
ASP.NET2.0-在2005.11.7发布
另外，ASP.NET3.5在2007年底试验性地发布。
解释ASP.NET2.0的事件生命周期？（详细参考:http://www.cnblogs.com/me-sa/archive/2008/03/17/LifeCycle.html）
这些事件发生在以下的顺序。最好打开跟踪（tracing）(&lt;% @Page Trace="true"%&gt;)以及跟踪以下的事件：
PreInit - 这个事件代表页面生命周期的入口点。如果你需要以编程的方式（programmatically）改变模版页（Master page）或者主题，然后这会触发该事件。动态控件被创建在这个事件里面。
Init - 在控件集合的每一个控件被初始化。
Init Complete - 页面已]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-03-27 22:41:00</pubDate>
		</item>
				<item>
		<title><![CDATA[使用ISAPI_Rewrite实现UrlRewrite]]></title>
		<link>http://blog.pfan.cn/goalbell/33230.html</link>
		<description><![CDATA[本篇文章讲述一下使用ISAPI_Rewrite实现UrlRewrite。我使用的环境是Win2003SP2+IIS6.0。
Step1：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在http://www.isapirewrite.com/下载一个ISAPI_Rewrite3 Lite免费的版本使用。下载并安装。
Step2：
&nbsp;&nbsp;&nbsp; 打开IIS，右键网站属性，在ISAPI_Rewrite上输写:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteRule /ZBlog/catalog-([0-9]*).html /ZBlog/catalog.asp\?cate=$1
应用保存好就可以了。
Step3：
&nbsp; 打开网址进行测试：http://tengfeiblog.vicp.net/ZBlog/catalog-1.html与http://tengfeiblog.vicp.net/ZBlog/catalog.asp?cate=1实现的效果是一样的。
最后有关ISAPI_Rewrite使用的中文手册请浏览：
http://www.biglee.cn/blog/article.asp?id=71
&nbsp;&nbsp;&nbsp;]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-03-07 23:33:00</pubDate>
		</item>
				<item>
		<title><![CDATA[实现中英文版网站的转换]]></title>
		<link>http://blog.pfan.cn/goalbell/33229.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这篇文章主要讲实现中英文版网站转换的两种方法。第一种方法，建立数据表的时候增加另外一个字段，目的用来存放英文的内容。例如：字段NewsContent用来存放中文的内容，那么NewsContenten就用来存放英文的内容了；同时图片又要做两份了,图片的规定如下：例如中文的就保存为xx.jpg,英文的就要保存为xx_en.jpg。中英版网站切换的时候就要用到语言包来实现了，即系language.asp。以下就是language.asp的实现代码：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;%dim lan,Tlan=ucase(request("lng")) '获得语言种类
select case lan&nbsp; case "CHN"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '中文&nbsp;&nbsp;&nbsp;&nbsp; Session("Language")=1
&nbsp;&nbsp;case "EN"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '英语&nbsp;&nbsp;&nbsp;&nbsp; session("Language")=2
&nbsp; case else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Session("Language")=3end sel]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-03-07 22:57:00</pubDate>
		</item>
				<item>
		<title><![CDATA[单步调试与.Net&nbsp;Framework&nbsp;Source&nbsp;Code的发布]]></title>
		<link>http://blog.pfan.cn/goalbell/33102.html</link>
		<description><![CDATA[&nbsp; 文章主要阐述两个方面的主要内容：第一、.Net Framework Source Code的发布；第二、如何对.Net Framework Source Code进行单步调试。
&nbsp; 第一、.Net Framework Source Code的发布。
&nbsp;&nbsp;&nbsp;&nbsp;Scottgu发布的一篇文章，已经详细说明了开源的Libraries。这里，我想讲的是.Net Framework Source Code是基于MS-RL(Microsoft Reference License)许可下发布的。这里有一篇关于.Net Framework Source Code的文章ttp://blog.joycode.com/scottgu/archive/2007/10/04/109100.aspx，有兴趣的朋友可以阅读一下。
&nbsp;第二、如何对.Net Framework Source Code进行单步调试。
这里我主要针对VS2005IDE环境下对.Net Framework Source Code的单步调试。首先，在Codeplex的网站下载一个.Net Mass Downloader的程序，这个程序主要用来从微软符号服务器下载源代码到本地硬盘。这里有几点要注意的：你必须先下载.Net Framework3.5,3.0,2.0的安装包，并安装完成后方可下载，否则的话，你会下载不到任何源代码。打开VS2005命令提示窗口，输入命令，如下：C:\netmassdownloader&gt;netmassdownloader -d "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5" -d "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0" -d "c:\Windows\Microsoft.net\framework\v2.0.50727" -output C:\ReferenceSource。这时候的下载将会花费你很长的时间。接着它便会将源代码逐个下载到C盘的ReferenceSource文件夹里面。然后，打开VS2005，在工具-&gt;选项-&gt;调试-&gt;]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-03-01 19:31:00</pubDate>
		</item>
				<item>
		<title><![CDATA[给中国学生的第三封信（成功、自信、快乐）]]></title>
		<link>http://blog.pfan.cn/goalbell/31872.html</link>
		<description><![CDATA[给中国学生的第三封信 
成功、自信、快乐
李开复2004年5月
此前，我和中国学生的多次交流都是围绕如何达到优秀和卓越、如何成为领导人才而展开的。最近，在新浪网的聊天室和我收到的许多电子邮件中，我发现更多的中国学生需要知道的不是如何从优秀到卓越，而是如何从迷茫到积极、从失败到成功、从自卑到自信、从惆怅到快乐、从恐惧到乐观。一个极端的例子是2004年2月发生在云南大学的马加爵事件。马加爵残忍地杀害了自己的4名同学。但从马家爵被捕后与心理学家的对话内容看来，他应该不是一个邪恶的人，而是一个迷失方向、缺乏自信、性格封闭的孩子。他和很多大学生一样，迫切希望知道如何才能获得成功、自信和快乐。我这一封信是写给那些渴望成功但又觉得成功遥不可及，渴望自信却又总是自怨自艾，渴望快乐但又不知快乐为何物的学生看的。希望这封信能够带给读者一个关于成功的崭新定义，鼓励读者认识和肯定自己，做一个快乐的人。也希望这封信能够帮助读者理解成功、自信、快乐是一个良性循环：从成功里可以得到自信和快乐，从自信里可以得到快乐和成功，从快乐里可以得到成功和自信。&nbsp;
成功就是成为最好的你自己&nbsp;
美国作家威廉·福克纳说过：“不要竭尽全力去和你的同僚竞争。你应该在乎的是，你要比现在的你强。”中国社会有个通病，就是希望每个人都照一个模式发展，衡量每个人是否“成功”采用的也是一元化的标准：在学校看成绩，进入社会看名利。尤其是在今天的中国,人们对财富的追求首当其冲，各行各业,对一个人的成功的评价，更多地以个人财富为指标。但是，有了最好的成绩就能对社会有所贡献吗？有名利就一定能快乐吗？真正的成功应是多元化的。成功可能是你创造了新的财富或技术，可能是你为他人带来了快乐，可能是你在工作岗位上得到了别人的信任，也可能是你找到了回归自我、与世无争的生活方式。每个人的成功都是独一无二的。所以，凌志军在其《成长》一书中得出的重要结论是“成为最好的你自己”。也就是说，成功不是要和别人相比，而是要了解自己，发掘自己的目标和兴趣，努力不懈地追求进步，让自己的每一天都比昨天更好。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-01-07 00:03:00</pubDate>
		</item>
				<item>
		<title><![CDATA[给中国学生的第二封信（从优秀到卓越）]]></title>
		<link>http://blog.pfan.cn/goalbell/31871.html</link>
		<description><![CDATA[给中国学生的第二封信 
从优秀到卓越
李开复2003年12月
如何提高个人素质
&nbsp;
这“给中国学生的第二封信”是为那些希望不断提高自己，不断学习事业成功所必需的基本技能和领导艺术的人所写的。第一部分重申了《给中国学生的一封信》中讨论过的有关个人素质的话题；第二部分阐释了领导能力中最重要的情商；第三部分给出了卓越的领导所必须具备的、有别于普通人的基本特质。&nbsp;
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 诚信和正直一个人的人品如何直接决定了这个人对于社会的价值。而在与人品相关的各种因素之中，诚信又是最为重要的一点。微软公司在用人时非常强调诚信，我们只雇佣那些最值得信赖的人。去年，当微软列出对员工期望的“核心价值观”时，诚信（honesty and integrity）被列为一位。在我发表“第一封信”后，曾经有一位同学问我：为什么一个公司要涉入员工的道德呢？我回答：这是为了公司自己的利益。例如，一位应聘者在面试时曾对我说，如果他能加入微软公司，他就可以把他在前一家公司所做的发明成果带过来。对这样的人，无论他]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-01-07 00:01:00</pubDate>
		</item>
				<item>
		<title><![CDATA[给中国学生的第一封信(从诚信谈起)]]></title>
		<link>http://blog.pfan.cn/goalbell/31870.html</link>
		<description><![CDATA[给中国学生的第一封信从诚信谈起 
李开复2000年4月
&nbsp;
&nbsp;
今年5月23日，比尔·盖茨先生在《华尔街日报》上撰文，支持和敦促美国政府给予中国永久性正常贸易国待遇。文中，他特别谈到了在清华大学与中国大学生那次对话的愉快经历以及因此而留下的深刻印象。 这篇文章令我不禁想到，在中国的这两年来，我工作中最大的享受也是到国内各高校与学生们进行交流。这些访问和交流使得我有机会与成千上万的青年学生就他们所关心的事业、前途等问题进行面对面的沟通。中国学生的聪明、好学和上进给我留下了非常深刻的印象。 在与这些青年学生的交流过程中，我发现有一些问题是大家都十分关心的。那些已经获得国外大学奖学金的学生，大都希望我谈一谈应该如何度过自己在美国的学习生涯；那些决定留在国内发展的学生，非常关心如何确定一个正确的方向，并以最快的速度在科研和学业方面取得成功；还有那些刚刚踏进大学校门的学生，则希望我能讲给他们一些学习、做人的经验之谈。最近，更有一些学生关心网络信息产业的发展，希望了解美国的大学生是如何创业和致富的。看到这么多双渴求知识、充满希望的眼睛，我突然产生了一种冲动，那就是给中国的学生们写一封信，将我与同学们在交流过程中产生的一些想法以及我要对中国学生的一些忠告写出来，帮助他们在未来的留学、工作或者创业的过程中能够人格更完美、生活更顺利，事业更成功。坚守诚信、正直的原则我在苹果公司工作时，曾有一位刚被我提拔的经理，由于受到下属的批评，非常沮丧地要我再找一个人来接替他。我问他：“你认为你的长处是什么？”他说，“我自信自己是一个非常正直的人。”我告诉他：“当初我提拔你做经理，就是因为你是一个公正无私的人。管理经验和沟通能力是可以在日后工作中学习的，但一颗正直的心是无价的。”我支持他继续干下去，并在管理和沟通技巧方面给予他很多指点和帮助。最终，他不负众望，成为一个出色的管理人才。现在，他已经是一个颇为成功的公司的首席技术官。 与之相反，我曾面试过一位求职者。他在技术、管理方面都相当的出色。但是，在谈论之余，他表示，如果我录取他，他甚至可以把在原来公司工作时的一项发明带过来。随后他似乎觉察到这样说有些不妥，特作声明：那些工作是他在下班之后做的，他的老板并不知道。这一番谈话之后，对于我而言，不论他的能力和工作水平怎样，我都肯定不会录用他。原因是他缺乏最基本的处世准则和最]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2008-01-06 23:58:00</pubDate>
		</item>
				<item>
		<title><![CDATA[爱因斯坦：三篇著名演讲]]></title>
		<link>http://blog.pfan.cn/goalbell/31473.html</link>
		<description><![CDATA[我的世界观 
&nbsp;&nbsp;&nbsp;&nbsp; 我们这些总有一死的人的命运是多么奇特呀！我们每个人在这个世界上都只作一个短暂的逗留；目的何在，却无所知，尽管有时自以为对此若有所感。但是，不必深思，只要从日常生活就可以明样一些人，他们的喜悦和健康关系着我们自己的全部幸福；然后是为许多我们所不认识的人，他们的命运通过同情的纽带同我们密切结合在一起。我每天上百次地提醒自己：我的精神生活和物质生活都依靠着别人（包括生者和死者）的劳动，我必须尽力以同样的分量来报偿我所领受了的和至今还在领受着的东西。我强烈地向往着俭朴的生活，并且时常为发觉自己占用了同胞的过多劳动而难以忍受。我认为阶级的区分是不合理的，它最后所凭借的是以暴力为根据。我也相信，简单淳朴的生活，无论在身体上还是在精神上，对每个人都是有益的。 　　我完全不相信人类会有那种在哲学意义上的自由。每一个人的行为，不仅受着外界的强迫，而且还要适应内心的必然。叔本华说：“人虽然能够做他所想做的，但不能要他所想要的。”这句话从我青年时代起，就对我是一个真正的启示；在我自己和别人生活面临困难的时候，它总是使我们得到安慰，并且永远是宽容的源泉。这种体会可以宽大为怀地减轻那种使人气馁的责任感，也可以防止我们过于严肃地对待自己和别人；它还导致一种特别给幽默以应有地位的人生观。 　　要追究一个人自己或一切生物生存的意义或目的，从客观的观点看来，我总觉得是愚蠢可笑的。可是每个人都有一定的理想，这种理想决定着他的努力和判断的方向。就在这个意义上，我从来不把安逸和享乐看作是生活目的本身——这种伦理基础，我叫它猪栏的理想。照亮我的道路，并且不断地给我新的勇气去愉快地正视生活的理想，是真、善和美。要是没有志同道合者之间的亲切感情，要不是全神贯注于客观世界——那个在艺术和科学工作领域里永远达不到的对象，那么在我看来，生活就会是空虚的。人们所努力追求的庸俗的目标——财产、虚荣、奢侈的生活——我总觉得都是可鄙的。 　　我对社会正义和社会责任的强烈感觉，同我显然的对别人和社会直接接触的淡漠，两者总是形成古怪的对照。我实在是一个“孤独的旅客”，我未曾全心全意地属于我的国家，我的家庭，我的朋友，甚至我最接近的亲人；在所有这些关系面前，我总是感觉到有一定距离并且需要保持孤独——而这种感受正与年俱增。人们会清楚地发觉，同别人的相互了解和协调一致是]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2007-12-17 12:12:00</pubDate>
		</item>
				<item>
		<title><![CDATA[李开复:算法的力量]]></title>
		<link>http://blog.pfan.cn/goalbell/30841.html</link>
		<description><![CDATA[算法是计算机科学领域最重要的基石之一，但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解，认为学计算机就是学各种编程语言，或者认为，学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学，但是学习计算机算法和理论更重要，因为计算机算法和理论更重要，因为计算机语言和开发平台日新月异，但万变不离其宗的是那些算法和理论，例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上，有位同学生动地把这些基础课程比拟为“内功”，把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式，没有功力，是不可能成为高手的。 算法与我当我在1980年转入计算机科学系时，还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说：“知道为什么只有你们系要加一个‘科学’，而没有‘物理科学系’或‘化学科学系’吗？因为人家是真的科学，不需要画蛇添足，而你们自己心虚，生怕不‘科学’，才这样欲盖弥彰。”其实，这点他们彻底弄错了。真正学懂计算机的人（不只是“编程匠”）都对数学有相当的造诣，既能用科学家的严谨思维来求证，也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。记得我读博时写的Othello对弈软件获得了世界冠军。当时，得第二名的人认为我是靠侥幸才打赢他，不服气地问我的程序平均每秒能搜索多少步棋，当他发现我的软件在搜索效率上比他快60多倍时，才彻底服输。为什么在同样的机器上，我可以多做60倍的工作呢？这是因为我用了一个最新的算法，能够把一个指数函数转换成四个近似的表，只要用常数时间就可得到近似的答案。在这个例子中，是否用对算法才是能否赢得世界冠军的关键。还记得1988年贝尔实验室副总裁亲自来访问我的学校，目的就是为了想了解为什么他们的语音识别系统比我开发的慢几十倍，而且，在扩大至大词汇系统后，速度差异更有几百倍之多。他们虽然买了几台超级计算机，勉强让系统跑了起来，但这么贵的计算资源让他们的产品部门很反感，因为“昂贵”的技术是没有应用前景的。在与他们探讨的过程中，我惊讶地发现一个O(n*m)的动态规划(dynamic programming)居然被他们做成了O(n*n*m)。更惊讶的是，他们还为此发表了不少文章，甚至为自己的算法起了一个很特别的名字]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2007-11-09 21:51:00</pubDate>
		</item>
				<item>
		<title><![CDATA[程序员怎样学数学]]></title>
		<link>http://blog.pfan.cn/goalbell/30840.html</link>
		<description><![CDATA[自从我读了Johnny von Neumann的传记,我已经为弥补我糟糕的数学技能花了15个月了.读了大量的数学书籍,不过呢,似乎我还有更多没有读.当然我会接着做的.现在我就来告诉你这些.这并不包括传统的智慧首先:程序员不认为他们需要了解数学.我常常听到这样的话;我不知道还有会不同意这个的.甚至于以前是主修数学的程序员也告诉我他们真的不是常常使用到数学!他们说 更重要的是要去了解设计模式,面向对象原理,软件工具,界面设计,以及一些类似的东西.你了解吗?他们完全正确.你不需要了解很多数学你就能做个很棒,很专业的程序员.但是呢,同时你也不是真的需要知道如何来编程.我们要面对的是:有很多专业的程序员,他们认识到他们不是非常擅长数学,但他们还是寻找方法去提升.如果你突然觉得自己好烂,周围的人都远远的超过你,你会怎么想呢?好,你可能会发现自己善于项目管理,或者人事管理,或者界面设计,或技术写作,或者系统管理,还有许多其他程序员不必去精通的.你会开始堆积那些想法(因为工作永远干不完),当你发现一些你能掌握的东西时,你很可能会转移去全职的做这个工作.实际上,我认为有些东西你不需要了解,当目前你还能够赖以生存.所以他们是对的:你不需要了解数学,并且没有她你也能过的很好.但是最近我学到一些东西可能会让你也感到惊喜:在你知道如何编程之后,数学更容易学会.实际上,如果你先学数学,然后半路出家做程序员的话,你会发现编程简直就是小菜一碟.学校里教数学的方式都错了.仅仅是教学的方法错了,不是教数学本身错.如果你以正确 的方式学习数学的话,你会学的更快,记住这会更长,但对你作为一个程序员来说也更有价值.哪怕了解一点点相关的数学知识就能让你写出可爱有趣的程序,否则会有些小难度.换 句话讲,数学是可以慢慢学的,只要你有时间.没人能了解所有的数学,就是最棒的数学家也不是.数学领域正不断的扩展,当人们发明 新的形式去解决自己的问题时.一些给出的数学问题,也正如编程,不止一种方法可以去 解决他.你可以挑个你最喜欢的.数学是......嗯,请别告诉别人我说过这个哈;当然我也不指望谁能邀请我参加这样的 派对,当我还活着的时候.但是,数学其实就是......我还是小声的说吧,听好了:(她其 实就是一种乐趣啦!)The Math You Learned (And Forgot)你学到的数学(和你忘了的)这儿是我能]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2007-11-09 21:48:00</pubDate>
		</item>
				<item>
		<title><![CDATA[实现直接插入排序&nbsp;---&nbsp;算法开篇(二)]]></title>
		<link>http://blog.pfan.cn/goalbell/30564.html</link>
		<description><![CDATA[这篇文章主要着重讲下直接插入排序算法的分析过程与源代码实现方法:
直接插入排序算法原理,在这里我不多说了,各位可以参考&lt;&lt;算法导论中文版&gt;&gt;这本书。
这里的算法实现主要把整型变量r作为监视哨，存放待插入的记录。监视哨有两个作用：一个用来备份待插入的记录，以便前面关键字较大的记录后移；二是防止关键字比较时越界，当待插入记录list[i]比较到r时能结束比较。
直接插入排序的C#实现代码：
using System;using System.Collections.Generic;using System.Text;
namespace DataStructureConsoleApplication{&nbsp;&nbsp; public class InsertSort&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void Sort(int[] list)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i, j;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i = 1; i &lt; list.Length; i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int r = list[i];//将待插入的记录存放到监视哨r中。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j = i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2007-10-29 15:44:00</pubDate>
		</item>
				<item>
		<title><![CDATA[实现定制集合类&nbsp;---&nbsp;基础篇]]></title>
		<link>http://blog.pfan.cn/goalbell/30543.html</link>
		<description><![CDATA[实现代码原理如下：
1、继承一个CollectionBase抽象类,该类又继承IList, ICollection, IEnumerable接口。而该抽象类提供一套的抽象方法并且提供数据结构InnerList(ArrayList)来定制自己的集合类。后续文章会介绍一下ArrayList这个数据结构。
2、实现代码如下：
&nbsp;using System;using System.Collections.Generic;using System.Collections;using System.Text;
namespace DataStructureConsoleApplication{&nbsp;&nbsp;&nbsp; class CollectionProgram:CollectionBase&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //implementing the Add Method using the ArrayList &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void Add(object item)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InnerList.Add(item);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //implementing the Remove Method using the ArrayList &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void Remove(object item)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InnerL]]></description>
		<author><![CDATA[goalbell]]></author>
		<pubDate>2007-10-28 23:33:00</pubDate>
		</item>
		</channel>
</rss>