<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[疯子空间]]></title>
<link>http://www.fengwanfeng.com/</link>
<description><![CDATA[坚持卓越，拒绝平庸。]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[breakin83@hotmail.com(冯万峰)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>疯子空间</title> 
	<url>http://www.fengwanfeng.com/images/logos.gif</url> 
	<link>http://www.fengwanfeng.com/</link> 
	<description>疯子空间</description> 
</image>

			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=55</link>
			<title><![CDATA[座机呼叫转移设置方法]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[日记]]></category>
			<pubDate>Fri,22 Jan 2010 15:01:33 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=55</guid>	
		<description><![CDATA[遇忙呼叫转移：*40*需转移号# 取消方法：#40#<br/><br/>无应答呼叫转移: *41*需转移号# 取消方法：#41#<br/><br/>无条件呼叫转移：*57*需转移号# 取消方法: #57#<br/><br/>一般情况下座机和小灵通设置方法相同。]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=54</link>
			<title><![CDATA[多个ul 不随浏览器大小变化换行的问题]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[一般技术资料[引用]]]></category>
			<pubDate>Thu,14 Jan 2010 16:03:08 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=54</guid>	
		<description><![CDATA[&lt;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.0 Transitional//EN&#34;&gt; <br/>&lt;html xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34;&gt; <br/>&lt;head&gt; <br/>&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt; <br/>&lt;title&gt;toolsbar &lt;/title&gt; <br/>&lt;style&gt; <br/>*{ font-size:12px;} <br/>.toolsbar-wrap{ width:100%; height:25px; border:1px solid #006699; overflow:hidden;} <br/>.toolsbar-wrap ul{ padding:0px; padding:0px; margin:5 2 0 2px;} <br/>.toolsbar-wrap ul li{ float:left; white-space:nowrap;display:inline;} <br/>.toolsbar-wrap .barL{ width:5px; background-color:#999900;} <br/>.toolsbar-wrap .barR{ width:5px; background-color:#FF6600;} <br/>.toolsbar-wrap .barC{ background-color:#99CC00;} <br/>&lt;/style&gt; <br/>&lt;/head&gt; <br/>&lt;body&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&#34;toolsbar-wrap&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barL&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barC&#34;&gt;新建 &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barR&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barL&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barC&#34;&gt;编辑 &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barR&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barL&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barC&#34;&gt;删除 &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barR&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barL&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barC&#34;&gt;我的文档 &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&#34;barR&#34;&gt; &lt;/li&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt; <br/>&lt;/body&gt; <br/>&lt;/html&gt;<br/><br/>对我有用[0]丢个板砖[0]引用举报管理TOP 回复次数：10<br/><br/><br/>sxu_juan<br/>(sxu_juan)<br/>等　级：<br/>#1楼 得分：0回复于：2009-12-29 16:46:56<br/>ie8中看了没有问题<br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/>精华推荐：Function.prototype什么意思，Function指的是什么，不是很清楚<br/><br/>sonzu<br/>(sonzu)<br/>等　级：<br/>#2楼 得分：0回复于：2009-12-29 17:01:45<br/>用css的folat:left的属性 <br/>对ul进行 <br/>如下： <br/>&lt;ul &gt; <br/>&lt;li&gt;摩尼菲格 &lt;/li&gt; <br/>&lt;li&gt;休闲女装 &lt;/li&gt; <br/>&lt;/ul&gt; <br/>就可以了 <br/><br/>可以的话就进群内交流下：div+css技术/美工群:15001254 <br/><br/><br/><br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/>精华推荐：JavaScript游戏帖汇总(更新中......)<br/><br/>ming1921<br/>(封夕)<br/>等　级：<br/>#3楼 得分：0回复于：2009-12-29 19:07:15<br/>ie6也没事啊 <br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/>精华推荐：EasyUI新组件-拖拽类EasyDragDro&#112;，弹出层基类EasyLayer，遮罩类EasyMask，Popup类<br/><br/>ming1921<br/>(封夕)<br/>等　级：<br/>#4楼 得分：0回复于：2009-12-29 19:07:49<br/>ie6也没事啊 <br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/>精华推荐：【软件分享】WEB五子棋，人和人对战。(Javascript+C#)<br/><br/>natici<br/>等　级：<br/>#5楼 得分：0回复于：2009-12-30 09:20:52<br/>lz的源码在ie6 火狐下都没换行，不知道lz是用的什么浏览器测试出现换行了？<br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/>精华推荐：【原创】JavaScript 颜色梯度和渐变效果【更新版】<br/><br/>lzz624<br/>(lzz624)<br/>等　级：<br/>#6楼 得分：0回复于：2009-12-30 12:20:06<br/>同意楼上的<br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/><br/>gzcat<br/>(阿茂)<br/>等　级：<br/>#7楼 得分：0回复于：2009-12-30 15:16:11<br/>补充一下， <br/><br/>页面缩小时，没有位置了，就换行了， overflow:hidden;是隐藏作用的，但是没有较。<br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/><br/>mehere8<br/>(Weel Young)<br/>等　级：<br/>#8楼 得分：0回复于：2009-12-31 12:46:08<br/>用了float 改变浏览器的大小会是元素下移&nbsp;&nbsp;&nbsp;&nbsp;display: inline 也应该一样 <br/><br/>应该做了 id=&#34;container&#34;&nbsp;&nbsp;限定其宽度&nbsp;&nbsp;那么改变浏览器大小就没事了 <br/><br/>e.g. <br/>#container { width:960px; margin: 0,auto;} <br/><br/>&lt;div id=&#34;container&#34;&gt; <br/>&lt;!-- 你的其他代码 --&gt; <br/>&lt;/div&gt; <br/>对我有用[0]丢个板砖[0]引用举报管理TOP<br/><br/>bakdfkuk<br/>(bakdfkuk)<br/>等　级：<br/>#9楼 得分：0回复于：2009-12-31 13:15:58<br/>没有问题啊<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=53</link>
			<title><![CDATA[详解CSS的优先权]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[一般技术资料[引用]]]></category>
			<pubDate>Thu,14 Jan 2010 15:05:41 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=53</guid>	
		<description><![CDATA[发现很多朋友对 CSS 的优先权不甚了解，规则很简单。需要说明的一点，如果你的样式管理需要深层判断 CSS 的优先权，更应反思自己的 CSS 代码，是否合理？是否优化？<br/><br/>CSS2.1 中规定了关于 CSS 规则 Specificity（特异性）的计算方式，用一个四位的数字串（注：CSS2 中是用三位）来表示，最后以 Specificity 的高低判断 CSS 的优先权。<br/><br/>Specificity 具体的计算规则：<br/><br/>元素的 style 样式属性，加 1,0,0,0。<br/>每个 ID 选择符（#id），加 0,1,0,0。<br/>每个 class 选择符（.class）、每个属性选择符（例 [attr=”&#34;] ）、每个伪类（例 :hover），加 0,0,1,0。<br/>每个元素或伪元素（例 :firstchild）等，加 0,0,0,1。<br/>其他选择符（例 全局选择符 *，子选择符 &gt;），加 0,0,0,0。<br/>最后逐位相加数字串，得到最终的 Specificity 值，按照从左到右的顺序逐位比较。<br/><br/>除了 Specificity 还有一些其他规则：<br/><br/>!important 声明的规则高于一切，如果 !important 声明冲突，则比较优先权。<br/>如果优先权一样，则按源码中“后来者居上”的原则。<br/>由继承而得到的样式属性不参与 specificity 的计算，低于一切其他规则（例 全局选择符 * ）。<br/>范例分析：<br/><br/><br/>h1 {color: red;}<br/>/* 只有一个普通元素加成，结果是 0,0,0,1 */<br/>body h1 {color: green;}<br/>/* 两个普通元素加成，结果是 0,0,0,2 */<br/>/*0,0,0,1 小于 0,0,0,2 ，后者胜出*/<br/><br/>h2.grape {color: purple;}<br/>/* 一个普通元素、一个class选择符加成，结果是 0,0,1,1*/<br/>h2 {color: silver;}<br/>/*一个普通元素，结果是 0,0,0,1 */<br/>/*0,0,1,1 大于 0,0,0,1 ，前者胜出*/<br/><br/>html &gt; body table tr[id=”totals”] td ul &gt; li {color: maroon;}<br/>/* 7个普通元素、一个属性选择符、两个其他选择符（子选择符 &gt;），结果是0,0,1,7 */<br/>li#answer {color: navy;}<br/>/* 一个ID选择符，一个普通选择符，结果是0,1,0,1 */<br/>/*0,0,1,7 小于 0,1,0,1，后者胜出*/<br/><br/>节选 old9 的《CSS的优先权》（无法穿越 GFW）]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=52</link>
			<title><![CDATA[div+css 背景图片的定位取图问题详解]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[一般技术资料[引用]]]></category>
			<pubDate>Fri,08 Jan 2010 11:46:03 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=52</guid>	
		<description><![CDATA[<br/>我们在研究其他的网站的样式的时候经常会发现一种情况，就是在很多background属性里都调用同一张图片，来满足网页各个部分的使用。打开这种图片看一下，会发现这张图片上包含了很多小图片，比如：<br/><br/><br/><br/>又如：<br/><br/><br/><br/>这些小图片就是整图分割后的各个部分，把各个部分放在一张图片上，而不是是分别存储成单独的图片，其目的我们都知道，就是减少http请求次数，节省时间和带宽。<br/><br/>那么怎么来实现一张图片在不同的地方只显示其中的一部分呢，这就用到了我们今天要说的背景图片的定位问题。这个问题相信很多人都郁闷过，也经常有朋友问我，所以今天就系统的说一下：<br/><br/>我们知道在用图片作为背景的时候，css要这样写，以div容器举例子，也可以是body、td、p等的背景，道理一样。<br/><br/>代码：<br/><br/>div{ background:#FFF url(image) no-repeat fixed x y;}<br/><br/><br/>这里的background的属性值依次为：<br/><br/>#FFF 背景色：（颜色值，背景图片没有覆盖的地方，或者没有背景图片时表现的背景色）<br/>image 背景图片：（这里是图片的地址）<br/>no-repeat 是否重复：（图片小于容器的大小时，默认会重复排列图片以填满容器，no-repeat表示不重复，只有这个时候后面的定位坐标才有用。）<br/>fixed 背景是否随容器滚动：（有两个可选值，scroll滚动，fixed不滚动，默认是scroll）<br/>x y 背景图像的定位：（注意，只有在no-repeat下定位才有意义。这个就是今天要讲的重点）<br/><br/>背景图像定位中我们要明确的几点：<br/><br/>1、两个值前面一个是横向的定位，我们称为x轴方向定位。后面一个值是纵向的定位，我们称为y轴方向定位。如果只有一个值，那默认的就是x轴方向，这时y轴方向就默认的是上下居中对齐，也就是center。<br/>2、坐标轴的原点就是对应容器的左顶点。<br/>3、这个坐标的y轴箭头朝下，也就是右下方（容器内部）x y的值才都为正。<br/>4、x y值分别表示背景图片的左顶点相对于坐标原点（也就是容器的左顶点）的值。<br/>5、x y的值可以用百分比或者px来表示。<br/>6、x y也可以用“left、right、top、bottom、center”这五个对齐方式来表示，但注意：用“left、right、top、bottom、center”来表示的时候，应用的是对齐规则，而不是坐标规则。x为left是表示图片的左边和容器的左边对齐，为right的时候表示图片的右边和容器的右边对其，y为top的时候表示图片的顶部和容器的顶部对齐，为bottom时表示图片的底部和容器的底部对齐，x y等于center的时候表示居中对齐。<br/>7、x y用百分比或者px表示的时候，其值可以为负数。我们应用坐标规则就很容易理解负数表示的意义，x为负数时候表示图片左顶点在容器左顶点的左侧，y为负数时表示图片的左顶点在容器的左定点的上方。也就是向左和向上超出容器的范围。<br/><br/>下面我用几个图示来说明一下几种情况，蓝色块表示图片，虚线框表示容器（可以div，td，或者直接就是body），注意只有背景图片在容器内我们才能看见，我用白色表示可见部分，而且超出容器范围的是看不见的，我用灰色表示。容器的左定点的坐标就是（0，0）。<br/><br/><br/>第一张，背景图片和容的左上对齐，0px 0px 也可以写成left top<br/><br/><br/>第二张，背景图在容器中间，定点坐标为正值<br/><br/><br/>第三张，背景图部分在容器左上，定点坐标为负值<br/><br/>--------------------------------------------------------------------------- <br/><br/>到此我们可能就明白了如何用background里的定位值来准确定位一个背景图片，返回去我们看一下开始的时候介绍的两个图片，我们就是可以用：背景定位和容器内才可见这两个性质来随意的调用整张图片的某一部分。<br/><br/>但是我们为了调用方便，在排列这些小图片的时候要讲究一点规则，比如：小图之间的距离通常是调用小图的容器的大小，或者距离更大一点，这样就可以避免在容器内显示出我们不愿意显示的图片！<br/><br/>补充一点，如果定位用的是百分比话，算法比较特殊。我举个例子：<br/><br/>代码：<br/><br/>background:#FFF url(image) no-repeat fixed 50% -30%;<br/><br/><br/><br/>这个时候图片应该在容器的什么位置呢,算法公式如下： <br/><br/>图片左顶点距容器左顶点的坐标位置为 <br/>x：（容器的宽度-图片的宽度）x50% <br/>y：（容器的高度-图片的高度）x（-30%） <br/>得到的结果应用坐标法则，差值如果为负数，百分比为正那么运算结果是负值。如果差值为负数，百分比也为负数，那么运算结果就是正数。总而言之就是这里的运算符合运算法则。把运算的结果带入坐标法则就能得到图片的位置。 <br/><br/>比如：容器是width：600px；height：600px；而图片是width：200px；height：200px； <br/>我们用上面的样式，可以得到图片位置为： <br/>x：(600px-200px)*50% <br/>y：(600px-200px)*(-30%) <br/>如下图：<br/> <br/> <br/>]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=51</link>
			<title><![CDATA[应用程序之间互相通讯的几种方法 ]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[一般技术资料[引用]]]></category>
			<pubDate>Fri,07 Mar 2008 09:34:10 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=51</guid>	
		<description><![CDATA[应用程序之间的数据交换（互相通讯）一直是困扰广大程序员的难题，尽管已经出现了各式各样的解决方案，但迄今为止没有哪一种方案是完美无缺的。因此，只有学习并了解了它们的优缺点后，才能在特定的情况下选择最佳方案，以满足最终的要求。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　1、共享&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　在硬盘上建立一个文件，一个应用程序往该文件里写数据（可以不关闭文件，但必须刷新缓冲区），另一个应用程序以共享方式打开这个文件并读取其中的内容，这便是最简单的一种数据交换方式。对于网络用户而言，只要两台终端上安装的都是Win311&nbsp;&nbsp; For&nbsp;&nbsp; Workgroup或Windows&nbsp;&nbsp; 95（或NT），则只要设置一下目录共享，映射成网络驱动器，同样可以简单地实现数据交换。但它的缺点也是显而易见的：只能采取轮询的方式获得最新数据（效率低下），网络映射的驱动器绝对不能变动或取消（可靠性差），所以这是一种“低级”的通讯方式。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　2、DDE&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　每个Windows程序员都不会对DDE（动态数据交换）感到陌生，它是最早的基于Windows的数据交换方法，有三种方式可供选择：冷连接、温连接和热连接。一般都是由客户端向服务器端发出连接申请，并且必须指明服务器端的名字和标题。在连接建立后，数据可以双向流动。典型的例子如抓图软件SnagIt，它提供了DDE接口，能够让其它应用程序来控制它。DDE是完全向后兼容的，从16位平台转到32位，源代码几乎不用修改。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　DDE还有网络功能。使用过Win311&nbsp;&nbsp; For&nbsp;&nbsp; Workgroup的人大概都还记得，它自带一个非常吸引人的小程序“Chat”，能使两台计算机通过网络实时交谈，这在当时几乎是一项创举。可是很少有人知道“Chat”使用的是一种特殊的DDE，即NetDDE。它的基本工作原理仍然是DDE，但它能使一台计算机向在同一个网络中的另一台终端发消息，而不像普通DDE&nbsp;&nbsp; 只能局限在同一台机器上。与其它的数据交换方式相比，DDE已不够先进，而且Microsoft也不再积极支持DDE，所以它的前景不被看好。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　3、WM_COPYDATA&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Windows消息WM_COPYDATA功能强大，知之者却甚少。它的确切定义是：一个应用程序向另一个应用程序传递数据时所发出的消息。众所周知，Windows&nbsp;&nbsp; 在很大程度上依赖于消息机制，那么我们为什么不把数据放在消息中一起发送出去呢？这样，我们只要调用SendMessage（），以对方窗体的句柄作为第一个参数，以含有指向实际数据的指针结构的地址作为第二个参数，就可以把整个数据块当作消息发向另一个应用程序。也许有的程序员会说，一个自定义的消息同样可以完成这样的工作。他只说对了一半。自定义消息的确可以发送到其它的应用程序上去，但其原始数据所在的内存区只有在发送过程中才是合法的，若在其它模块中存取该内存区就会导致“Access&nbsp;&nbsp; Violation”。而使用WM_COPYDATA&nbsp;&nbsp; 则不存在这个问题，因为Windows&nbsp;&nbsp; 本身会替你处理这一切。深入钻研下去，你会发现它其实是先创建了一个文件映射的对象，将发送方的原始数据先拷贝至映射文件，然后再在接收方对这个映射文件打开一个“视图”。WM_COPYDATA&nbsp;&nbsp; 的不足之处在于：必须要有一个窗体来接收消息和数据（缺乏灵活性），数据在使用之前先得拷贝到一个映射文件（浪费资源）。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　4、NetBIOS&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　从80年代开始，NetBIOS就是开发Client/Server类程序的标准接口。而当时其它的解决方案几乎都是从UNIX系统上发展而来的。当然，对于今天的用户而言，NetBIOS已不是唯一的选择，他们可以从各种方案中择优选取。在Windows&nbsp;&nbsp; 95和NT平台上，可以通过API函数Netbios()来调用NetBIOS功能。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　NetBIOS兼容以下几种低层协议：NetBEUI协议（NBF）、NWLink&nbsp;&nbsp; NetBIOS(NWNBlink)、NetBIOS&nbsp;&nbsp; over&nbsp;&nbsp; TCP/IP(NetBT)。NetBIOS的优点是速度较快，缺点是可靠性较差。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　5、标准的Sockets和WinSock&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Sockets是15年前在UNIX系统上提出来的，一开始主要是用于本地通讯，但很快就应用在Client/Server体系上了。它的内核很简单：你可以将一个Socket看作是一个双向的节点，一个应用程序可以通过它先与另一个程序建立连接（建立在一个双方都认可的端上，以便于区分同时运行的几个通讯线程），然后就可以彼此交换数据了。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　微软公司在其基础上创建了WinSock，专门用于Windows接口，与Socket完全兼容。近年来基于TCP/IP协议的网络大行其道，Socket也随之获得了更加广泛的应用。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　如今，Sockets已在Internet上获得了最广泛的应用，主要是因为它的可移植性好：&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Socket应用程序无论在任何平台间都能互相进行通讯（不管是PC机还是Macintosh,也不管是Windows平台还是UNIX平台）。而最新推出的WinSock&nbsp;&nbsp; 2.0，已不仅仅只基于TCP/IP协议，还可基于其它几种传输协议（如IPX）。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Socket的缺陷是它工作在通讯的低层，所以实现起来较为复杂（如果是Win&nbsp;&nbsp; 95或NT平台，则不存在这个问题，微软公司提供了相应的控件）。但是，如果要在多个平台间互相通讯，则Socket是不二之选。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　6、Mailslot和Pipe&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Mailslot和Pipe有很多相同点，即都是高层的、基于内存的通讯系统。Mailslot由Server端创建，代码如下：&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　myMailslot&nbsp;&nbsp; =&nbsp;&nbsp; Cr&#101;ateMailslot(pSlotName,&nbsp;&nbsp; 0,&nbsp;&nbsp; MAILSLOT_WAIT_FOREVER,&nbsp;&nbsp; NULL);&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　然后，Client端就可以像打开文件一样打开这个Mailslot，再通过API函数WriteFile()来将数据写入到消息队列中。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　与此相类似，Pipe也是由Server端创建的，代码如下：&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　pipe&nbsp;&nbsp; =&nbsp;&nbsp; Cr&#101;ateNamedPipe(pPipeName,&nbsp;&nbsp; PIPE_ACCESS_DUPLEX,&nbsp;&nbsp; PIPE_TYPE_MESSAGE&nbsp;&nbsp; |PIPE_READMODE_MESSAGE&nbsp;&nbsp; |&nbsp;&nbsp; PIPE_WAIT,&nbsp;&nbsp; PIPE_UNLIMITED_INSTANCES,&nbsp;&nbsp; BUFSIZE,BUFSIZE,&nbsp;&nbsp; 20000,&nbsp;&nbsp; NULL);&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　接着，Client端就可以通过一般的文件API读写数据，代码如下：&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　pipe&nbsp;&nbsp; =&nbsp;&nbsp; Cr&#101;ateFile(pPipeName,&nbsp;&nbsp; GENERIC_READ&nbsp;&nbsp; |&nbsp;&nbsp; GENERIC_WRITE,&nbsp;&nbsp; 0,&nbsp;&nbsp; NULL,&nbsp;&nbsp; OPEN_EXISTING,0,NULL);&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　success&nbsp;&nbsp; =&nbsp;&nbsp; WriteFile(pipe,&nbsp;&nbsp; pMessage,&nbsp;&nbsp; strlen(pMessage)&nbsp;&nbsp; +&nbsp;&nbsp; 1,&nbsp;&nbsp; &amp;bytesWritten,&nbsp;&nbsp; NULL);&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Pipe分两种，即命名Pipe和匿名Pipe。匿名Pipe是以句柄而不是以名字来进行标识的，因而也就限制了它只能在同一台机器上通讯，而不能应用于网络。命名Pipe则提供了以名字来进行标识，所以能在网络上的其它任何地方打开它。需要注意的是：命名Pipe只能在&nbsp;&nbsp; Win&nbsp;&nbsp; NT而不是Win&nbsp;&nbsp; 95上创建（即Server端），Client端则可以是任意平台。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Pipe既可以单向通讯也可以双向通讯，Mailslot则只能单向通讯。Client端可以发送消息给mailslot，但不能接收消息；如果你想要接收消息，则只能创建一个新的mailslot。但mailslot有一个很大的优点：它支持数据广播。也就是说，若Client端发送一条消息，则整个网络中的同名对象都能收到。这是因为mailslot的名字的作用域只是在本台机器上，所以可在不同机器上创建同名的mailslot，当Client端发来消息时则每一台机上的mailslot都得到了该消息的一份拷贝，并在本机上作出相应的反应。Mailslot的最大缺陷是不可靠，因为它的数据是以数据报格式来传送的，网络错误或负荷过重都会导致数据丢失。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　Pipe则较为可靠，但它不能广播。所以，如果你不需要进行广播，则Pipe是更好的选择。选择Mailslot，则要对此后遇到的麻烦有充分的准备。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　7、剪贴板（Clipboard）&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　大家对Windows的剪贴板应该不会感到陌生吧？它的出现就是为了实现应用程序间的互相数据交换。Windows提供了一系列的API函数来让应用程序安全地打开剪贴板，读写其中的数据。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　剪贴板的缺陷也是显而易见的：当有新的数据放在剪贴板上时，则先前的数据就会被冲掉，而在Windows中用到剪贴板的时候又实在太多了，所以这种方式用于程序间的通讯显然不够安全。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　8、COM和DCOM&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　公共对象模式（COM）是一种协议，它建立了一个软件模块同另一个软件模块之间的连接，然后将其描述出来。当这种连接建立起来之后，则两个模块之间就可以通过称为“接口”的机制来进行通讯。COM可以用不同的语言（VB、VC、Delphi）进行编制，又能被其它语言编写的程序所使用，并且不用管通讯双方实际所处的位置（是在同一台机上，还是在同一个网络上的不同机上）。事实上，Internet上有大量的COM控件可供人们下载使用，其中有相当一部分就是用于应用程序间的相互通讯（甚至是Internet程序间的通讯），硬盘上能够看到的大量的.ocx文件其实就是一种COM。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　COM对象为外部调用提供了一个标准的界面，COM&nbsp;&nbsp; Client通过创建COM&nbsp;&nbsp; Server的一个实例获得指针，转向所需的函数定义处并执行相应的程序。讲得通俗一点，也就是先正确定义好COM对象的属性（Property），再执行相应的方法（Method）。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　DCOM（分布式公共对象模式）是COM在网络上的一种扩展，它通过把分布式对象间的通讯变成一个实体来实现通讯。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　COM如今被微软公司大力提倡，最著名的有OLE、ActiveX、DirectX和Win95、WinNT的外壳。由于微软公司目前在软件业处于霸主地位，所以COM很有可能成为将来的业界标准，其前途也较为看好。但COM的庞大也会使一些经验丰富的程序员望而却步，他们宁可自己多写一些代码以使整个程序更为简洁、有效而不愿使用COM。&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;　　以上介绍的只是现今流行的一些通讯方法，它们各有各的优缺点，没有哪一种是万能的。因此，只有在合适的场合采用合适的方案，才是最好的解决办法。&nbsp;&nbsp; ]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=50</link>
			<title><![CDATA[世界就是一个班]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[日记]]></category>
			<pubDate>Thu,14 Feb 2008 16:29:39 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=50</guid>	
		<description><![CDATA[1、美国： 班长，学习好，家里有钱，人高马大，好打架。班里没几个人敢惹他。 和副班长关系不好。<br/>2、俄罗斯： 副班长，成绩优异，全班最高大，上学期光和班长顶着干。后来家里出事：分家！现在做事很消极，但在班级里有一定的影响力。 <br/>3、中国 ：团支书。幼儿园学习成绩很好。小学时由于体质差常被欺负，没事爱吹牛，由副班长罩着。 <br/>4、英国： 学习委员，学习成绩好。家里也很富。班长的跟屁虫，做事没主见，啥都听班长的。前些天和班长把伊拉克打了一顿。<br/>5、瑞士 ：美术课代表，班花。学习成绩好，清高。<br/>6、奥地利 ：音乐课代表。 <br/>7、阿富汗： 职务无。不爱学习。身材矮小。上学期被副班长打，班长帮忙付医药费。前几天把班长家的最高的两个家具砸了，被班长揍个半死，现在失忆中。 <br/>8、伊拉克： 无职务。学习差。但人高马大，上学期排全班第四。嘴硬，上学期欺负同桌被群殴。前些天被班长和学习委员冲进他家揍个稀巴烂。 <br/>9、印度： 好玩电脑，成了电脑课代表。经常和同桌巴基斯坦为一块课桌吵架。 <br/>10、巴基斯坦： 职务无。成绩一般。和团支书关系不错，经常和印度吵架。<br/>11、德国： 班级活跃分子，人高马大，擅长数理化。有野心，由于上学打了2架所以现在暂无职务。但认错态度较好。<br/>12、日本 ：无职位，成绩不错。思想品德很{巨}差。上学期刚被班长和团支书等人揍。现在还惦记着班长家的鱼缸。 <br/>13、越南 ：无职位。人品有问题,瘦弱。上学期被班长揍，幸好有副班长和团支书撑腰。后又挑衅团支书，被狂揍。 <br/>14、朝鲜： 无职位。有个性。和团支书关系好。近期和班长闹矛盾，班长扬言要揍他<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=49</link>
			<title><![CDATA[ICP备案通过！！！！！！！！！]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[日记]]></category>
			<pubDate>Tue,29 Jan 2008 09:15:57 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=49</guid>	
		<description><![CDATA[终于通过ＩＣＰ备案了，有户口了！哈哈]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=48</link>
			<title><![CDATA[语言与汽车]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[日记]]></category>
			<pubDate>Sat,26 Jan 2008 16:51:03 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=48</guid>	
		<description><![CDATA[　　Delphi就像吉普车，什么路上都能开，却在什么路上也开不好；PB就像卡丁车，只能在固定线路上开，到了室外就有些不稳了；VC就像跑车，你开得起却买不起，而且一旦发生故障，想修都找不到毛病在哪；Java就像敞篷车，不管刮风下雨，还是艳阳高照，都照开不误；VB就是摩托车了，骑得时间越长，你越痛恨它！]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=47</link>
			<title><![CDATA[《大腕》程序员三]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[日记]]></category>
			<pubDate>Sun,16 Dec 2007 14:15:04 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=47</guid>	
		<description><![CDATA[一定得选最底层的&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　怎么也得是汇编语言&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　用就用最难最原始的&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　用的人都是专家&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　历史最少也得40年&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　什么寻址呀，溢出呀，中断呀&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　一般语言能做的都能做&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　还特麻烦&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　动不动就要一个字节一个字节地去算&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　要会这一种语言&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　你得3岁时候准备开始学，80岁了还不能停&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　打开电脑就是TASM的的图标&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　界面丑，版本最早的那种&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　程序一写完，有错(儿)没错(儿)都得出正确结果&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　hello&nbsp;&nbsp; world&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　一口地道的BORLAND腔(儿)&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　倍(儿)有面子&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　有事没事的就学新技巧&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　输入代码&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　一年输入代码就得打几百万个字&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　还要这调试那修改的&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　一天二十四小时code&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　就是一个字(儿)&nbsp;&nbsp; 累&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　光键盘就得敲坏七八十个&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　现在这行市你不这么着你被人瞧不起&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　周围的同行不是学机器语言就是造CPU&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　你要是用VC++呀&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　你都不好意思跟人家打招呼&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　你说这样的语言，一天你得编多少小时&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　我觉得怎么着也得15个小时吧&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　15个小时&nbsp;&nbsp; 那是成名后的高手&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　20个小时起&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　你别嫌多&nbsp;&nbsp; 还不够&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　你得研究程序员的CODE心理&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　愿意一天花15个小时CODE的主&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　根本不在乎再多花5个小时&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　什么叫犯贱&nbsp;&nbsp; 你知道吗？&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　就是找写程序时&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;　　都用最难写的&nbsp;&nbsp; 不找最好写的&nbsp;&nbsp; ]]></description>
		</item>
		
			<item>
			<link>http://www.fengwanfeng.com/default.asp?id=46</link>
			<title><![CDATA[《大腕》程序员二]]></title>
			<author>breakin83@hotmail.com(admin)</author>
			<category><![CDATA[日记]]></category>
			<pubDate>Sun,16 Dec 2007 14:14:27 +0800</pubDate>
			<guid>http://www.fengwanfeng.com/default.asp?id=46</guid>	
		<description><![CDATA[一定得是N层结构，<br/>　　　　 层数越多越好，层少了用户会误会我们不重视，<br/>　　　　 什么数据访问层呀，实体控制层啊，能给他加上的全加上。<br/>　　　　 <br/>　　　　 程序员一定都得是老鸟，30以下基本不考虑，<br/>　　　　 还得清一色的外企空降兵，<br/>　　　　 都有10年以上编程经验的那种，用过的语言越多越好，<br/>　　　　 编程都不带查MSDN的，牛吧！<br/>　　　　 程序员个个都配IBM笔记本，<br/>　　　　 CPU要3G以上的，内存硬盘和屏幕都要最大的，<br/>　　　　 扩展槽别剩下，能插上的全插上。<br/>　　　　 能安的操作系统全安上，开机一屏幕上就一堆系统等你选，<br/>　　　　 倍有面子！<br/>　　　　 <br/>　　　　 系统平台就得是J2EE，人家竞争对手除了C++就是JAVA,<br/>　　　　 你要用一.NET都不好意思和别人打招呼。<br/>　　　　 你说这样的系统设计出来得卖多少钱？<br/>　　　　 我觉得怎么也得100万吧？<br/>　　　　 100万,那是单机版！<br/>　　　　 1000万起！<br/>　　　　 你还别嫌太贵，还不免实施服务费。<br/>　　　　 你得研究有钱用户得心理，<br/>　　　　 愿意花1000万买这套软件用的，<br/>　　　　 根本不在乎再多花上几百万！<br/>　　　　 <br/>　　　　 什么叫软件泡沫你知道么？<br/>　　　　 软件泡沫就是做都做最复杂的，<br/>　　　　 用就得用最贵的，还得特难用，显得用户水平高。<br/>　　　　 所以我们搞软件的口号就是：<br/>　　　　 不求好用，但求费劲! <br/><br/><br/>]]></description>
		</item>
		
</channel>
</rss>