<?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>柯南 -- Become Professional</title>
	<atom:link href="http://www.cloved.cn/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.cloved.cn</link>
	<description>冬天的雪地里,天使告诉我,穿过这片森林,我就能看到你了.</description>
	<lastBuildDate>Sat, 17 Jul 2010 07:40:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>IIS 7 下面配置 PHP 5.3.2</title>
		<link>http://www.cloved.cn/?p=181</link>
		<comments>http://www.cloved.cn/?p=181#comments</comments>
		<pubDate>Sat, 17 Jul 2010 07:40:25 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=181</guid>
		<description><![CDATA[Windows7下使用IIS7与FastCGI模块配置PHP5.3.2
1.下载官网php-5.3.2-Win32-VC9-x86.zip压缩包   2.解压缩代码压缩包并配置    解压缩后将文件夹中的php.ini-development修改为php.ini，然后用文本编辑器修改以下内容... ]]></description>
			<content:encoded><![CDATA[<p>Windows7下使用IIS7与FastCGI模块配置PHP5.3.2</p>
<p>1.下载官网php-5.3.2-Win32-VC9-x86.zip压缩包   <br />2.解压缩代码压缩包并配置    <br />解压缩后将文件夹中的php.ini-development修改为php.ini，然后用文本编辑器修改以下内容    <br />extension_dir = &quot;D:\PHP程序文件目录\ext&quot;    <br />去掉;    <br />extension=php_mysql.dll    <br />extension=php_mysqli.dll    <br />等扩展前面的分号注释,具体模块请根据自己的需要开启和关闭    <br />date.timezone = &quot;Asia/Shanghai&quot;    <br />上面这项是PHP5.3必须配置的项目，否则运行phpinfo时会出现Waring警告    <br />CGI配置    <br />fastcgi.impersonate = 1    <br />fastcgi.logging = 0    <br />cgi.fix_pathinfo = 1    <br />cgi.force_redirect = 0</p>
<p> <span id="more-181"></span>
<p>3.第三步   <br />.选择左侧的网站 &#8211; Default Web Site, 再双击右侧的“处理程序映射”    <br />.进入管理页面后再选择右侧菜单的“添加模块映射”    <br />请求路径：填写*.php    <br />模块下拉选：FastCgiModule    <br />可执行文件选D:\php目录\php-cgi.exe    <br />名称随便填写。</p>
<p>另   <br />HTTP 错误 500.0 &#8211; Internal Server Error    <br />D:\php5\php-cgi.exe &#8211; FastCGI 进程意外退出    <br />问题分析:    <br />cmd 后到d:\php根目录执行语句php.exe -v    <br />检查php配置是否正确</p>
<p>php.exe -v看有没有多加载，去掉即可。</p>
<p>php下面很多东西都是自动加载了,所以如果偷懒的同学把旧的配置文件拷过来的话发现很多组件都不需要设置加载了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=181</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCP/IP网络编程之四书五经 (转)</title>
		<link>http://www.cloved.cn/?p=180</link>
		<comments>http://www.cloved.cn/?p=180#comments</comments>
		<pubDate>Tue, 06 Jul 2010 15:51:35 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=180</guid>
		<description><![CDATA[TCP/IP网络编程之四书五经   创建人：DearBook技术编辑 DearBook_Tech&#160; 查看/发表评论&#160; 本书评获得 0&#160; D币&#160; [本文发表于《程序员》杂志2003年第12期，作者孟岩]基于TCP/IP的编程格外重要。... ]]></description>
			<content:encoded><![CDATA[<p>TCP/IP网络编程之四书五经   <br />创建人：DearBook技术编辑 DearBook_Tech&#160; 查看/发表评论&#160; 本书评获得 0&#160; D币&#160; <br />[本文发表于《程序员》杂志2003年第12期，作者孟岩]基于TCP/IP的编程格外重要。从应用上来说，现在直接利用C层次Socket API进行TCP/IP编程的人确实越来越少了，各种现成的框架（如ACE、Java、.NET FCL）和控件（如IP*Works）大大简化了TCP/IP编程的难度。高层的框架和控件总结了TCP/IP的主要使用模式，并且进行了抽象和封装，这固然非常好，但是想要真正掌握TCP/IP网络编程的真谛，恐怕需要认真学习下面几本著作。</p>
<p>&#160;</p>
<p> <span id="more-180"></span>
<p>[ 查看本指南所提及的书籍 ]    <br />[本文发表于《程序员》杂志2003年第12期，作者孟岩]    <br />TCP/IP协议是当前广域网和局域网通用的网络协议，因此，基于TCP/IP的编程就格外重要。从应用上来说，现在直接利用C层次Socket API进行TCP/IP编程的人确实越来越少了，各种现成的框架（如ACE、Java、.NET FCL）和控件（如IP*Works）大大简化了TCP/IP编程的难度。但是，如果想要在这个领域达到融会贯通的地步，不打下坚实的基础是不可想象的。正如Richard Stevens在TCP/IP Illustrated中所说，在网络编程领域，开发者所遇到的实际问题中，大约有90%都与开发者对于TCP/IP的理解相关。高层的框架和控件总结了TCP/IP的主要使用模式，并且进行了抽象和封装，这固然非常好，但是想要真正掌握TCP/IP网络编程的真谛，恐怕需要认真学习下面几本著作。</p>
<p>1.Richard Stevens，TCP/IP Illustrated, Vol.1 / Vol.2 / Vol.3   <br />《 TCP/IP详解(第一卷)协议 》《 TCP/IP详解 卷2：实现 》《 TCP/IP详解 卷3：TCP事务协议、HTTP、NNTP和UNIX域协议 》    <br />《 TCP/IP详解卷1:协议（英文版） 》《 TCP/IP详解卷2：实现（英文版） 》《 TCP/IP详解卷3：TCP事务协议、HTTP、NNTP和UNIX域协议（英文版） 》    <br />这是一本众望所归的书。自从1994年出版以来，TCP/IP Illustrated就一直是TCP/IP领域具有传奇色彩的圣经级著作。这一套著作共分为三卷，第一卷通过实际动手实验的方式深入探讨TCP/IP协议，第二卷逐行解释了4.4BSD系统TCP/IP协议栈的15,000行实现代码，第三卷探讨了T/TCP和HTTP等高级协议。整套书最大的特点就是贴近实战，完全符合程序员的胃口，不空谈，不说教，用实验和代码来说明问题。写作这样的书，对于作者要求非常之高，即使在今天看来，敢于这么写作的作者也是凤毛麟角。Richard Stevens以他的写作风格和作品，在TCP/IP编程领域竖立起一座丰碑，令其他作者高山仰止，心向往之。在下文将要提到的Effective TCP/IP Programming一书中，甚至把“读Stevens的书”专门列为一个条款。这套著作的地位，可见一斑。</p>
<p>学习这套书，与其说需要读，不如说需要做。Stevens最强调程序员的两项能力，一是读代码，二是动手实验。他在自己所有的书里都敦促读者将范例输入电脑，亲自编译、运行和调试。这当然需要花费大量的时间和精力，但是如果有读者能够扎扎实实地这么做，那么他所付出的每一分钟都将会有双倍的回报。</p>
<p>2.Richard Stevens, UNIX Network Programming, 2/e, Vol.1 / Vol.2   <br />《 UNIX网络编程卷2:进程间通信（影印版·第2版） 》《 UNIX网络编程（第2版）第1卷：套接口API和X/Open传输接口API 》    <br />又是Richard Stevens，又是经典名著。这本书的第一版问世于1990年，是Stevens的开山之作，一举奠定了Stevens在网络编程领域的重要地位。如果说TCP/IP Illustrated解答了“什么是TCP/IP”和“TCP/IP是怎么实现的”两个问题，那么这本书则是在回答“怎样运用TCP/IP开发网络应用程序”的问题。显而易见，这本书的内容更加贴近普通程序员，因此，大多数人是先学习UNP，然后再深入学习TCP/IP Illustrated。</p>
<p>这也是一本让人伤感的书，Richard Stevens从1997年开始撰写此书第二版，制定了一个宏大的计划，卷1阐述Socket API和TLI API，卷2阐述除Socket之外的其他IPC机制，卷3阐述网络编程应用。应该说，卷1和卷2都是为了给卷3打基础。然而天妒英才，就在世人翘首企盼第三卷的时候，1999年9月1日，Richard Stevens英年早逝。留下这套未完成的巨著，让人感慨不已。不过最近从Prentice Hall传来好消息，出版社已经找到合适的作者，重新修订这套经典巨著，其中第一卷即将问世，并且已经在Amazon上热卖。相信会有当世高人沿着Stevens的足迹给我们续写第三卷的，让我们拭目以待。</p>
<p>可选图书：Douglas E. Comer, Internetworking with TCP/IP, Vol.1 / Vol.2 / Vol.3   <br />《 用TCP/IP进行网际互联第一卷：原理、协议与结构（第四版） 》《 用TCP/IP进行网际互联-第二卷：设计、实现与内核（第三版） 》《 用TCP/IP进行网际互联 第三卷：客户-服务器编程与应用（Linux/POSIX套接字版） 》    <br />这套书也是三卷，前两卷内容与TCP/IP Illustrated相似，最后一卷则偏重应用程序的开发。总体上来看，这三卷书的内容与上述Stevens的两套著作相当。Comer教授的这套书定位是教材，因此写出来中规中矩，寓精彩于平和之中。读者如果喜欢阅读教材风格的书，这套应该是很好的选择。</p>
<p>3.Jon C. Snader, Effective TCP/IP Programming   <br />（中文版《 高级TCP/IP编程 》，中国电力出版社）    <br />自彻读Effective C++之后，我总结出一条经验。无论在哪个领域中，一旦掌握基础知识，则应该迅速去寻找该领域中一本名为“Effective XXX”的著作并阅读之，一定可取得事半功倍的效果。Effective C++如此，Effective STL如此，Effective Java如此，这本Effective TCP/IP同样如此，也是一剂功效强大的催化剂。</p>
<p>本书作者是经验丰富的TCP/IP程序员，他在这本书中总结了44个难得的TCP/IP开发经验，并且将每条经验背后的道理都详细地讲解。毫无疑问，这种“专家经验”型著作对于提高读者水平，能够起到最高效、最直接的作用。</p>
<p>初学TCP/IP的朋友可能觉得，自己应该先把基本知识熟练掌握，再看这本书，效果会更好。我认为不必如此，您可以在基本观念建立起来之后直接品读此书。这本书篇幅不大，起点不高，却对很多关键问题进行了全面而细致地介绍，在具体问题的阐述上颇有Richard Stevens之风，也是纯而又纯的程序员风格——拿代码说话。</p>
<p>系统学习和重点难点的突破相结合，历来是快速掌握一门技术的良方。由Scott Meyers开创的“Effective”之风，已有愈演愈烈之势，这是程序员们的巨大福音。我强烈建议大家，不要放过任何一本以“Effective”为名的技术书籍。</p>
<p>4. Douglas Schmidt, Steven Huston，C++ Network Programming, Vol.1 / Vol.2 （中文版将分别由华中科技大学出版社和电子工业出版社出版）   <br />《 C++网络编程 卷1：运用ACE和模式消除复杂性 》《 C++网络编程,卷2 基于ACE和框架的系统化复用 》ACE介绍    <br />今天的网络编程环境是建立在C的基础之上。如果你满足于C层次的TCP/IP编程，那么Stevens的书可以说达到了一个最高境界，你大可以登东山而小鲁。但是如果再上一个层次，考虑如何运用C++强大的抽象机制是网络编程变得更加富于艺术性，更加高效可靠，那么恐怕必须要高度重视这套书。</p>
<p>这套书共两卷，篇幅都不大，主要内容是介绍ACE。在C++领域，由于这套书被Bjarne Stroustrup编入C++ In Depth系列，因此具有崇高的地位。而在网络编程领域，也有人称赞此书为Stevens之后最重要的网络编程著作。作者Douglas Schmidt是C++、网络程序设计和模式领域中国际公认的权威专家，潜心研究C++网络编程已经十多年。他发起的ACE开源项目是目前当之无愧的最优秀和最成功的C++网络编程环境，不仅具有非常出色的可移植性，而且性能卓越。美国国防部的ARPA已经支持这个项目好几年了，其最终目的是在ACE的基础上建立可用于现代战争的分布式实时嵌入式系统。毫无疑问，ACE无论在理论上还是在实践中，都是最值得程序员关注的网络编程典范项目，而这一套两卷对ACE的介绍性书籍，也毫无疑问是最值得网络程序员品读分析的经典。学习这两本书，你可以将经典的基于C API的网络编程知识与现代面向对象、模式和框架等最新技术思想结合起来，从而使你对网络编程的认识上升到一个新的高度。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=180</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;算法与计算数学&#8221;之四书五经(转)</title>
		<link>http://www.cloved.cn/?p=179</link>
		<comments>http://www.cloved.cn/?p=179#comments</comments>
		<pubDate>Tue, 06 Jul 2010 15:50:22 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=179</guid>
		<description><![CDATA[“算法与计算数学”之四书五经
[原创] zengyi820 2004-01-09   ——————————————————————————–    &#160;&#160;&#160; 倘若你去问一个木匠学徒：你需要什么样的工具进行工作... ]]></description>
			<content:encoded><![CDATA[<p>“算法与计算数学”之四书五经</p>
<p>[原创] zengyi820 2004-01-09   <br />——————————————————————————–    <br />&#160;&#160;&#160; 倘若你去问一个木匠学徒：你需要什么样的工具进行工作，他可能会回答你：“我只要一把锤子和一个锯”。但是如果你去问一个老木工或者是大师级的建筑师，他会告诉你“我需要一些精确的工具”。由于计算机所解决的问题都是从生活中抽象出来的问题，其复杂性不言而喻，所以我们需要这样精确有效的工具去解决现实生活中的复杂问题。算法、数据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个程序员都十分清楚的。</p>
<p>&#160;&#160;&#160; 程序设计当中解决得相当一部分问题都会涉及各种各样的科学计算，这需要程序员具有什么样的基础呢？实际问题转换为程序，要经过一个对问题抽象的过程，建立起完善的数学模型，只有这样，我们才能建立一个设计良好的程序。从中我们不难看出计算数学在程序设计领域的重要性。恩师孟岩先生曾经撰文过若干技术书籍之四书五经，似乎这也成了先生的标志之一，这次冒险也凑一个……</p>
<p> <span id="more-179"></span>
<p>&#160;&#160;&#160; 作为这方面的介绍，如果不介绍下面这本唯恐大师们笑话，即是计算机程序设计的史诗TAOCP:   <br />《计算机程序设计艺术》</p>
<p>英文名称：The Art of Computer Programming   <br />作者：Donald.E.Knuth</p>
<p>&#160;&#160;&#160; Donald.E.Knuth人生最辉煌的时刻在斯坦福大学计算机系渡过，美国计算机协会图灵奖的获得者，是本领域内当之无愧的泰斗。被简称为TAOCP的这本巨著内容博大精深，几乎涵盖了计算机程序设计算法与理论最重要的内容。现在发行的只有三卷，分别为基础运算法则，半数值算法，以及分拣和搜索。总共应当有7卷。以我个人对本系列书的把握，大家除了可以如其它书籍那样阅读本书，也可以将其作为计算机程序设计的字典。毕竟内容涵盖实在是太广泛。看本书时最关注的应当是作者严谨的思维方法。每个人都有自己的读书方法，一些大师们说应当顺序读本书，因为它被写得简直就像是诗，然而这还要看大家个人的体会。至于本书的价值我觉得Bill Gates先生的话足以说明问题：“如果你认为你是一名真正优秀的程序员读Knuth的《计算机程序设计艺术》，如果你能读懂整套书的话，请给我发一份你的简历”。作者数学方面的功底造就了本书严谨的风格，虽然本书不是用当今流行的程序设计语言描述的，但这丝毫不损伤它“程序设计史诗”的地位。道理很简单，它内涵的设计思想是永远不会过时的。除非英语实在有困难，否则建议读者选用英文版。</p>
<p>&#160;&#160;&#160; 如果将TAOCP比喻成“计算机程序设计理论的荷马史诗”，那么被简称作CLRS的《算法导论》不妨称它作 “计算机算法的圣经”。</p>
<p>《算法导论》</p>
<p>英文名称：Introduction to Algorithms</p>
<p>作者：Thomas H. Cormen ，Charles E. Leiserson ，Ronald L. Rivest ，Clifford Stein</p>
<p>&#160;&#160;&#160; 本书的主要作者来自麻省理工大学计算机，作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了图灵奖，目前是算法的标准教材，美国许多名校的计算机系都使用它，国内有些院校也将本书作为算法课程的教材。另外许多专业人员也经常引用它。由于TAOCP只出版了3卷，CLRS比较起前者来则显得内容更为全面，基本包含了所有的经典算法。本书程序全部由伪代码实现，这更增添了本书的通用性，使得利用各种程序设计语言的程序员都可以作为参考。语言方面通俗，很适合作为算法教材和自学算法之用。国内的很多作品名为数据结构，从本书中断章取义，把数据结构与算法混为一谈，搞得作者自己都迷迷糊糊。这也是我不十分愿意向大家推荐国内作品的原因。你会发现现在基本上所有的数据结构与算法书籍都会将本书作为参考文献之一，更可以说明一个问题，本书是作为读者进行算法学习的最佳选择。作为本书的补充内容，我愿意向大家推荐下面的学习资料：你可以通过这个地址找到本书的所有练习答案：<a hidefocus="hidefocus" style="hide-focus: true" href="http://www.itu.dk/people/beetle/">http://www.itu.dk/people/beetle/</a> 。为了更好的学习本书中的内容，最好的指导当然是来自作者本身讲述本书的课程，读者们可以通过<a hidefocus="hidefocus" style="hide-focus: true" href="http://18.89.1.101/sma/5503fall2001/index5503fall2001.html">http://18.89.1.101/sma/5503fall2001/index5503fall2001.html</a>获得课程的录像。</p>
<p>&#160;&#160;&#160; 有两套优秀的书我不想作为单独的推荐，但作为初学算法的高级语言程序员也不失为极好的参考：   <br />&#160; Algorithms in C++以及&#160; Algorithms in Java系列。作者都是普林斯顿大学计算机系赫赫有名的教授Robert Sedgewick, 他是TAOCP作者Donald.E.Knuth大师们下的高徒。算法理论方面并不逊色于CLRS,两个版本分别为C++和Java程序员量身定做。作为专门语言的算法书籍参考，这两本也是我唯一愿意向大家推荐的。可以作为《算法导论》一书的补充。如果你对密码学算法感兴趣，那么《应用密码学》便是你的首选。</p>
<p>&#160;&#160;&#160; 计算机数学理论方面可推荐的书籍是相当多的，究竟哪些数学理论基础是我们应当涉足的，哪些基本上我们是不需要的，大家可以参考《CSDN开发高手》9月刊上的《计算机科学技术数学理论浅谈》，或者通过下面的地址浏览此文：<a hidefocus="hidefocus" style="hide-focus: true" href="http://www.cstc.net.cn/docs/docs.php?id=111">http://www.cstc.net.cn/docs/docs.php?id=111</a>    <br />离散数学在计算机数学理论领域的位置显然是首屈一指的，首先向大家推荐的就是：</p>
<p>《离散数学及其应用》</p>
<p>英文名称：Discrete Mathematics and Its Applications,Fourth Edition</p>
<p>作者：Kenneth H.Rosen</p>
<p>&#160;&#160;&#160; 本书的价值已经被全世界几百所大学所证实，作为离散数学领域的经典教材，全世界几乎所有知名的院校都曾经使用本书作为教材。以我个人观点看来，这本书可以称之为离散数学百科。书中不但介绍了离散数学的理论和方法，还有丰富的历史资料和相关学习网站资源。更为令人激动的便是这本书少有的将离散数学理论与应用结合得如此的好。你可以看到离散数学理论在逻辑电路，程序设计，商业和互联网等诸多领域的应用实例。考虑到大多数读者的基础，这里推荐给大家的是本书的中文版（原书第四版），本书的英文版（第五版）当中更增添了相当多的数学和计算机科学家的传记，是计算机科学历史不可多得的参考资料。作为教材这本书配有相当数量的练习。每一章后面还有一组课题，把学生已经学到的计算和离散数学的内容结合在一起进行训练。这本书也是我个人在学习离散数学时读的唯一的英文教材，实为一本值得推荐的好书。</p>
<p>&#160;&#160;&#160; 传统数学研究的对象过于抽象，导致对具体的问题关心不够。为了直接面向应用的需要，伟大的计算机科学家以及数学家Donald.E.Knuth在麻省理工大学提出了“具体数学”。自从那天起，“具体数学”便成了计算机科学的基础。所以下面为大家推荐的就是一本经久不衰的著作：</p>
<p>《具体数学—计算机科学基础》</p>
<p>英文名称：Concrete Mathematics A Foundation for Computer Science(Second Edition)</p>
<p>&#160;&#160;&#160; 很令人兴奋的就是这本书的主要作者正是泰斗Donald.E.Knuth以及他的同事Ronald L.Graham。书稿是他们在1970年的时候在计算机系教授研究生本门课程的基础上整理出来的教材。内容上是Knuth的巨著TAOCP第一部的扩展，有些比TAOCP中谈及地又深入了许多。重点放在高级计算机程序设计话题以及算法分析上，涉及了计算机科学领域内几乎所有可能遇到的数学知识。具体数学是离散数学和连续数学的综合，书中这点做得极为出色，介绍的内容涉及到书中许多经典问题的解答比目前广泛流传的解法更易懂。对于提高大家的计算数学修养有很大帮助。之所以TAOCP有的时候读者们读不懂就是因为计算数学基础不是十分扎实，但以我个人经验，若能对本书中内容有一个比较好的理解，会给你阅读如TAOCP这样的旷世巨著带来很大的方便。</p>
<p>&#160;&#160;&#160; 概言之，算法语数学乃程序设计之本，计算科学之精华，尚需吾等予以足够的重视。有关算法与数学在计算机程序设计中的作用和地位，不妨参考我的一片拙作《计算科学数学理论浅谈》，其中有较详细的论述。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=179</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C/C++基础知识：typedef用法小结</title>
		<link>http://www.cloved.cn/?p=178</link>
		<comments>http://www.cloved.cn/?p=178#comments</comments>
		<pubDate>Sun, 27 Jun 2010 08:51:24 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=178</guid>
		<description><![CDATA[第一、四个用途
用途一：
定义一种类型的别名，而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如：   char* pa, pb; // 这多数不符合我们的意图，它只声明了一个指向字符变量... ]]></description>
			<content:encoded><![CDATA[<p><strong>第一、四个用途</strong></p>
<p><strong>用途一：</strong></p>
<p>定义一种类型的别名，而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如：   <br />char* pa, pb; // 这多数不符合我们的意图，它只声明了一个指向字符变量的指针，    <br />// 和一个字符变量；    <br />以下则可行：    <br />typedef char* PCHAR; // 一般用大写    <br />PCHAR pa, pb; // 可行，同时声明了两个指向字符变量的指针    <br />虽然：    <br />char *pa, *pb;    <br />也可行，但相对来说没有用typedef的形式直观，尤其在需要大量指针的地方，typedef的方式更省事。</p>
<p> <span id="more-178"></span>
<p><strong>用途二：</strong></p>
<p>用在旧的C的代码中（具体多旧没有查），帮助struct。以前的代码中，声明struct新对象时，必须要带上struct，即形式为： struct 结构名 对象名，如：   <br />struct tagPOINT1    <br />{    <br />int x;    <br />int y;    <br />};    <br />struct tagPOINT1 p1;</p>
<p>而在C++中，则可以直接写：结构名 对象名，即：   <br />tagPOINT1 p1;</p>
<p>估计某人觉得经常多写一个struct太麻烦了，于是就发明了：   <br />typedef struct tagPOINT    <br />{    <br />int x;    <br />int y;    <br />}POINT;</p>
<p>POINT p1; // 这样就比原来的方式少写了一个struct，比较省事，尤其在大量使用的时候</p>
<p>或许，在C++中，typedef的这种用途二不是很大，但是理解了它，对掌握以前的旧代码还是有帮助的，毕竟我们在项目中有可能会遇到较早些年代遗留下来的代码。</p>
<p><strong>用途三：</strong></p>
<p>用typedef来定义与平台无关的类型。   <br />比如定义一个叫 REAL 的浮点类型，在目标平台一上，让它表示最高精度的类型为：    <br />typedef long double REAL;    <br />在不支持 long double 的平台二上，改为：    <br />typedef double REAL;    <br />在连 double 都不支持的平台三上，改为：    <br />typedef float REAL;    <br />也就是说，当跨平台时，只要改下 typedef 本身就行，不用对其他源码做任何修改。    <br />标准库就广泛使用了这个技巧，比如size_t。    <br />另外，因为typedef是定义了一种类型的新别名，不是简单的字符串替换，所以它比宏来得稳健（虽然用宏有时也可以完成以上的用途）。</p>
<p><strong>用途四：</strong></p>
<p>为复杂的声明定义一个新的简单的别名。方法是：在原来的声明里逐步用别名替换一部分复杂声明，如此循环，把带变量名的部分留到最后替换，得到的就是原声明的最简化版。举例：</p>
<p>1. 原声明：int *(*a[5])(int, char*);   <br />变量名为a，直接用一个新别名pFun替换a就可以了：    <br />typedef int *(*pFun)(int, char*);    <br />原声明的最简化版：    <br />pFun a[5];</p>
<p>2. 原声明：void (*b[10]) (void (*)());   <br />变量名为b，先替换右边部分括号里的，pFunParam为别名一：    <br />typedef void (*pFunParam)();    <br />再替换左边的变量b，pFunx为别名二：    <br />typedef void (*pFunx)(pFunParam);    <br />原声明的最简化版：    <br />pFunx b[10];</p>
<p>3. 原声明：doube(*)() (*e)[9];   <br />变量名为e，先替换左边部分，pFuny为别名一：    <br />typedef double(*pFuny)();    <br />再替换右边的变量e，pFunParamy为别名二    <br />typedef pFuny (*pFunParamy)[9];    <br />原声明的最简化版：    <br />pFunParamy e;</p>
<p>理解复杂声明可用的“右左法则”：   <br />从变量名看起，先往右，再往左，碰到一个圆括号就调转阅读的方向；括号内分析完就跳出括号，还是按先右后左的顺序，如此循环，直到整个声明分析完。举例：    <br />int (*func)(int *p);    <br />首先找到变量名func，外面有一对圆括号，而且左边是一个*号，这说明func是一个指针；然后跳出这个圆括号，先看右边，又遇到圆括号，这说明(*func)是一个函数，所以func是一个指向这类函数的指针，即函数指针，这类函数具有int*类型的形参，返回值类型是int。    <br />int (*func[5])(int *);    <br />func右边是一个[]运算符，说明func是具有5个元素的数组；func的左边有一个*，说明func的元素是指针（注意这里的*不是修饰func，而是修饰func[5]的，原因是[]运算符优先级比*高，func先跟[]结合）。跳出这个括号，看右边，又遇到圆括号，说明func数组的元素是函数类型的指针，它指向的函数具有int*类型的形参，返回值类型为int。</p>
<p>也可以记住2个模式：   <br />type (*)(&#8230;.)函数指针    <br />type (*)[]数组指针</p>
<p><strong>第二、两大陷阱</strong></p>
<p><strong>陷阱一：</strong></p>
<p>记住，typedef是定义了一种类型的新别名，不同于宏，它不是简单的字符串替换。比如：   <br />先定义：    <br />typedef char* PSTR;    <br />然后：    <br />int mystrcmp(const PSTR, const PSTR);</p>
<p>const PSTR实际上相当于const char*吗？不是的，它实际上相当于char* const。   <br />原因在于const给予了整个指针本身以常量性，也就是形成了常量指针char* const。    <br />简单来说，记住当const和typedef一起出现时，typedef不会是简单的字符串替换就行。</p>
<p><strong>陷阱二：</strong></p>
<p>typedef在语法上是一个存储类的关键字（如auto、extern、mutable、static、register等一样），虽然它并不真正影响对象的存储特性，如：   <br />typedef static int INT2; //不可行    <br />编译将失败，会提示“指定了一个以上的存储类”。</p>
<p><strong>以上资料出自：</strong><a hidefocus="hidefocus" style="hide-focus: true" href="http://blog.sina.com.cn/s/blog_4826f7970100074k.html">http://blog.sina.com.cn/s/blog_4826f7970100074k.html</a> 作者：赤龙</p>
<p><strong>第三、typedef 与 #define的区别</strong></p>
<p>案例一：</p>
<p>通常讲，typedef要比#define要好，特别是在有指针的场合。请看例子：</p>
<p>typedef char *pStr1;</p>
<p>#define pStr2 char *;</p>
<p>pStr1 s1, s2;</p>
<p>pStr2 s3, s4;</p>
<p>在上述的变量定义中，s1、s2、s3都被定义为char *，而s4则定义成了char，不是我们所预期的指针变量，根本原因就在于#define只是简单的字符串替换而typedef则是为一个类型起新名字。</p>
<p>案例二：</p>
<p>下面的代码中编译器会报一个错误，你知道是哪个语句错了吗？</p>
<p>typedef char * pStr;</p>
<p>char string[4] = &quot;abc&quot;;</p>
<p>const char *p1 = string;</p>
<p>const pStr p2 = string;</p>
<p>p1++;</p>
<p>p2++;</p>
<p>是p2++出错了。这个问题再一次提醒我们：typedef和#define不同，它不是简单的文本替换。上述代码中const pStr p2并不等于const char * p2。const pStr p2和const long x本质上没有区别，都是对变量进行只读限制，只不过此处变量p2的数据类型是我们自己定义的而不是系统固有类型而已。因此，const pStr p2的含义是：限定数据类型为char *的变量p2为只读，因此p2++错误。</p>
<p><strong>第四部分资料：使用 typedef 抑制劣质代码</strong></p>
<p>作者：Danny Kalev   <br />编译：MTT 工作室</p>
<p>原文出处：Using typedef to Curb Miscreant Code</p>
<p><strong>摘要：</strong>Typedef 声明有助于创建平台无关类型，甚至能隐藏复杂和难以理解的语法。不管怎样，使用 typedef 能为代码带来意想不到的好处，通过本文你可以学习用 typedef 避免缺欠，从而使代码更健壮。</p>
<p>typedef 声明，简称 typedef，为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观，意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型，从而增强可移植性和以及未来的可维护性。本文下面将竭尽全力来揭示 typedef 强大功能以及如何避免一些常见的陷阱。</p>
<p>Q：如何创建平台无关的数据类型，隐藏笨拙且难以理解的语法?</p>
<p>A： 使用 typedefs 为现有类型创建同义字。</p>
<p><strong>定义易于记忆的类型名</strong>    <br /> typedef 使用最多的地方是创建易于记忆的类型名，用它来归档程序员的意图。类型出现在所声明的变量名字中，位于 &#8221;typedef&#8221; 关键字右边。例如：</p>
<pre>typedef int size;</pre>
<p>此声明定义了一个 int 的同义字，名字为 size。注意 typedef 并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要 int 的上下文中使用 size：</p>
<pre>void measure(size * psz); size array[4];size len = file.getlength();std::vector &lt;size&gt; vs; </pre>
<p>typedef 还可以掩饰符合类型，如指针和数组。例如，你不用象下面这样重复定义有 81 个字符元素的数组：</p>
<pre>char line[81];char text[81];</pre>
<p>定义一个 typedef，每当要用到相同类型和大小的数组时，可以这样：</p>
<pre>typedef char Line[81]; Line text, secondline;getline(text);</pre>
<p>同样，可以象下面这样隐藏指针语法：</p>
<pre>typedef char * pstr;int mystrcmp(pstr, pstr);</pre>
<p>这里将带我们到达第一个 typedef 陷阱。标准函数 strcmp()有两个‘const char *’类型的参数。因此，它可能会误导人们象下面这样声明 mystrcmp()：</p>
<pre>int mystrcmp(const pstr, const pstr); </pre>
<p>这是错误的，按照顺序，‘const pstr’被解释为‘char * const’（一个指向 char 的常量指针），而不是‘const char *’（指向常量 char 的指针）。这个问题很容易解决：</p>
<pre>typedef const char * cpstr; int mystrcmp(cpstr, cpstr); // 现在是正确的</pre>
<p><strong>记住：</strong>不管什么时候，只要为指针声明 typedef，那么都要在最终的 typedef 名称中加一个 const，以使得该指针本身是常量，而不是对象。</p>
<p><strong>代码简化</strong></p>
<p> 上面讨论的 typedef 行为有点像 #define 宏，用其实际类型替代同义字。不同点是 typedef 在编译时被解释，因此让编译器来应付超越预处理器能力的文本替换。例如：</p>
<pre>typedef int (*PF) (const char *, const char *);</pre>
<p>这个声明引入了 PF 类型作为函数指针的同义字，该函数有两个 const char * 类型的参数以及一个 int 类型的返回值。如果要使用下列形式的函数声明，那么上述这个 typedef 是不可或缺的：</p>
<pre>PF Register(PF pf);</pre>
<p>Register() 的参数是一个 PF 类型的回调函数，返回某个函数的地址，其署名与先前注册的名字相同。做一次深呼吸。下面我展示一下如果不用 typedef，我们是如何实现这个声明的：</p>
<pre>int (*Register (int (*pf)(const char *, const char *))) (const char *, const char *); </pre>
<p>很少有程序员理解它是什么意思，更不用说这种费解的代码所带来的出错风险了。显然，这里使用 typedef 不是一种特权，而是一种必需。持怀疑态度的人可能会问：“OK，有人还会写这样的代码吗？”，快速浏览一下揭示<strong><em> </em></strong>signal()函数的头文件 &lt;csinal&gt;，一个有同样接口的函数。</p>
<p><strong>typedef 和存储类关键字（storage class specifier）</strong></p>
<p> 这种说法是不是有点令人惊讶，typedef 就像 auto，extern，mutable，static，和 register 一样，是一个存储类关键字。这并是说 typedef 会真正影响对象的存储特性；它只是说在语句构成上，typedef 声明看起来象 static，extern 等类型的变量声明。下面将带到第二个陷阱：</p>
<pre>typedef register int FAST_COUNTER; // 错误</pre>
<p>编译通不过。问题出在你不能在声明中有多个存储类关键字。因为符号 typedef 已经占据了存储类关键字的位置，在 typedef 声明中不能用 register（或任何其它存储类关键字）。</p>
<p><strong>促进跨平台开发</strong></p>
<p> typedef 有另外一个重要的用途，那就是定义机器无关的类型，例如，你可以定义一个叫 REAL 的浮点类型，在目标机器上它可以i获得最高的精度：</p>
<pre>typedef long double REAL; </pre>
<p>在不支持 long double 的机器上，该 typedef 看起来会是下面这样：</p>
<pre>typedef double REAL; </pre>
<p>并且，在连 double 都不支持的机器上，该 typedef 看起来会是这样： 、</p>
<pre>typedef float REAL; </pre>
<p>你不用对源代码做任何修改，便可以在每一种平台上编译这个使用 REAL 类型的应用程序。唯一要改的是 typedef 本身。在大多数情况下，甚至这个微小的变动完全都可以通过奇妙的条件编译来自动实现。不是吗? 标准库广泛地使用 typedef 来创建这样的平台无关类型：size_t，ptrdiff 和 fpos_t 就是其中的例子。此外，象 std::string 和 std::ofstream 这样的 typedef 还隐藏了长长的，难以理解的模板特化语法，例如：basic_string&lt;char, char_traits&lt;char&gt;，allocator&lt;char&gt;&gt; 和 basic_ofstream&lt;char, char_traits&lt;char&gt;&gt;。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=178</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#生成Excel报表 用MyXls组件生成更完美</title>
		<link>http://www.cloved.cn/?p=177</link>
		<comments>http://www.cloved.cn/?p=177#comments</comments>
		<pubDate>Thu, 24 Jun 2010 16:18:31 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=177</guid>
		<description><![CDATA[在后台调用excel组件，生成Excel，虽然可以对Excel文件进行完全控制，可以生成任何复杂的格式，但是有个很大的缺点，这种方式会产生很多Excel进程，很难完全清除掉，特别是在出错的时候，可... ]]></description>
			<content:encoded><![CDATA[<p>在后台调用excel组件，生成Excel，虽然可以对Excel文件进行完全控制，可以生成任何复杂的格式，但是有个很大的缺点，这种方式会产生很多Excel进程，很难完全清除掉，特别是在出错的时候，可能会使整个服务器崩溃。本文为大家介绍一个C#写的开源组件，并简单说下office2003和以上版本支持的XML格式。</p>
<p> <span id="more-177"></span>
<p><strong>一 操作Excel二进制格式</strong></p>
<p><a hidefocus="hidefocus" style="hide-focus: true" href="http://www.openoffice.org/">OpenOffice.org</a>发布过的俩个文档<a hidefocus="hidefocus" style="hide-focus: true" href="http://sc.openoffice.org/excelfileformat.pdf">Excel File Format (BIFF8)</a><a hidefocus="hidefocus" style="hide-focus: true" href="http://sc.openoffice.org/excelfileformat.pdf">Specification</a>和<a hidefocus="hidefocus" style="hide-focus: true" href="http://sc.openoffice.org/compdocfileformat.pdf">Microsoft Compound</a><a hidefocus="hidefocus" style="hide-focus: true" href="http://sc.openoffice.org/compdocfileformat.pdf">Document (OLE2) Format Specification</a>对Excel的二进制格式做了一个比较详细的说明，依靠这些信息，我们可以直接操作Office二进制格式文档。</p>
<p><a hidefocus="hidefocus" style="hide-focus: true" href="http://myxls.in2bits.org/">MyXls</a>是一个C#写的开源组件，可以用来生成具有很多表格且包含格式的Excel文件。它提供了一套基于对象的API，非常容易使用。</p>
<p><a hidefocus="hidefocus" style="hide-focus: true" href="http://myxls.in2bits.org/">MyXls</a>这个组件的DLL 和代码 可以在这下载到：    <br /><a hidefocus="hidefocus" style="hide-focus: true">http://sourceforge.net/project/showfiles.php?group_id=205384&amp;package_id=245371</a>    <br />以下是一个事例子。。</p>
<p><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /> protected void Page_Load(object sender, EventArgs e)    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" /> {    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> string strSql = &quot;SELECT TRADE_DATE [Date],TOPEN [Open],Thigh High,tlow [Low] FROM DAY_QUOTATION where SEC_CODE=&#8217;1&#8242; and TRADE_DATE&gt;=&#8217;20070411&#8242; order by TRADE_DATE desc&quot;;&#160; //Sql语句    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DataSet ds = SqlHandle.ExecuteReturnDataSet(CommandType.Text, strSql, null);    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xlsGridview(ds, &quot;data&quot;);//调用xlsGridview方法生成Excel报表    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" /> /// &lt;summary&gt;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> /// 绑定数据库生成XLS报表    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> /// &lt;/summary&gt;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> /// &lt;param name=&quot;ds&quot;&gt;获取DataSet数据集&lt;/param&gt;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" /> /// &lt;param name=&quot;xlsName&quot;&gt;报表表名&lt;/param&gt;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /> private void xlsGridview(DataSet ds, string xlsName)    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" /> {    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; XlsDocument xls = new XlsDocument();    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> int rowIndex = 1;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> int colIndex = 0;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.Data.DataTable table = ds.Tables[0];    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Worksheet sheet = xls.Workbook.Worksheets.AddNamed(&quot;sheet&quot;);//状态栏标题名称    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Cells cells = sheet.Cells;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> foreach (DataColumn col in table.Columns)    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" /> {    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; colIndex++;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> //sheet.Cells.AddValueCell(1,colIndex,col.ColumnName);//添加XLS标题行    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; cells.AddValueCell(1, colIndex,col.ColumnName);    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> foreach (DataRow row in table.Rows)    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" /> {    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rowIndex++;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; colIndex = 0;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> foreach (DataColumn col in table.Columns)    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" /> {    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; colIndex++;    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> //sheet.Cells.AddValueCell(rowIndex, colIndex, row[col.ColumnName].ToString());//将数据添加到xls表格里    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Cell cell= cells.AddValueCell(rowIndex, colIndex, Convert.ToDouble(row[col.ColumnName].ToString()));//转换为数字型    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /> //如果你数据库里的数据都是数字的话 最好转换一下，不然导入到Excel里是以字符串形式显示。    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; cell.Font.FontFamily = FontFamilies.Roman; //字体    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; cell.Font.Bold = true;&#160; //字体为粗体&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xls.Send();    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br /><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=177</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一堂价值39万元的课，把它看完，你一定会有收获</title>
		<link>http://www.cloved.cn/?p=176</link>
		<comments>http://www.cloved.cn/?p=176#comments</comments>
		<pubDate>Sat, 22 May 2010 10:06:57 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=176</guid>
		<description><![CDATA[如果你能认真看完这篇文章，你真的会收获很多，虽然你不会像身历其境一样得到课程的内容，但如果你懂得思考，你真的会有很打的收获！    幸福是自己去争取的，不管是友情或爱情很多事... ]]></description>
			<content:encoded><![CDATA[<p>如果你能认真看完这篇文章，你真的会收获很多，虽然你不会像身历其境一样得到课程的内容，但如果你懂得思考，你真的会有很打的收获！   <br /> 幸福是自己去争取的，不管是友情或爱情很多事情，错过了就没有了,所以如果你没有认真看完这篇文章，以后你就没有了！    <br /> 我已经把这篇文章打印，放在电脑旁边！体会其中的深奥道理！    <br /> 如果他说得真的是真理，你会按他所说的去做么？我想，只要你用心了，哪怕你做到了一点点，你就是进步的，你就学到了新知识，你就进步了！    <br /> 导言：    <br /> 黄力泓说：「想要减肥的人千万不要跟胖子在一起」；    <br /> 黄力泓说：「每个人都有250位朋友，80%对你毫无帮助。」    <br /> 每个人都有朋友！比的是你能吸引什么样的人成为你的朋友！    <br /> 是否能悟透近朱者赤近墨者黑的道理？    <br /> 2006年4月份，我到新加坡去参加美国全球竞争力研究院院长黄力泓博士的『魅力总裁理财课程』，来回机票加上住宿和课程费用，大约花39万台币。    <br /> 黄力泓在第一堂课就令我的印象十分深刻，他是全世界最会引导别人如何理财的竞争力大师和国际企业家，学员来自马来西亚、新加坡、中国大陆和台湾、日本，大家十分兴奋的准备听他分享理财最重要的第一个关键，黄力泓要每个人写下10位和自己最亲近的朋友，大家感到一阵子的莫名，接着罗勃特.T.清崎要大家写下这10个人的财务状况，把所知道的一切详细的写下来，包括：他们有多少存款、多少房子、车子、每个月收入多少、有多少负债、……等，再写下他们跟你聊天时谈到他们对金钱的看法……，尽你所能的写下你身边和你最亲近的10个人，他们的财务状况。    <br /> 听一堂课值三十九万    <br /> 在场来自于5个国家300多位学员就认真的写作业，黄力泓每隔5-10分钟就要大家再写多一点，就这样写了将近一个小时，终于把这10位亲近之人的财务状况写完了，黄力泓问「现在各位知道为什么了吧？」大家搞不懂他所指的意思，互相转头看了一看，黄力泓接着说：「你是否发现你和所写的人财务状况差不多呢？」大家才猛然的觉醒，真的耶！资产100万的人，他的朋友们大约也是100万左右，有一间房子的人，他的朋友们也大多有一间房子，而使用信用卡循环利息的人，他的朋友们几乎都处于负债的边缘或状态，接着黄力泓要大家分组彼此就刚刚所写来的内容加以讨论自己的心得，原来他所要传达第一个最重要的观念就是中国古老的重要思想，「物以类聚，人以群分，近朱者赤，近墨者黑」！    <br /> 医生的朋友们，通常也都是医生；TAXI司机的朋友，通常也都是TAXI司机；亿万富翁他们的朋友通常也都是亿万富翁；当老板的人，他们的朋友通常也是一位老板；得SARS的人，他的家人也会很快被传染，因为人跟人之间本来就会互相的影响，尤其是言语和思想的传染力是极为惊人的，你为什么会抽烟？因为是你的朋友拿烟给你抽；你为什么爱打牌？因为你的朋友常常找你去打牌；你为什么买奔驰车？因为你公司的主管或同事也买奔驰车；你为什么会去读MBA？因为你的兄弟姊妹或朋友也读MBA；你为什么渴望有百万或千万年薪？因为你看到身边有人跟你做同一份工作，却有如此耀眼的成绩。    <br /> 黄力泓说：「想要减肥的人千万不要跟胖子在一起」，因为一个人之所以会成为胖子就是他高兴的时候吃、心情沮丧时也吃、忙碌的时候想吃、无聊的时候更是不停的吃，若你跟他在一起，一定会受到他的影响，那你的瘦身计划就不可能成功了！    <br /> 当很多朋友浇你冷水    <br /> 美国全球竞争力研究院院长黄力泓说：每个人都有250位朋友，他们分别出现在两种场合，一个是你的婚礼，一个是丧礼，而这些朋友有80%是对你毫无帮助，他们通常不会给你正面、积极的影响，当你渴望有任何作为的时候，他们通常会浇你冷水，告诉你种种的坏处和各种失败的可能。    <br /> 有20%的朋友，他们是属于较积极的，会给你正面的影响，而有5%的朋友则会帮助你，重大改变你的一生！所以，你对朋友们不该一视同仁，你应该花80%的时间跟那些会重大影响你一生，那5%的朋友在一起。    <br /> 当我们都讨论完那篇「与我们最亲近10位朋友的财务状况」后，黄力泓说：若我们想要改善我们的财务状况的话，那一年至少要做一次检讨，每隔一年要重新写下我们最亲近的10位名单，因为要花多少时间和别人相处，是我们可以自行决定的，然而我们的朋友同样是我们自己所选择的，想想看，若你身边的10位朋友，他们不是身价亿万就是千万，那过5年之后，你的身价会是多少呢？    <br /> 也许你会问：「我那么不起眼，我只是一个小角色，那些身价千万、亿万的富翁为什么和我交往呢？」是的，大多数人都不习惯跟比他成功或比他富有的人在一起！但若你想要改变你的财务状况，那你就会想办法多结交一些会赚钱、会规划自己财务的人为朋友，通常一位企业家或亿万富翁他们最想结交的朋友，除了其它的企业家之外，就是律师和会计师或财务顾问，不然就是医生，因为有钱的人会喜欢跟有知识、有专业的人在一起，因为这样有钱的人会变得有知识，而有知识的人也会变得有钱。    <br /> 有钱的人大多刚开始也是一个不起眼的小角色，微软的创办人BillGates，大家都知道他读哈佛大学、中途休学，在自家中的车库开始创业；Dell计算机的总裁MichaelDell也是在大学宿舍开始创业；台湾经营之神王永庆从卖米小弟做起；扬名国际的卧虎藏龙大导演李安，之前也在家中10年苦写剧本，*朋友的接济，他们大多都接受过贵人的帮助或提拔才会有今日的成就和影响力，在有今日的地位之前，他们真的也是不起眼的小角色，不同的是他们拥有梦想、拥有雄心壮志。    <br /> 所以你可以列下，在你周遭有哪些人你渴望认识他们或者他们已经认识你的人，将名单列下来，不仅仅只关于财富，像有哪些人特别有自信、有魅力，哪些人婚姻特别令你羡慕、哪些人活的既健康又快乐，你可以从「请教」他们开始，你可以这样说：您好！我是某某人，我听我一位朋友提起，您在________方面有过人的成就，是否能请教您最重要的3个关键是什么呢？我是否能请您用餐？你最喜欢哪间餐厅呢？大多数的人都喜欢跟别人分享他们的成就，当你能认同他的成就，甚至点头、做笔记、带录音机〈笔〉去录下你们谈话的内容，我相信你会获得超乎你想象的结果！    <br /> 创业致富与吸毒之间    <br /> 美国人际关系权威哈维麦卡说：「在这地球上，人与人之间的关系不会超过6个人之间的相互关系」，也就是说，你的朋友的朋友的朋友〈6个人〉……，是成龙、是周润发、是严凯泰、是张忠谋、是黄力泓、是你想得到的任何人，你可以透过朋友的介绍认识更多你认为能帮助你的人。    <br /> 仔细想想你能带给别人什么好处？你能替想认识的人拍张照片或画张画了解他的目标，替他收集他喜欢的相关资料吗？你能写信给他，让他知道他带给你什么样的影响吗？    <br /> 因为我们是非常容易受朋友影响的，朋友总是会影响我们「看什么样的书」「去哪里旅游」、「买什么样牌子的音响」、「是去打高尔夫球、打桥牌或打麻将」、「做什么样的工作」、「买什么样的车、以及跟谁买车」、「介绍其它的朋友互相认识」、「一个月该赚多少钱」、「做什么样的生涯规划」、「进行何种投资理财」、「参加什么样的团体或活动」、「做什么生意或参加标会」。    <br /> 朋友会直接且深刻的影响你，影响你上进也可以影响你堕落，甚至可以说：「我们的命运不是掌握在自己手里，而是掌握在我们的朋友手里！」    <br /> 为什么会合伙创业？因为朋友的影响    <br /> 为什么会结伙抢劫？因为朋友的影响    <br /> 为什么会去飚车？因为朋友的影响    <br /> 为什么会去打麻将？因为朋友的影响    <br /> 为什么渴望赚钱？因为朋友的影响    <br /> 为什么穿鼻洞、舌钉？因为朋友的影响    <br /> 为什么要吸毒？因为朋友的影响    <br /> 为什么要出书？因为朋友的影响    <br /> 为什么要爱喝茶或喝酒？因为朋友的影响    <br /> 为什么会去做传销或保险？因为朋友的影响    <br /> 为什么会有这种或那种习惯？因为朋友的影响    <br /> 伍思凯有一首非常成功的歌叫「分享」，有一段歌词是：「与你分享的快乐，胜过独自拥有至今我仍深深感动…..」，请问你的朋友究竟都「分享」些什么给你呢？他们的「分享」对你造成什么样的影响？你是否深刻的感受到我们的命运掌控在朋友的手里？    <br /> 妳(你)又分享些什么给你的朋友?    <br /> 有5%的朋友会帮助你，重大改变你的一生，    <br /> 花点时间认真找出你的贵人，跟紧他！    <br /> 一个人的态度决定他的高度    <br /> 只要有呼吸就有希望    <br /> 希望是追求理想的第一步    <br /> 勇敢是突破自我生命的力量    <br /> 听一位面试官这样说！！（这是一篇难得的文章，值得你花五分钟去看完它，再花十分钟去回味，并从那一刻开始改变一些东西）    <br /> 2008-06-1009:17    <br /> 今天的面试，我给每个人的时间，不会超过5分钟。    <br /> 有一个人我只和他谈了3分钟，留下他的简历，他后面的同学用一种没有希望的眼神看着他，说：“这么快？”    <br /> 我说：“你会更快。如果你不假思索的用两句话描述你的优点，我就招你，1分钟”。可惜他断断续续，说了一大堆——显然他心理的“谱”，是他彩排好的自我介绍，我“打乱”了他的部署。    <br /> 有一个学生，本来我觉得不错，她只用一页的简历，就表达了她的优势和特点，当我决定招她的时候，习惯的问下学期还有没课并看简历，却看不到她的学校名字，“为什么没写学校名？”，“因为……我的学校不怎么样……”。我还是问了她的学校，然后拿起笔，在她的简历中帮她写下她的母校，然后在她眼前竖起简历：“有没写错？”    <br /> “没有。”    <br /> 我今天对所有留下的简历，只是做一个动作（在认为特别适合的，打钩）。这是我唯一写字的简历，我不知道她明不明白，我是在告诉她什么。她的做法让我大打折扣。    <br /> 如果我是负责教育的，我有一把足够大的铁锤，我会抡起来把所有的中国学校都砸掉，因为现在不会有一个学校敢站出来说：我们学校是“教做人的”——全部都是“教书”的。    <br /> 当然，也有些学生非常善于销售自我，比如，有个应聘网页设计的学生，因为他做的东西都是在学校的内部网，没法把作品展现给我看，他和我说：“我把作品放到一个叫职友集上，你可以看。”还有一个应聘文案助理的，也是将她的文章传到自己的BLOG上。晚上我回去打开他们的主页，觉得他们放在网上的内容很充实，比如应聘文案助理的学生，上面有很多她的随笔作品，我看到她不错的写作思路和思维水平，我决定明天通知这两个人上班。他们都是来自那些被人看成“差学校”的学生，但是，他们善于利用多种途径，来表达他们的优势。比如善于利用“职友集”、BLOG这种新的免费工具，的确成为他们赢得我的信任的关键。    <br /> 总结今天的感受，我认为：    <br /> 未毕业，先失业，不是因为没有工作机会提供，而是就业能力结构失衡；就业难的关键，也不是因为毕业生多，教育水平下降，而是自我认知的能力模糊，就业信心和自我价值期望的下降。天之骄子的高傲姿态消失，是好事，但取而代之的不是平衡心、平常心，而是一种自卑、浮躁和茫然。    <br /> 你可以认为我摆谱、摆资格，但是，作为毕业生，我相信你还是愿意听听一个5年人力资源总监、有过1万人次面试经历的人力资源工作者，对你的如下“不满”：    <br /> 不要递给我花里胡俏的简历，给我一点简洁（不是简单）而能突出你自己的表达——面对成千上万的求职者，你真的以为HR会去看你那封100个人有99个差不多的求职信、和装订得像书本一样的简历模板内容吗？    <br /> 不要对我说太多的自我介绍，我不敢说3、5分钟我就准确判断了你，但是30秒之内我就定格了你的第一印象；我之所以很快结束你的面试，是因为你的后面排队的人真是太多，我也曾经作为毕业生这样苦苦的等待，我只是为了给更多的人一个和你一样平等的机会，而后我会挑选请你到我办公室复试；你认为我给你的时间太少，而流露出失望（自己是不是没被看中了？）眼神的那一刹那，你就丢失了再次获得复试的机会。我永远坚持：你的信心就是我的希望。你的岗位机会不是我给你的，而是你自己争取的。    <br /> 不要一副“只要你招我我什么都肯做”的姿态，这样给我一种“卖身”的感觉，我请你是因为你会为公司创造价值，所以不是你“求”职，而是我“请”你。这不是叫你抬到姿态，而只是希望你抬起胸膛。    <br /> 不要对我拒绝收你的简历，报以晦气的脸色或失望的情绪。我不接收你的简历，不是你不行，而是不适合我的公司；我不接收你的简历，不是不给你机会；而是不想给你根本不存在的期待（如果我收了，你会等待着我通知你）；不是我不给你面子，而是我不想浪费你和你父母的血汗钱——尽管每一份简历只有1、2元，但是我没有任何理由，去浪费属于你的1分1厘，何况你还是一个纯消费者；我是在帮你节约，让你能够将它投给属于你的机会。我从不想当我拿不了那么多简历回公司的时候，把你的希望孤伶伶的留在招聘场地里；我更不希望，当招聘会结束以后，你的简历会在冷清的场地，像其它被丢下的简历一样，雪花般漫天飞舞，任人践踏——我决不加入这样的行列，而宁可以拒收给你打击（你也必须开始懂得直面这样的打击），因为你熬了多少个夜晚做出来的那个简历，代表的就是你，上面写着你的价值，和你的尊严。我始终认为，任何人都可以狠狠的批判教育制度，但是绝对不可以否定你的价值，更不可以践踏你的尊严！    <br /> 不要不敢说出和写下你毕业的学校，无论她是如何的差，你是从那里走出来的，因为我绝对不会要这样的人：看到他父母的时候，因为他们的背景不好而不敢认他们；或者有一天离开我的公司，去到一个更大的公司面试的时候，不好意思说我是来自一个不是500强的公司。对公司来说，你的价值和价值观，决定了一切。英雄莫问出处，如果你是一个狗熊，哪怕你从天堂走出来，也还是狗熊。    <br /> 不要给我罗列一大堆你的学习成绩和从事的所谓实习（因为很多毕业生也曾经到我这里来兜一圈，参观一下，盖个章名曰“实习”），你只需要挑选一件特别的事情，要点式地说明过程和结果，让我知道你是怎样做事的。    <br /> 不要不敢用眼睛看着我，你不敢瞧我的时候我也瞧不起你。    <br /> 不要在回答“你的薪酬要求”的时候，多了那么多废话。我不想听每个人都重复着“因为我是毕业生，没有社会经验，所以如果公司觉得这个要求太……我也可以……”，我的钱也许也是刚刚从人民银行印出来的，但是它们不会因为还没有被流通转手，而减损它的价值。其实我不在乎你说的是5000，还是1500，我在乎的是你说出一个数字的那种语气、眼神。我尊重每个人都有自估劳动力价值的权利（但公司自有它的薪酬制度，不会特殊对待你），但我喜欢干脆利落的同事，干脆利落是一种自信，是一种做事风格，也是一种做人态度。我会固执的认为：你说出这个数字前后带了多少个字符，就表示你做事有多拖泥带水；或者你的自我认识和自信是多么摇摆不定。    <br /> 人生简短，价值无限，告诉人家你是独一无二的，你就是你，你成就你。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=176</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>职场分享：不明白这些道理，你永远只是打工的命</title>
		<link>http://www.cloved.cn/?p=175</link>
		<comments>http://www.cloved.cn/?p=175#comments</comments>
		<pubDate>Wed, 17 Mar 2010 12:37:42 +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://www.cloved.cn/?p=175</guid>
		<description><![CDATA[http://www.iyenei.com/bbs/viewthread.php?tid=2722
首先声明：如果你是“愤青”或“类愤青”，对不起，请你离开，我怕我的观点再次伤害你那“纯洁”得几乎不识人间烟火的心灵！如果你想从此改变自己... ]]></description>
			<content:encoded><![CDATA[<p><a hidefocus="hidefocus" style="hide-focus: true" href="http://www.iyenei.com/bbs/viewthread.php?tid=2722">http://www.iyenei.com/bbs/viewthread.php?tid=2722</a></p>
<p>首先声明：如果你是“愤青”或“类愤青”，对不起，请你离开，我怕我的观点再次伤害你那“纯洁”得几乎不识人间烟火的心灵！如果你想从此改变自己，那么，就 花上十几分钟的时间，仔仔细细把这篇文章看完。如果你想改变自己的命运，那么，从现在就开始行动。有时候我们之所以失败，99%的原因是因为说得太多，而 行动得太少！那1%的人或许并不聪明，或许只是小学毕业，但是人家成功了，做了你的上司，那是因为人家善于用行动证明自己，而不是嘴巴。我不敢保证看了我 这篇文章就一定会使你平步青云，我没有那个本事。如果你有一天飞黄腾达，也绝对与这篇文章没有直接的关系。因为，你的命运，只掌握在你自己的手中！   <br />同样是打工，为什么你一个月只有2、3K，而唐骏的身价却可以高达10亿？或许你会反驳我，说人人都成为唐骏的概率有多大？的确，人人都成为唐骏的确不现实，但是经过努力，月薪达到8K、1W的总是大有人在吧？虽然不能达到大富大贵，但也不至于被女朋友看不起，付不起房贷首付款吧？</p>
<p>&#160;</p>
<p> <span id="more-175"></span>
<p>很多人都喜欢 抱怨，觉得这个世道不好。但现实是，在同样世道不好的情况下，为什么有的人成功，而你却碌碌无为？差距在哪里？怪世道不好吗？还是怪自己没本事？我说这话 可能你不爱听。但是一个无法辩驳的事实是：你要是有本事，为什么月薪只有2、3K或者3、4K？事实胜于雄辩。所以，如果看到这里还想抱怨的人，那么，也请你趁早离开。抱怨永远解决不了问题。    <br />职场是 一个复杂的综合体。看到别人在职场上呼风唤雨，你认为很惬意，是么？但是他们风光表面的背后，又有几个有看到他们曾经付出的巨大艰辛？这个社会其实是很公 平的。努力不一定有回报，但是如果不努力，就一定没有回报。要怪，就怪自己投错胎，怪自己的老子没本事，当初没有给你留下一大笔可以挥霍的资本！    <br />说归说，对于那些想改变自己的朋友们来说，还是需要看清楚一些东西，有一些经验也想和大家分享分享。同样是职场人士，我也有我的经验和感受。在打工的3年里，我得到了7次加薪（同时进入公司的员工， 加薪不超过2次的员工大有人在），顺利地从员工做到了总监，是公司所有员工中成长最快的。我敢肯定，在看过这篇文章的人当中，肯定有人比我更优秀。但是对 于那些更渴望得到帮助的朋友们来说，我还是希望把自己的经验写出来，与大家分享。我自己写了一篇文章，叫《决定前程的8件事，你做到了几件？在这里整理出来，希望能对大家有所帮助。    <br />一、一定要清楚自己未来的目标是什么    <br />很多人把职场想得太美好，其实不然。如果你没有规划好，你就会难免遇到各种各样的问题：工作不开心；没有前进的动力；工作不是自己想像的那么好；自己的才能无法发挥；看到以前的同学待遇如何如何，便受不了刺激，急切地想跳槽；当初为了生存而找的工作，根本就不适合自己……    <br />这是几乎所有初入职场的朋友都会 面临的问题。而这些问题通常会在步入职场的1－3年之内最明显（3年之后之所以不明显，是因为你已经被现实折磨得太久了，已经被种种不平现象同化了，因此 也就习惯了。你曾经的种种抱负被现实碾得粉碎，于是，你也从一个志向远大的年轻人一下子变成了一个碌碌无为、甘于平庸、成天为了生计而奔走的普通打工 者）。如果不及早解决这些问题，那么，你就会荒废这3年的时间（有的人可能会更长），而对于一个职场新人来说，这3年至关重要，是锻炼能力、积累资本的黄 金3年！一旦错过，则要花费更多的时间，从头再来，重新弥补！更有甚者，可能一辈子都无法弥补！这绝对不是危言耸听！因此，如果你的职场年龄还没有超过3 年，恭喜你，还有改变命运的机会。而一旦超过了3年，那么，你的每一次改变，都将付出巨大的代价！!    <br />为什么要清楚自己的目标？因为，有了目标，才有行动的指南。知道自己想干什么，喜欢干什么，这才是你前进的最终动力。工作不开心、动力不足、盲目跳槽的最 根本原因是职业目标不清晰。没有目标，便没有了追求，于是，所有的行动只是为了挣一口饭吃。你根本没有考虑过自己的未来应该端什么饭碗。或许你在30岁之 前还有挥霍的资本，因为年轻嘛，做什么都不怕。连广告上 都说了，“30岁之前，有什么好怕的？！”而一旦过了30岁，你走的每一步都必须要慎之又慎，因为：你要结婚、你要养活老婆孩子、你要供房贷、你要供养年 迈的父母、孩子大了还要上学、父母年迈了需要照顾……等等等等，所有的这些责任，都要你来承担。如果没有规划，一旦出现问题，你只能自乱阵脚。    <br />人生的职业发展如 同品牌塑造一样，只不过你的产品就是你自己。你自己的发展目标，也就是你人生的品牌目标。有了目标，就要考虑该怎么走。每走一步，都应该离目标更近，而不 是更远。所以，你每做一个决定的时候，要衡量这个决定对不对，唯一的标准就是：它是不是能够帮助你离目标更近？如果不是，那么，赶紧住手，因为，你走的路 偏离了你的目标！再走下去，只能错得更离谱！    <br />对于人生目标，涉及到职业生涯规划的问题。这是一个老话题，很多人以为自己很了解了，其实却远不是那么回事。大家可以看一些相关书籍，但在中国， 此类书籍的最大问题就是说教性比较强，实用性非常差！很多人看了书之后依然一头雾水，不知所措，看了之后反而更糊涂。我的意见是，最好还是找一些专门的机 构咨询一下。注意：是咨询，不是测评。二者的区别在于，咨询的意义在于“为客户提供可应用性的解决方案”，而测评则仅仅局限于“帮助你认识自己”，至于怎 么做，怎样行动才能更接近自己的目标，不知道！因为测评的人都是专家，而国内的专家都是做研究的，没有实战经验，甚至对职场升迁是怎么回事都不太清楚，怎 么可能指导你做实战规划？记住：有了规划，不一定能够成功；但没有规划，一定不会成功！    <br />二、能力固然重要，但并不能代表全部    <br />这里所说的能力，是指专业技能。步入职场你会发现，能力其实并没有你想像的那么重要，它并不是是步步高升的全部资本。你会发现一个能力不太强的人做了你的上司，只因为他在这个公司干了10年——这说明“资历”是你高升的本钱（这种现象，在国有企业和政府机构里特别明显，因此，在国企工作的朋友和公务员同志要 注意了）；有时候你会发现能力并不怎么强，但是与老板关系非常好的人通常能够得到提拔——这说明“关系”也是本钱。在我原先工作的公司，有两个特别明显 例子。一个有着丰富工作经验的男士，跳槽来到公司，能力也特别强，但就是与同事处理不好关系，自认为自己非常牛，喜欢主动当别人的“导师”，动不动就对别人的工作指手划脚，顶头上司非常讨厌他；而同时进入公司的另外一位女士，能力不是特别强，但是非常踏实、勤奋、与其他同事相处得也很好，能够顾全大局。最 后试用期结束时，那位女士得到了公司的认可，而那位男士则收到了公司的辞退通知。    <br />在职场上，一定要对职场有清醒的认识，不要生活在梦幻当中，不要太理想化，不要标新立异，不要恃才傲物，不要认为有能力就可以走遍天下。专业技能固然重 要，但是职场发展看的是一个人的综合素质。综合素质高的人，才是职场发展的“潜力股”。这些综合素质，包括沟通能力、人际关系能力、团队合作能 力、管理能力、工作态度及敬业精神等各种“软实力”。对于有些朋友而言，可能会对这些“软实力”不屑一顾。很多人会说，如果老板喜欢爱拍马屁的人，难道我 就要委屈自己，学着去拍马屁？很不幸，我会告诉你，答案是肯定的，你一定要学会拍马屁，否则吃亏的是自己。但要声明的是，我不是教你诈。中国有句成语，叫 外圆内方，用在人际交往上，就是说你与人相处要学会妥善处理各种关系，但不可因此而失去了内心的准则，否则就变质了。尤其在中国这种注重人情的社会，这种 人际交往的能力一定要好好练练。如果有时间，看一下《厚黑学》，了解一下社会现实，切忌不可因此而迷失了自己（卓远致行的《优秀员工成长手册》，有对于人 际关系有较为详细的讲解，不妨咨询一下）。    <br />三、要手足够的“亮剑”资本    <br />有的大学生经 常会跟我说，我毕业之后一定要找到一份月薪多少多少的工作，争取做到什么什么职位。这时候我总是会耐心听完他们的“远大蓝图”，然后问一句：“你凭什么达 到你的目标？你的资本是什么？”然后他就会哑口无言。我相信读过这篇文章的人也会和这位大学生一样，有着自己的伟大抱负，但是大学四年下来，你有没有想 到，要实现这些目标，你的资本是什么？对于很多已经身在职场的朋友而言，你晋升的资本又是什么？    <br />人生在发展过 程中，很多时候都需要毫不犹豫地向别人展示自己的实力，要敢于展示，善于展示，这就是“亮剑”。因为这年头，酒香也怕巷子深，是金子未必会发光。相反，发 光的倒是那些碎玻璃、烂瓶子。中国什么都缺，就是不缺人。茫茫人海，如果你一直都谦虚地默默无闻，那么，你就大错特错了。    <br />既然具备了“亮剑”的意识，那么，下一步你就要考虑到亮什么剑：我到底拿什么资本给人家看？对于职场上的朋友而言，你“亮剑”的资本又在哪里？你的业绩提 升了吗？你的能力提升了吗？你在一年内看过多少本对自己的职业有益的书籍？你参加过几次培训班来为自己充电？如果没有，你又凭什么让老板为你加工资？靠抱 怨？你肯定会提前被职场淘汰出局！    <br />四、慎重对待第一份工作    <br />这一观点，对于大学生来说，更有意义。    <br />现在整个社会、媒体、专家等等各种单位都一直在鼓吹“先就业，再择业”。这种论调不是今年就有，而是多好多年前就出现了，并且屡屡出现，不绝于耳。相信当年我们大学毕业时候，也会有很多人相信了这一点吧？管它呢，骑驴找马，先找份工作挣钱填饱肚子再说！    <br />但是根据本人自身的经验及职场发展的现实情况来看，本人绝对不赞同这种说法。相信现在在职场上发展不顺的朋友，多半也和第一份工作有关系吧？俗话说，“男 怕入错行，女怕嫁错郎。”第一步错了，以后就会经常犯错。正所谓一步错，步步错。为什么第一分工作这么重要呢？原因有三：    <br />1、先入为主的观念影响。具体是指，先听进去的话或先获得的印象往往在头脑中占有主导地位，以后再遇到不同的意见时，就不容易接受。举个最简单的例子：在你的头脑印象中，诺基亚已经是手机的 代名词。如果有一天诺基亚生产出了一种“诺基亚牌电脑”，你的心里是什么感觉？非常不对劲对不对？这主是先入为主现象。我原先有一个同事，曾经在海尔工作 过，她用的是海尔的手机，功能也非常不错，但她总是说要换一部手机，我问她原因，她说，兜里装着海尔的手机，总感觉像装了一个大冰箱，非常不舒服。为什 么？先入为主呗！不要小看这一现象，其实对人的潜意识影响非常大。海尔的手机和电脑等IT产品卖得不好，相当一部分是因为先入为主：大家普遍认为海尔是家 电的代名词，而不是IT的代名词。    <br />对于求职的大学生来说，这一观念同样会影响你以后的发展。你的第一份工作会对你以后的工作产生影响，你跳槽时，你的新雇主也会通过你的第一份工作经验来判 断你是否能够胜任这份工作。曾经有一个大学生，毕业之后想做策划，就找了一家广告公司。刚进公司时，因为文笔不错，被安排到了文案的位子上。而与他同时进 去的另外一个人，恰恰因为文笔不好而被安排到了策划的位子上。后来她屡次想转行做策划，但都是因为前一份工作经验的影响，而始终没有得到转行的机会。    <br />2、职场中不允许从头再来。如果公司招聘的是有几年工作经验的老员工，一定要求是“相关经验”！这一点至关重要！因为这样的员工一般不需要培训，可以直接 上岗，会很快为公司带来最大的效益。如果是工作几年以后再打算转行的应聘人员，一般不会受到重视，一是不会给公司直接带来效益，二是培训起来也比较困难， 思维已经固化。与其这样，倒不如招一名应届生，白纸一张，可塑性强，发展起来潜力更大。所以，一旦有了工作经验之后，再想转行从头再来，难度相当大。除非 你认识公司的高层领导，可以得到一个机会，否则，很难。    <br />3、时间成本不允许。步入职场的前三年，是一个人职业成长的最重要、最关键的时期。如果你这时候还把工作的重点放在骑驴找马式的转行上，则会浪费你最宝贵的青春，你的成长也因此比其他人慢一步，而很多晋升的机会将因此而失去。    <br />所以，对待第一份工作，一定要慎重。找工作就像结婚，情愿不结，绝不能乱结。    <br />如果现在你刚刚步入职场还不到3年，劝你趁早做一个职业规划，亡羊补牢，尤未为晚。一旦你结婚了买房子了，你再想弥补都已经晚了！    <br />五、要保持一种“空杯心态”    <br />给大家讲一个故事。古时候有一个佛学造诣很深的人，听说某个寺庙里有位德高望重的老禅师，便去拜访。老禅师的徒弟接待他时，他态度傲慢，心想：我是佛学造 诣很深的人，你算老几？后来老禅师又十分恭敬地接待了他，并为他沏茶。可在倒水时，明明杯子已经满了，老禅师还不停地倒。他不解地问：“大师，为什么杯子 已经满了，还要往里倒？”大师说：“是啊，既然已满了，干嘛还要倒呢？”    <br />禅师的意思是，既然你已经很有学问了，干嘛还要到我这里求教？这就是“空杯心态”的故事哲理。它最直接的含义就是一个装满水的杯子很难接纳新东西，要将心 里的“杯子”倒空，将自己所重视、在乎的很多东西以及曾经辉煌的过去从心态上彻底了结清空，只有将心倒空了，才会有外在的松手，才能拥有更大的成功。这是 每一个想在职场发展的人所必须拥有的最重要的心态。它告诉我们一个道理：做事的前提是先要有好心态。如果想学到更多的学问，先要把自己想象成“一个空着的 杯子”，而不是骄傲自满。    <br />我见过很多的大学毕业生，刚进入公司时常常处处吹牛，说自己在学校如何如何，本来可以找到更好的工作，迫不得已才来到了这里等等之类的话，好像这家公司委 屈了自己。在这里提醒一下那些即将步入职场的大学生：这种心态千万要不得！不要认为自己很牛。还是那句你不爱听的话：中国什么都缺，就是不缺人！话又说回 来，你要是这么牛，为什么不像比尔盖茨、戴尔、乔布斯那样，大学没毕业就退学去创办一家世界级的大企业？火车不是推的，牛皮不是吹的。你要是有本事，就用 事实证明给人家看，而不是成天抱怨！    <br />对于身在职场的朋友而言，这一心态同样重要。中国有一个词，叫“虚怀若谷”。我们都知道，优秀的人有极高的素养，甚至是虚怀若谷，他们都有一个能包容一切 的胸怀，有了这样的胸怀，你在职场上就会获得别人的尊重，就会获得更多的发展机会。类似的词还有“大智若愚”“大巧若拙”等等，不多说，自己去体会（要想 在职场上发展得更顺利，同样可以参加一下卓远致行的《优秀员工成长手册》培训课程，对于积极职场心态的建立很有帮助）。    <br />六、要懂一点做人的常识    <br />职场就像一个大熔炉。在职场中，不仅仅是要挣一碗饭吃，更重要的是学会做人的道理。如果连最起码的道理都不懂，你不仅得不到别人的尊重，更会失去更多的发展机会。因为，在中国，人际关系也是生产力。中国有句古话：得道多助，失道寡助。    <br />我见过很多人，虽然已经工作多年，但对于做人，却连一点最基本的常识都不懂。做人的道理万万千，但其中最重要的，莫过于以下三条：    <br />1、严于律己，宽以待人。职场不同于生活。虽然职场上同事之间的相互关系表面上会比较好，但你总会感觉到缺点儿什么。非常明显的一点，就是大家都在相互利 用，人与人之间难免会因为利益关系而闹得不愉快。这时候，你若是锱铢必较，势必引起同事之间的不愉快。在这种情况下，为避免纠纷，同时也为了赢得他人的尊 重，你要学会大度一些，容忍一些。出现问题时，首先想想是不是自己出了问题，而不是一出现问题就去找别人的责任（长此以往，你的心态就会变得非常不平衡， 因此也难以容人了）。严于律己，宽以待人，是十分必要的。长期下去，你会积累很多的人脉，会得到大家的尊重；而你需要帮助时，大家也乐意伸手。    <br />2、学会倾听。无论什么时候，倾听都显示出一个人的职业素养。与别人交谈时，一定要记住等对方说完话时再发表意见，切不可中途插话或者打断他人。通过这种方式，大家都乐意和你交往，同样也会有助于树立你个人在大家心目中的形象。    <br />3、诚实守信。职业中固然处处充满了相互利用、利益至上的现象，在这种情况下，诚实守信仍然不失为一种传统美德。诚信同样可以带来效益。只要你诚实守信， 长此以往，大家都会对你形成一种良好的印象，都愿意和你交往。而那种两面三刀、当面一套背后一套的人，固然可以占一点小便宜，但要想成就大事业，诚实守信 的基本原则绝对不能丢（至于更多的做人技巧，卓远致行的《优秀员工成长手册》和《职场晋升实战心法》培训课程里都有很多详细实用的讲解）。    <br />七、要学会遵守游戏规则    <br />我为什么在文章一开头就提醒“愤青”或者“类愤青”们不要看这篇文章？因为他们多半是放荡不羁、不会遵守游戏规则的主儿！很多人都会感觉到，在职场上发 展，不仅会受到各种约束，而且处处都充满了不公平现象。比如上班迟到老板会扣你工资，但你加班的时候却从来没有拿过加班工资。这是最常见的一种现象，其他 不公平的现象也比比皆是，这里就不多就了，大家都有体会。    <br />在这个世界上，不要奢求公平。那只是一种乌托邦式的理想，从来都不存在于现实社会中。员工和老板之间的关系，就好像是一场游戏。是游戏就会有游戏规划，否 则，游戏就玩不下去。但是，游戏规则是谁制定的呢？当然是老板，各种利益也偏向老板！身在职场的你，一开始看不惯这种现象，是很正常的，因为你初涉职场， 本质上还是比较纯洁的。但你一定要学会慢慢接受这种游戏规则。不要试图改变这种规则，因为在老板面前，你没有太多的话语权。说得再难听些，你只是一个打工 的，混口饭吃，给你吃就不错了，还嫌饭凉？如果不想做，可以离开。还是那句话：中国什么都缺，就是不缺人。    <br />八、机会只垂青有准备的人!    <br />无论你再怎么抱怨，再怎么不开心，饭还是要吃的，觉还是要睡的，工作还是要做的，未来的事情永远只属于自己的。买房子也好，娶老婆也罢，压力只有自己扛， 老板不会为你操任何心。与其有时间去抱怨，但不如踏踏实实静下心来，好好提升自己的基本功，用事实证明自己的本事，让别人对你刮目相看，万不可因为自己的 书生意气而自做一个自毁前程的“愤青”。    <br />当然，你的准备是多方面的，除了专业技能外，其他的辅助技能也是非常必要的，比如沟通能力、人际关系处理能力、管理能力等等（卓远致行在这方面的培训经验 比较多，大家可以不妨去充充电）。当然，更重要的是要为自己的未来做一个规划，清楚地知道自己的目标是什么，应该怎么努力才能实现。适当的时候也要充充 电，不要舍不得那半个月的工资，这也算是为自己的未来进行投资，有什么舍不得的呢？如果你现在不学会“舍”，以后将永远也“得”不到。    <br />有时候，你之所以发展得不好，不是因为没有机遇，而是因为你没有准备好，导致机遇与你擦肩而过。这个社会就是这样，再怎么不合理，再怎么不公平，但是发展 机遇是时时都会面临的，只看你有没有准备好。你要是真的练就了一身令人刮目相看的真本事，说不定明天就有人请你做某世界500强的总裁也不一定呢。    <br />以上只是本人做HR多年的经验积累，希望对大家有所帮助。作为过来人，我真诚地希望在职的朋友们及即将就业的大学生们也能够以一种“空杯心态”看待这篇文 章。有时候，过来人的经验是非常有价值的，那是他们用时间和金钱换来的血汗教训。有的人偏偏不信这一套，认为只有自己亲自体会过，才能知道是什么滋味，别 人的经验只是别人的，和自己无关。如果你这样想，那我也没有办法。我也要有一种宽容的心态，冷静看待那些“不见棺材不掉泪，不撞南墙不回头”的“人才”。不是吗真诚希望看到这篇文章的朋友们，能够行动起来，不图为社会做多大贡献，只求你们能够在职场上发展得更顺利，买得起房子，养得起老婆孩子，供养得起两鬓成霜的父母，也就不枉此生了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=175</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>墨菲定理</title>
		<link>http://www.cloved.cn/?p=174</link>
		<comments>http://www.cloved.cn/?p=174#comments</comments>
		<pubDate>Sat, 27 Feb 2010 04:58:01 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[点滴生活]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=174</guid>
		<description><![CDATA[人生哲学
 1、别试图教猫唱歌，这样不但不会有结果，还会惹猫不高兴？
 2、别跟傻瓜吵架，不然旁人会搞不清楚，到底谁是傻瓜？
 3、不要以为自己很重要，因为没有你，太阳明天还是一样... ]]></description>
			<content:encoded><![CDATA[<p><b>人生哲学</b></p>
<p> 1、别试图教猫唱歌，这样不但不会有结果，还会惹猫不高兴？</p>
<p> 2、别跟傻瓜吵架，不然旁人会搞不清楚，到底谁是傻瓜？</p>
<p> 3、不要以为自己很重要，因为没有你，太阳明天还是一样从东方升上来？</p>
<p> 4、笑一笑，明天未必比今天好。</p>
<p> 5、好的开始，未必就有好结果；坏的开始，结果往往会更糟。</p>
<p><b>处事原则</b></p>
<p> 1、你若帮助了一个急需用钱的朋友，他一定会记得你——在他下次急需用钱的时候。</p>
<p> 2、有能力的——让他做；没能力的──教他做；做不来的──管理他。</p>
<p> 3、你早到了，会议却取消；你准时到，却还要等；迟到，就是迟了。</p>
<p> 4、你携伴出游，越不想让人看见，越会遇见熟人。</p>
<p><b>爱情意义</b></p>
<p> 1、你爱上的人，总以为你爱上他是因为：他使你想起你的老情人。</p>
<p> 2、你最后硬着头皮寄出的情书；寄达对方的时间有多长，你反悔的时间就有多长。</p>
<p> 3、当你越讨厌一个人时，他就会无时无刻不出现在你的面前，而当你想念一个人时， 翻 遍地球都找不到他。</p>
<p><b>生活常识</b></p>
<p> 1、东西越好，越不中用。</p>
<p> 2、一种产品保证60天不会出故障，等于保证第61天一定就会坏掉。</p>
<p> 3、东西久久都派不上用场，就可以丢掉；东西一丢掉，往往就必须要用它。</p>
<p> 4、你丢掉了东西时，最先去找的地方，往往也是可能找到的最后一个地方。</p>
<p> 5、你往往会找到不是你正想找的东西。</p>
<p> 6、你出去买爆米花的时候，银幕上偏偏就出现了精彩镜头。</p>
<p> 7、另一排总是动的比较快；你换到另一排，你原来站的那一排，就开始动的比较快了；你站的越久，越有可能是站错了排。</p>
<p> 8、等公车的时候，往往不是你想等的车已经过去好几趟，而你等的车还是没有出现。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=174</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>没有开始,没有结束</title>
		<link>http://www.cloved.cn/?p=173</link>
		<comments>http://www.cloved.cn/?p=173#comments</comments>
		<pubDate>Thu, 25 Feb 2010 14:49:58 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[点滴生活]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=173</guid>
		<description><![CDATA[你就像那湖面上的波纹   激起我内心的颤动    我以为那时永恒的开始    却发现那只是永远的一瞬    你是那昨日含苞待放的荷花    绽放在我的怀中    却要永远的凋落    直到永远，永远    永远... ]]></description>
			<content:encoded><![CDATA[<p>你就像那湖面上的波纹   <br />激起我内心的颤动    <br />我以为那时永恒的开始    <br />却发现那只是永远的一瞬    <br />你是那昨日含苞待放的荷花    <br />绽放在我的怀中    <br />却要永远的凋落    <br />直到永远，永远    <br />永远的失去，才能让我懂得    <br />什么叫珍惜</p>
<p>&#160;&#160;&#160; 刚来到这个城市,充满的是神秘.我以为我会迷失在这城市中,我以为这段时光只是我生命中一个很普通的部分,我以为,我很快就可以离开这里了.    <br />&#160;&#160;&#160; 那时一个炎热的下午.我匆忙赶去学校.突然撞到一个人了,我连忙道歉.那个人不依不挠,纠缠中我发现身边多了两个人,他们推推攘攘的把我带到一个胡同中,我才发现原来一切都是预谋好的.当时我除了害怕,几乎就不知道要做什么,他们开始要打我了,准备抢我身上的钱.我只抱着头,我不希望他们把我眼睛打坏了.突然有种绝望的感觉,我相信在家乡是不会有这种事情的.为什么我会来到这里的!    <br />&#160;&#160;&#160; 仿佛是上天的眷顾,突然出现了一个女孩,年龄估计比我小2,3岁,脸上充满正义,眼神直射杀意.那一刻,我感觉到是女神下凡,仿佛看到了阳光,看到了希望.她要帮我!她喊那些人停手.那几个人几声奸笑,觉得世界上还有那么可笑的事情发生.而几乎同时,我也似乎意识到了问题,我只想她快走,那几个是坏蛋,没有人性的.我想冲出去,想把他们撞倒,想把他们顶住.但我没有,我没有那勇气,我也不知道自己当时做了什么.可是只要3秒钟,事情就发生了改变,那女的后面来了好几个大汉,那三个男的一看,也没说什么,直接就找路跑了.我以为只会发生在电影里的事情竟然发生在我身上.我忘了当时说什么了,只是呆呆的坐在那里.一会,那女的跟一个男的说:哥,你们先去,我一会就来.她把我拉起来,含蓄的笑了笑,拍拍我:没事了!我低着头,跑向学校.    <br />&#160;&#160;&#160; 我以为故事就这样结束了.    <br />&#160;&#160;&#160; 世界上可能没有比这更巧的事情了.一天,有一个网友加我,我一看,是本地的,而且是个女的,我犹豫了一下,通过了.后来在聊天中我发现她是那么的熟识,我试着问她那天的事情.天,真的是她!她是学校附近一高中女生,平时不怎么学习,倒是在社会上混起来了.我又以为那是电影里的事情又发生了,我开始后悔那天没看清她的样子.在我的眼中,这样一个女子实在是太好奇了.    <br />&#160;&#160;&#160; 接着我发现她也很少上网,几天才来一次,而且没什么规律,但渐渐的我发现我刻意等她上线了.虽然我知道那天的事情没什么大不了的,最多被他们抢光身上的钱然后被他们打一顿;反正是不会死的!但是,我发现我真的控制不了自己了,没事的时候我也会做在电脑前发呆.怎么办呢?    <br />&#160;&#160;&#160; 一天,她上线了,跟我说要去打架了.如果没有上次的经历的话可能我当时会觉得可笑,一个女孩打什么架呢?但我知道她是真的,那时候表现得有点担心了.我说了很多,我叫她别去,很危险.后来可能她有点烦了,直接就下了.我也有点后悔了,怎么就那么唧唧歪歪呢?两天后她上线了,终于没事了,我也松了口气.    <br />&#160;&#160;&#160; 有一次无意中谈到了学习,我发现她真的不爱学习,功课很烂,成绩就不要提了.那时候我也是刚刚经历了从高中生活到大学生活的转变,我觉得人生还是要努力的.于是我就又劝她别出去混了,平时要多多学习,没事的时候就看看书,说了很多,差点没冲动的说我帮你补习吧.这一次,出奇的她从头到尾都没表现出不耐烦.我觉得她会变好的.    <br />&#160;&#160;&#160; 时光就是在这样不知不觉中过去的.    <br />&#160;&#160;&#160; 一天,我上线发现她给我留言了,约我第二天晚上去XX酒吧见面.但是很吃惊,倒不是说怕见面,而是在那样的地方,我可从来没去过.我什么都没回答.第二天晚上,我还是去了,因为我实在是忍不住.我一进去,空气很闷,灯光也很昏暗.说实话,那天以后就没看过她,我还真不一定能认出她来.我大概的转了一圈,没有看到有感觉的,就找了个角落静静的坐下来.我看着周围的人,似乎都是为了喝酒而喝酒的.有的已经醉得不行了,有的还在撑着,划拳声很大,烟味也很浓.我想,人活在这样的气氛下,心情都会是怎样的呢?实在无聊,我也要了一瓶啤酒,静静的等着.    <br />&#160;&#160;&#160; 突然我发现有人向我移动了,一个女的.是她吗?灯光很昏暗,渐渐的我发现果然是她,虽然不是很认得,但是那张脸我是不会忘记的.当时她的脸很红,可能来了很长时间,喝了不少了.这次没有上次的那份霸气了,除了那眼神,我分明看到一张清秀的脸.    <br />&#160;&#160;&#160; 她一过来就亲我的脸.我马上就脸红了,也许她是我碰到的最开放的女孩,也许她是最不适合我心目中的女朋友的人.但是我发现我已经爱上她了,而且是不可救药的爱上她了.我知道这是我的不对,我不应该违背自己的原则的,但是她是那么的大胆,那么的奔放,仿佛一朵马上就要开放的荷花,我控制不了自己了.我还是呆呆的坐着,忽然她也静了下来.我们都静静的.但是我能感觉到她很伤心.我也开始伤心了.    <br />&#160;&#160;&#160; 但我还是什么都没说.我要走了.她轻轻的说.我还是没反应.    <br />&#160;&#160;&#160; 我们一起出来了,去了人民广场的草地上坐着.她跟我讲她的生活.从小她哥哥就在社会上混,然后带这她到处走,到处打架.后来家里人把她送到学校,但她心思根本没放在学习上,再学校也是一样,看到谁欺负弱小,她也会挺身而出.到了高中,还是一样.前段时间高考了,虽然考得不怎么样,但是还是要去上大学了,都是家里人,特别是哥哥的意思.我偷偷的看了她一眼,这是一个即普通又不平凡的女孩吗?她怎么就能牵动我的心呢?原来以为的热烈奔放难道只是离别的一个信号?还是伤心的一种释放呢?认识了一年多了,还是那么的陌生,我要不要把我喜欢她告诉她呢?她会不会喜欢我呢?    <br />&#160;&#160;&#160; 我犹豫了很长时间,一直不敢说,她靠着我,我们看着天上的星星,哪一颗才是属于我,属于我们的呢?我轻轻的说:我喜欢你!心跳很快.她看了我一眼,没说什么,我们继续看星星,只是我没觉得遗憾了.我心里坦然了很多,因为我要说的话都说了.    <br />&#160;&#160;&#160; 我们就这样离开了,还没有开始,所以没有结束.    <br />&#160;&#160;&#160; 第二天她给我留言:我也喜欢你!    <br />&#160;&#160;&#160; 心中很欣慰,我笑了&#8230;&#8230;我知道我们还是有希望的,只要等我毕业,我一定会去你读书的地方工作的,只要你肯等我!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=173</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>博客重新开通了</title>
		<link>http://www.cloved.cn/?p=172</link>
		<comments>http://www.cloved.cn/?p=172#comments</comments>
		<pubDate>Thu, 25 Feb 2010 11:42:37 +0000</pubDate>
		<dc:creator>许石南</dc:creator>
				<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.cloved.cn/?p=172</guid>
		<description><![CDATA[&#160;&#160;&#160;&#160;&#160;&#160;&#160; 辛苦了2天,终于把原来被我弄得很混乱的博客整理了一下,主要是把twitter去了,这些东西过段时间再关注吧,老
是被封,搞得我twitter和facebook都没久没上去了(不习惯... ]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 辛苦了2天,终于把原来被我弄得很混乱的博客整理了一下,主要是把twitter去了,这些东西过段时间再关注吧,老</p>
<p>是被封,搞得我twitter和facebook都没久没上去了(不习惯翻墙).加了个音乐盒,无聊的时候可以在自己博客听音乐,主</p>
<p>要也是一些比较悲的音乐了.参考了一些站点,最后还是保留了这个皮肤,感觉看上去比较舒服,以后自己再慢慢搞其</p>
<p>他的上去吧,老是窃取别人的劳动成果好像也不是很好.</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 最近工作不是很忙,私事就比较多.要好好处理,新的一年,也应该为自己打算打算了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloved.cn/?feed=rss2&amp;p=172</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
