<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[“我这”是产品管理/产品经理'S ]]></title> 
<link>http://www.wozhe.com/index.php</link> 
<description><![CDATA[产品经理,产品管理,用户体验,产品开发,挨踢人生---我这.com]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[“我这”是产品管理/产品经理'S ]]></copyright>
<item>
<link>http://www.wozhe.com/read.php/59.htm</link>
<title><![CDATA[别样俏江南]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Tue, 27 Apr 2010 10:07:12 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/59.htm</guid> 
<description>
<![CDATA[ 
	张兰语录，一个奋斗的有理想的值得钦佩的女性。<br/><br/>关于命运<br/><br/>我还从没有想过失败这两个字。心里认输了才是失败，我从没输过。<br/><br/>我不怕风险。为什么总想不好的？为什么不想那九千九百九十九。<br/><br/>目标是分阶段的，每一个阶段都不一样。在没有足够实力的情况下，就不会有更大的欲望。<br/><br/>我不认命。有许多人忙着找算命的，其实命运和个人的心态、性格、素质有直接关系，没有人能随随便便成功。<br/><br/>我不相信炒股，股市上没有大赢家。没有谁会一下子成功或失败，这不会是一夜之间的事情，是一天一天的积累。<br/><br/>当你觉得山穷水尽的时候，扛过去就是豁然开朗。但很多人就是扛不过去，所以从头再来，总在重复，人生就不完美。<br/><br/>有一个大师对我说，学业好比你的球鞋，事业好比你的皮鞋，家业好比你的拖鞋。人的一生这几种鞋都要不停地换，而且得跑起来，所以，挺难。但再难也要走下去。<br/><br/>人要成事，应该具备豁达、善良、自信、执著。<br/><br/>冲动来自于激情，平静得益于修炼。<br/><br/>关于经营<br/><br/>我不计代价，从不考虑风险，我相信直觉。到目前为止，凭我在这个行业里面20多年的经验，我的直觉还没出现过错误。<br/><br/>餐饮也是艺术，我用艺术家的心态去管理。<br/><br/>俏江南要做全球品牌，就要引进先进经验，而先进经验肯定是人带进来的。<br/><br/>空降兵如果抱怨水土不服，是在找借口，很大一部分是因为自己无能，心态调整不了，协调能力不够。<br/><br/>俏江南没把自己当成一家餐饮企业去推广，而是一直在推广一种文化。
]]>
</description>
</item><item>
<link>http://www.wozhe.com/read.php/48.htm</link>
<title><![CDATA[丢失计划的日子]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Thu, 15 Oct 2009 00:50:45 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/48.htm</guid> 
<description>
<![CDATA[ 
	最近一段日子里，工作的项目繁忙、十一长假奔波都让人身心疲惫，近一个月的时间里，要看的书没有动一页、要完成的规划也没有进展，甚至工作上也是疲于奔命，不过反过来也可以思考下失去计划，缺乏控制的状态和原因，先做一个对比表：<br/>有计划：执行性高，状态饱满，任务明确，效率高，工作结果和个人收获可以被测量。<br/>无计划：执行极差，状态低沉，琐事缠身，效率低，混日子。<br/><br/>再分析下丢失计划的原因： 主观上个人缺乏主动，目标丢失，缺乏热情，在生活、工作和学习之间缺乏有效调理；客观上工作任务繁杂，产品推动困难比较多，使得产生轻度焦虑感。<br/><br/>行动：近期一段时间的学习计划:产品上继续在UE和EC方面做深入分析，技术上PHP和C可以少量浏览。 工作上将重要的任务和产品多花精力去做，保证产品质量，将杂事集中起来批量解决，对有些任务、会议和人要勇于拒绝，答应了人家如果做不好，还不如交给更合适的人去做。<br/><br/>等过段时间后再来写一篇回顾的文章，看效果如何。<br/><br/><br/>
]]>
</description>
</item><item>
<link>http://www.wozhe.com/read.php/29.htm</link>
<title><![CDATA[c++ primer一些小贴士]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Wed, 01 Apr 2009 03:33:32 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/29.htm</guid> 
<description>
<![CDATA[ 
	C++确实提供了非常丰富的应用技巧，将一些小东西放在一个MAIN函数里展示下。<br/><textarea name="code" class="c" rows="15" cols="100">
#include <iostream>
int main()
&#123;
&nbsp;&nbsp;using std::cout; using std::cin;&nbsp;&nbsp;// using namespace std
&nbsp;&nbsp;using std::string;using std::endl;
&nbsp;&nbsp;char _('a');&nbsp;&nbsp;//下划线也可以作为变量名&nbsp;&nbsp;int _=2（复制赋值）效果等同于int _(2)（直接赋值） 
&nbsp;&nbsp;wchar_t __(L'b');&nbsp;&nbsp; //两个下划线为宽字符的变量名&nbsp;&nbsp; 
&nbsp;&nbsp;cout<<_<<endl; 
&nbsp;&nbsp;cout<<__<<"&#92;n"<<endl;
&nbsp;&nbsp;const int i = 5;&nbsp;&nbsp;//定义常量i&nbsp;&nbsp; 
&nbsp;&nbsp;int *p;&nbsp;&nbsp; //定义指针P
&nbsp;&nbsp;p = (int *)&i;&nbsp;&nbsp; 
&nbsp;&nbsp;cout << *p << "&#92;t" << i << endl;&nbsp;&nbsp; // output 5&nbsp;&nbsp;5
&nbsp;&nbsp;(*p)++;&nbsp;&nbsp;
&nbsp;&nbsp;cout << *p << "&#92;t" << i << endl;&nbsp;&nbsp; // output 6&nbsp;&nbsp;5
&nbsp;&nbsp;int a=1;
&nbsp;&nbsp;int &b = a;//&用在定义中仅表示变量的性质为引用
&nbsp;&nbsp;int *c = &a;//*用在定义中仅表示变量的性质为指针，&用在表达式中表示取地址
&nbsp;&nbsp;int d = *c;//*用天表达式中表示取指针变量所指的变量的值
&nbsp;&nbsp;cout <<a<<'&#92;n'<<b<<'&#92;n'<<*c<<'&#92;n'<<d<<endl; //output 1 1 1 1
&nbsp;&nbsp;d=2;
&nbsp;&nbsp;cout<<a<<'&#92;n'<<d<<endl; //output 1 2
&nbsp;&nbsp;typedef unsigned int age; //定义AGE类型
&nbsp;&nbsp;age e='23';&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;cout<<e<<endl;
&nbsp;&nbsp;enum weekday &#123;Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday&#125;;//枚举
&nbsp;&nbsp;int f; 
&nbsp;&nbsp;cin>>f;
&nbsp;&nbsp;cout<<f<<endl;
&nbsp;&nbsp;f>2?cout<<"f>=10"<<endl:cout<<"f<=10"<<endl;
&nbsp;&nbsp;string&nbsp;&nbsp;d222 (41111,'.');&nbsp;&nbsp; //定义string类型变量d222是41111个.组成
&nbsp;&nbsp;cout&nbsp;&nbsp; <<&nbsp;&nbsp; endl&nbsp;&nbsp; <<&nbsp;&nbsp; endl&nbsp;&nbsp; <<&nbsp;&nbsp; d222.c_str()&nbsp;&nbsp; <<&nbsp;&nbsp; endl;&nbsp;&nbsp; 
&nbsp;&nbsp;cout&nbsp;&nbsp; <<&nbsp;&nbsp; endl&nbsp;&nbsp; <<&nbsp;&nbsp; endl&nbsp;&nbsp; <<&nbsp;&nbsp; d222[0]&nbsp;&nbsp;<<&nbsp;&nbsp; endl;&nbsp;&nbsp;//string可以用索引值取
&nbsp;&nbsp;int i2=1;&nbsp;&nbsp;//i2为int 赋值为1
&nbsp;&nbsp;int *p2=&i2;&nbsp;&nbsp;//指针指向的值引用变量i2
&nbsp;&nbsp;*p2=4;
&nbsp;&nbsp;cout<<*p2<<endl; //output 4
&nbsp;&nbsp;(char)i2; // 强转类型为char
&nbsp;&nbsp;cout<<i2<<endl; //output 4
&nbsp;&nbsp;return 0;
&#125;
</textarea><br/>Tags - <a href="http://www.wozhe.com/go.php/tags/c%252B%252B/" rel="tag">c++</a>
]]>
</description>
</item><item>
<link>http://www.wozhe.com/read.php/28.htm</link>
<title><![CDATA[汇编语言-寄存器]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Mon, 30 Mar 2009 01:17:50 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/28.htm</guid> 
<description>
<![CDATA[ 
	1 寄存器是CPU中程序员可以用指令读写的部件，通过改变寄存器中的内容来实现对CPU的控制。<br/>2 8086CPU有14个寄存器：AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW.<br/>3 8086CPU所有的寄存器都是16位的，可以放两个字节，AX.BX.CX.DX用来存放一般数据，称为通用寄存器。<br/>4 AX,BX,CX,DX由两个8位寄存器组成：AL,AH,BL,BH,CL,CH,DL,DH。<br/>5 一个字节由8个bit组成，可以放在8位寄存器中。一个字由2个字节组成，两个字节为高位字节和低位字节。<br/>6 任何数据都是以二进制单位存储的，也就是说计算机中的数据由1-N个8位数据组成的。<br/>7 mov ax,18 mov ah,18&nbsp;&nbsp;add ax,6 mov ax,bx&nbsp;&nbsp;add ax,bx 两个指令：MOV 送入数据&nbsp;&nbsp;ADD 相加数据 指令不区分大小写。<br/>8 ax:8226H bx 8226H&nbsp;&nbsp;add ax,bx&nbsp;&nbsp;044CH&nbsp;&nbsp; 第一位的1省略。 ax:00C5H add al,93h&nbsp;&nbsp;ax:0058H 第一位的在这个寄存器中1省略。<br/>9 8位和16位寄存器之间不能传递数据。<br/>10 8086CPU是16位结构：运算器最多可以处理16位的数据，寄存器的最大宽度为16位，寄存器和运算器之间的通路为16位。<br/>11 地址加法器：物理地址=段地址*16+偏移地址&nbsp;&nbsp;&nbsp;&nbsp;段地址*16也称为左移4位，指的是2进制下的数值左移4位。2^4=16。<br/>12 CPU访问内存时，以一个基础地址（段地址*16）和一个相对于基础地址的偏移底子相加，给出内存单元的物理地址。<br/>13 段地址不是内存分配的而是CPU标识的，一个段地址的长度最大为64KB，段地址*16必然为16的倍数，所以一个段的起始地址也为16的倍数，偏移地址为16位，寻址能力为64KB。所以将地址连续，起始地址为16倍数的一组内存定义为一个段。<br/>14 CPU可以用不同的段地址和偏移地址形成同一个物理地址，如21F60H的物理地址，只要SA*16+EA=21F60H就可以。<br/>15 CS个IP是8060CPU中最关键的两个寄存器，CS为代码段寄存器，IP为指令指针寄存器，CPU将CS:IP指向内存的内容当指令执行。<br/>16 CPU从何处执行指令是由CS:IP中的内容决定的，MOV 是传送指令，JMP 为修改CS:IP的指令，jmp ax,&nbsp;&nbsp;执行前 ax=1000H CS=2000H IP=0003H 执行后 ax=1000H&nbsp;&nbsp;CS=2000H&nbsp;&nbsp;IP=1000H<br/>17 8086CPU工作过程：从CS:IP指向的内存单元读取指令，读取的指令进入指令缓冲器，IP指向下一条指令，执行指令并开始循环这个过程。<br/>18 DEBUG R-查看改变寄存器内容&nbsp;&nbsp;D-查看内容&nbsp;&nbsp;&nbsp;&nbsp; E-改写内存中的内容 U-将内存中的机器指令转为汇编指令 T-执行一条机器指令 A-以汇编格式在内存中写入一条机器指令。 <br/>Tags - <a href="http://www.wozhe.com/go.php/tags/%25E6%25B1%2587%25E7%25BC%2596/" rel="tag">汇编</a>
]]>
</description>
</item><item>
<link>http://www.wozhe.com/read.php/27.htm</link>
<title><![CDATA[汇编语言-基础知识]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Fri, 27 Mar 2009 01:19:58 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/27.htm</guid> 
<description>
<![CDATA[ 
	1 机器语言：二进制0，1 以高低电平来标示，机器语言由CPU进行计算。<br/>2 汇编语言-》编译器-》机器码-》计算机运行<br/>3 存储器（内存）：存储单元=1个字节=1Byte=8bit=8个二进制位 1kb=1024B 1MB=1024KB 1G=1024MB 1TB=1024G,存储器被划分为若干个存储单元。<br/>4 CPU总线:地址-》地址总线 命令-》控制总线 数据-》数据总线<br/>5 地址总线：CPU根据地址总线来制定存储单元，地址总线传递信息的能力决定了CPU可以对多少个存储器进行寻址，CPU的地址总线宽度N 则CPU寻址能力为2的N次方个单元 。<br/>6 数据总线：数据总线的uandu决定了CPU和外接数据传输速度，8080 8088的宽度为8根，8086 80286为16根 80386为32根。<br/>7 存储芯片分为RAM（随机存储器）和ROM（只读存储器）两种，RAM 需要带电存储，可读写，关机后存储消失，ROM只读不写，可保存。<br/>8 十进制转二进制：十进制数做二的整除运算,并将所得到的余数倒过来． 例如将十进制的10转为二进制是这样： (1) 10/2,商5余0； (2) 5/2,商2余1； (3)2/2,商1余0； (4)1／2，商0余1 (5)将所得的余数侄倒过来，就是1010，所以十进制的10转化为二进制就是1010。<br/>9 二进制转十进制：　这里可以用8421码的方法．这个方法是将你所要转化的二进制从右向左数，从0开始数（这个数我们叫N），在位数是1的地方停下，并将1乘以2的N次方，最后将这些1乘以2的N次方相加，就是这个二进数的十进制了，例如求110101的十进制数．从右向左开始了 (1) 1乘以2的0次方，等于1； (2) 1乘以2的2次方，等于4； (3) 1乘以2的4次方，等于16； (4) 1乘以2的5次方，等于32； (5) 将这些结果相加：1＋4＋16＋32＝53。<br/>10 十进制转八进制：除8取，并将余数倒过来，例如将25.625转为8进制整数部分：25/8=3......13/8 =0......3然后我们将余数按从下往上的顺序书写就是：31，那么这个31就是十进制25的八进制形式 小数部分：0.625*8=5 然后我们将整数部分按从上往下的顺序书写就是：5，那么这个0.5就是十进制0.625的八进制形式 所以：（25.625）（十）=（31.5）（八进制）。<br/>11 八进制转十进制： 例如（31.5）（八）整数部分：3*8（1）+1*8（0）=25小数部分：5*8（-1）=0.625<br/>　　所以（31.5）（八）=（25.625）（十）<br/>12 十进制转十六进制：（25.625）（十） 整数部分：25/16=1......9&nbsp;&nbsp; 1/16 =0......1 然后我们将余数按从下往上的顺序书写就是：19，那么这个19就是十进制25的十六进制形式&nbsp;&nbsp;小数部分： 0.625*16=10（即十六进制的A或a）然后我们将整数部分按从上往下的顺序书写就是：A，那么这个A就是十进制0.625的十六进制形式 所以：（25.625）（十）=（19.A）（十六）<br/>13 十六进制转十进制：（19.A）（十六）整数部分：1*16（1）+9*16（0）=25 小数部分：10*16（-1）=0.625 所以（19.A）（十六）=（25.625）（十） 如何将带小数的二进制与八进制、十六进制数之间的转化问题我们以（11001.101）<br/>14 十六进制转二进制：（19.A）（十六）整数部分：从后往前每位按十进制转换成四位二进制数，缺位处用0补充 则有：9---->1001&nbsp;&nbsp;1---->0001（相当于1）则结果为00011001或者11001 小数部分：从前往后每位按十进制转换成四位二进制数，缺位处用0补充 则有：A(即10)---->1010 所以：（19.A）（十六）=（11001.1010）（二）=（11001.101）（二）<br/>15 二进制转十六进制：（11001.101）（二）整数部分：从后往前每四位按十进制转化方式转化为一位数，缺位处用0补充 则有：1001---->9&nbsp;&nbsp;0001---->1 则结果为19 小数部分：从前往后每四位按十进制转化方式转化为一位数，缺位处用0补充 则有：1010---->10---->A 则结果为A 所以：（11001.101）（二）=（19.A）（十六）<br/>16 负数的转换：负数的进制转换稍微有些不同。先把负数写为其补码形式（在此不议），然后再根据二进制转换其它进制的方法进行。例：要求把-9转换为八进制形式。则有：-9的补码为11111001。然后三位一划001---->1&nbsp;&nbsp;111---->157&nbsp;&nbsp;011---->3然后我们将结果按从下往上的顺序书写就是：31571，那么31571就是十进制数-9的八进制形式。<br/><textarea name="code" class="c" rows="15" cols="100">
//c程序转换代码
#include <stdio.h> 
#include <math.h> 
main() 
&#123; 
&nbsp;&nbsp;long n,m,r; 
&nbsp;&nbsp;while( scanf( "%ld%ld",&n,&r)!=EOF)
&nbsp;&nbsp;&#123;
　&nbsp;&nbsp;if (abs(r)> 1 && !(n <0 && r> 0))
&nbsp;&nbsp;&nbsp;&nbsp;&#123; 
　　&nbsp;&nbsp; long result[100]=; 
　　&nbsp;&nbsp; long *p=result;
　　&nbsp;&nbsp; printf( "%ld=",n); 
　　&nbsp;&nbsp; if (n!=0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#123; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(n!=0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m=n/r;*p=n-m*r; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (*p <0 && r <0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#123; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p=*p+abs(r);m++; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p++;n=m; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (m=p-result-1;m>=0;m--)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#123; 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (result[m]> 9) 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf( "%c",55+result[m]); 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf( "%d",result[m]); 
　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125; 
　　&nbsp;&nbsp; &#125; 
　　else printf( "0"); 
　　printf( "(base%d)&#92;n",r); 
　　&#125; 
&nbsp;&nbsp;&#125;
　return;
&#125;
</textarea><br/>Tags - <a href="http://www.wozhe.com/go.php/tags/%25E6%25B1%2587%25E7%25BC%2596/" rel="tag">汇编</a>
]]>
</description>
</item><item>
<link>http://www.wozhe.com/read.php/25.htm</link>
<title><![CDATA[计算机发展史]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Thu, 26 Mar 2009 01:10:32 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/25.htm</guid> 
<description>
<![CDATA[ 
	目前最流行的语言大多是高级语言，汇编以及机器语言已经成廉颇级了，但是如果想了解计算机的工作原理，更深入了解代码、系统的运行过程，还是应该多了解一些计算机的发展历史。数据源自：世界计算机-ICXO.COM<br/><strong>机械计算机的诞生</strong>--原来计算机的雏形在16XX年就有了。<br/>1614 年:苏格兰人John Napier(1550 ～1617 年)发表了一篇论文 ，其中提到他发明了一种可以进行四则运算和方根运算的精巧装置。<br/>1623 年:Wilhelm Schickard(1592 ～1635 年)制作了一个能进行6 位数以内加减法运算，并能通过铃声输出答案的“计算钟”。该装置通过转动齿轮来进行操作。<br/>1625 年:William Oughtred(1575 ～1660 年)发明计算尺。<br/>1668 年:英国人Samuel Morl(1625 ～1695 年)制作了一个非十进制的加法装置，适宜计算钱币。<br/>1671 年:德国数学家Gottfried Leibniz 设计了一架可以进行乘法运算，最终答案长度可达16位的计算工具。<br/>1822 年:英国人Charles Babbage(1792 ～1871 年)设计了差分机和分析机 ，其设计理论非常超前，类似于百年后的电子计算机，特别是利用卡片输入程序和数据的设计被后人所采用。<br/>1834 年:Babbage 设想制造一台通用分析机，在只读存储器(穿孔卡片)中存储程序和数据 。Babbage在以后的时间里继续他的研究工作，并于1840 年将操作位数提高到了40 位，并基本实现了控制中心(CPU)和存储程序的设想，而且程序可以根据条件进行跳转，能在几秒内做出一般的加法，几分钟内做出乘、除法。<br/>1848 年:英国数学家George Boole 创立二进制代数学，提前近一个世纪为现代二进制计算机的发展铺平了道路。<br/>1890 年:美国人口普查部门希望能得到一台机器帮助提高普查效率。Herman Hollerith (后来他的公司发展成了IBM 公司)借鉴Babbage 的发明，用穿孔卡片存储数据，并设计了机器。结果仅用6 周就得出了准确的人口统计数据(如果用人工方法，大概要花10 年时间)。<br/>1896 年:Herman Hollerith 创办了IBM 公司的前身。<br/><strong>电子计算机问世</strong><br/>1906 年:美国人Lee De Forest 发明电子管，为电子计算机的发展奠定了基础。<br/>1924 年2 月:IBM 公司成立，从此一个具有划时代意义的公司诞生。<br/>1935 年:IBM 推出IBM 601 机。这是一台能在一秒钟内算出乘法的穿孔卡片计算机 。这台机器无论在自然科学还是在商业应用上都具有重要的地位，大约制造了1500 台。<br/>1937 年:英国剑桥大学的Alan M.Turing(1912 ～1954 年)出版了他的论文 ，并提出了被后人称之为“图灵机”的数学模型。<br/>1937 年:Bell 试验室的George Stibitz 展示了用继电器表示二进制的装置。尽管仅仅是个展示品，但却是第一台二进制电子计算机。<br/>1940 年1 月:Bell 实验室的Samuel Williams 和Stibitz 制造成功了一个能进行复杂运算的计算机。该机器大量使用了继电器，并借鉴了一些电话技术，采用了先进的编码技术。<br/>1941 年夏季:Atanasoff 和学生Berry 完成了能解线性代数方程的计算机，取名叫“ABC ”(Atanasoff-Berry Computer)，用电容作存储器 ，用穿孔卡片作辅助存储器 ，那些孔实际上是“烧”上去的，时钟频率是60Hz，完成一次加法运算用时一秒。<br/>1943 年1 月:Mark I 自动顺序控制计算机在美国研制成功。整个机器有51 英尺长 、5 吨重 、75万个零部件。该机使用了3304 个继电器 ，60 个开关作为机械只读存储器 。程序存储在纸带上 ，数据可以来自纸带或卡片阅读器。Mark I 被用来为美国海军计算弹道火力表。<br/>1943 年9 月:Williams 和Stibitz 完成了“Relay Interpolator ”，后来命名为“Model Ⅱ Re-<br/>lay Calculator ”的计算机。这是一台可编程计算机，同样使用纸带输入程序和数据。它运行更可靠，每个数用7 个继电器表示，可进行浮点运算。<br/>1946 年:ENIAC(Electronic Numerical Integrator And Computer)诞生 ，这是第一台真正意义上的数字电子计算机。开始研制于1943 年，完成于1946 年，负责人是John W.Mauchly 和J.Presper Eckert，重30 吨，用了18000 个电子管，功率25 千瓦，主要用于计算弹道和氢弹的研制<br/><strong>晶体管计算机的发展</strong><br/>1947 年:Bell 实验室的William B.Shockley 、 John Bardeen 和Walter H.Brattain 发明了晶体<br/>管，开辟了电子时代新纪元。<br/>1949 年:剑桥大学的Wilkes 和他的小组制成了一台可以存储程序的计算机，输入输出设备仍是纸带。<br/>1949 年:EDVAC(Electronic Discrete Variable Automatic Computer——电子离散变量自动计算机)——第一台使用磁带的计算机。这是一个突破，可以多次在磁带上存储程序。这台机器是John von Neumann 提议建造的。<br/>1950 年:日本东京帝国大学的Yoshiro Nakamats 发明了软磁盘 ，其销售权由IBM公司获得 。由此开创了存储时代的新纪元。<br/>1951 年:Grace Murray Hopper 完成了高级语言编译器。<br/>1951 年:UNIVAC-1 ——第一台商用计算机系统诞生，设计者是J.Presper Eckert 和John Mauchly 。<br/>被美国人口普查部门用于人口普查，标志着计算机进入了商业应用时代。<br/>1953 年:磁芯存储器被开发出来。<br/>1954 年:IBM 的John Backus 和他的研究小组开始开发FORTRAN(FORmula TRANslation) ，1957 年完成。这是一种适合科学研究使用的计算机高级语言。<br/>1957 年:IBM 开发成功第一台点阵式打印机。<br/><strong>集成电路</strong><br/>1958 年9 月12 日:在Robert Noyce(Intel 公司创始人)的领导下，集成电路诞生 ，不久又发明了微处理器。但因为在发明微处理器时借鉴了日本公司的技术，所以日本对其专利不承认，因为日本没有得到应有的利益。过了30 年，日本才承认，这样日本公司可以从中得到一部分利润。但到2001 年，这个专利就失效了。<br/>1959 年:Grace Murray Hopper 开始开发COBOL(COmmon Business-Oriented Language)语言 ，完成于1961 年。<br/>1960 年:ALGOL ——第一个结构化程序设计语言推出。<br/>1961 年:IBM 的Kennth Iverson 推出APL 编程语言。<br/>1963 年:DEC 公司推出第一台小型计算机——PDP-8 。<br/>1964 年:IBM 发布PL/1 编程语言。<br/>1964 年:发布IBM 360 首套系列兼容机。<br/>1964 年:DEC 发布PDB-8 小型计算机。<br/>1965 年:摩尔定律发表，处理器的晶体管数量每18 个月增加一倍，价格下降一半。<br/>1965 年:Lofti Zadeh 创立模糊逻辑，用来处理近似值问题。<br/>1965 年:Thomas E.Kurtz 和John Kemeny 完成BASIC(Beginner ’s All-purpose Symbolic In-<br/>struction Code)语言的开发。特别适合计算机教育和初学者使用，得以广泛推广。<br/>1965 年:Douglas Englebart 提出鼠标器的设想，但没有进一步研究，直到1983年才被苹果电脑公司大量采用。<br/>1965 年:第一台超级计算机CD6600 开发成功。<br/>1967 年:Niklaus Wirth 开始开发PASCAL 语言，1971 年完成。<br/>1968 年:Robert Noyce 和他的几个朋友创办了Intel 公司。<br/>1968 年:Seymour Paper 和他的研究小组在MIT 开发了LOGO 语言。<br/>1969 年:ARPANet(Advanced Research Projects Agency Network)计划开始启动，这是现代Internet 的雏形。<br/>1969 年4 月7 日:第一个网络协议标准RFC 推出。<br/>1970 年:第一块RAM 芯片由Intel 推出，容量1KB 。<br/>1970 年:Ken Thomson 和Dennis Ritchie 开始开发UNIX 操作系统。<br/>1970 年:Forth 编程语言开发完成。<br/>1970 年:Internet 的雏形ARPANet 基本完成，开始向非军用部门开放。<br/>1971 年11 月15 日:Marcian E.Hoff 在Intel 公司开发成功第一块微处理器4004，含2300 个晶体管，字长为4 位，时钟频率为108KHz，每秒执行6 万条指令。<br/>1972 年:1972 年以后的计算机习惯上被称为第四代计算机。基于大规模集成电路及后来的超大规模集成电路。这一时期的计算机功能更强，体积更小。此时人们开始怀疑计算机能否继续缩小，特别是发热量问题能否解决。同时，人们开始探讨第五代计算机的开发。<br/>1972 年:C 语言开发完成。其主要设计者是UNIX 系统的开发者之一Dennis Ritche。这是一个非常强大的语言，特别受人喜爱。<br/>1972 年:Hewlett-Packard 发明了第一个手持计算器。<br/>1972 年4 月1 日:Intel 推出8008 微处理器。<br/>1972 年:ARPANet 开始走向世界，Internet 革命拉开序幕。<br/>1973 年:街机游戏Pong 发布，得到广泛欢迎。发明者是Nolan Bushnell(Atari 的创立者)。<br/>1974 年:第一个具有并行计算机体系结构的CLIP-4 推出。<br/><strong>现代计算机</strong><br/>1974 年4 月1 日:Intel 发布其8 位微处理器芯片8080 。<br/>1975 年:Bill Gates 和Paul Allen 完成了第一个在MIT(麻省理工学院)的Altair 计算机上运行的BASIC 程序。<br/>1975 年:Bill Gates 和Paul Allen 创办Microsoft 公司(现已成为全球最大、最成功的软件公司)。3 年后就收入50 万美元，员工增加到15 人。1992 年达28 亿美元，1 万名雇员。1981 年Microsoft为IBM 的PC 机开发操作系统，从此奠定了在计算机软件领域的领导地位。<br/>1976 年:Stephen Wozinak 和Stephen Jobs 创办苹果计算机公司，并推出其Apple Ⅰ计算机。<br/>1978 年6 月8 日:Intel 发布其16 位微处理器8086 。1979 年6 月又推出准16 位的8088 来满足市场对低价处理器的需要，并被IBM 的第一代PC 机所采用。该处理器的时钟频率为4.77MHz 、8MHz和10MHz，大约有300 条指令，集成了29000 个晶体管。<br/>1979 年:低密软磁盘诞生。<br/>1979 年:IBM 公司眼看个人计算机市场被苹果等电脑公司占有，决定开发自己的个人计算机 。为了尽快推出自己的产品，IBM 将大量工作交给第三方来完成(其中微软公司就承担了操作系统的开发工作 ，这同时也为微软后来的崛起奠定了基础)，于1981 年8 月12 日推出了IBM-PC 。<br/>1980 年:“只要有1 兆内存就足够DOS 尽情表演了”，微软公司开发DOS 初期时说 。今天来听这句话有何感想呢？<br/>1981 年:Xerox 开始致力于图形用户界面、图标、菜单和定位设备(如鼠标)的研制 。结果研究成果为苹果所借鉴，而苹果电脑公司后来又指控微软剽窃了他们的设计，开发了Windows 系列软件。<br/>1981 年8 月12 日:MS-DOS 1.0 和PC-DOS 1.0 发布。Microsoft 受IBM 的委托开发DOS 操作系统，他<br/>们从Tim Paterson 那里购买了一个叫86-DOS 的程序并加以改进。由IBM 销售的版本叫PC-DOS，由Microsoft 销售的叫MS-DOS 。Microsoft 与IBM 的合作一直到1991 年的DOS 5.0 为止。最初的DOS 1.0<br/>非常简陋，每张盘上只有一个根目录，不支持子目录，直到1983 年3 月的2.0 版才有所改观。MS-DOS在1995 年以前一直是与IBM-PC 兼容的操作系统，Windows 95 推出并迅速占领市场之后，其最后一个版本命名为DOS 7.0 。<br/>1982 年:基于TCP/IP 协议的Internet 初具规模。<br/>1982 年2 月:80286 发布，时钟频率提高到20MHz 、增加了保护模式、可访问16MB 内存、支持1GB以上的虚拟内存、每秒执行270 万条指令、集成了13.4 万个晶体管。<br/>1983 年春季:IBM XT 机发布，增加了10MB 硬盘、128KB 内存、一个软驱、单色显示器、一台打印机、可以增加一个8087 数字协处理器。当时的价格为5000 美元。<br/>1983 年3 月:MS-DOS 2.0 和PC-DOS 2.0 增加了类似UNIX 分层目录的管理形式。<br/>1984 年:DNS(Domain Name Server)域名服务器发布，互联网上有1000 多台主机运行。<br/>1984 年底:Compaq 开始开发IDE 接口，能以更快的速度传输数据，并被许多同行采纳，后来在此基础上开发出了性能更好的EIDE 接口。<br/>1985 年:Philips 和SONY 合作推出CD-ROM 驱动器。<br/>1985 年10 月17 日:80386 DX 推出 。时钟频率达到33MHz 、可寻址1GB 内存 、每秒可执行600万条指令、集成了275000 个晶体管。<br/>1985 年11 月:Microsoft Windows 发布。该操作系统需要DOS 的支持，类似苹果机的操作界面 ，以致被苹果控告，该诉讼到1997 年8 月才终止。<br/>1985 年12 月:MS-DOS 3.2 和PC-DOS 3.2 发布。这是第一个支持3.5 英寸磁盘的系统，但只支持到720KB，3.3 版才支持1.44MB 。<br/>1987 年:Microsoft Windows 2.0 发布。<br/>1988 年:EISA 标准建立。<br/>1989 年:欧洲物理粒子研究所的Tim Berners-Lee 创立World Wide Web 雏形。通过超文本链接，新手也可以轻松上网浏览。这大大促进了Internet 的发展。<br/>1989 年3 月:EIDE 标准确立，可以支持超过528MB 的硬盘，能达到33.3MB/s 的传输速度，并被许多CD-ROM 所采用。<br/>1989 年4 月10 日:80486 DX 发布。该处理器集成了120 万个晶体管，其后继型号的时钟频率达到<br/>100MHz 。<br/>1989 年11 月:Sound Blaster Card(声卡)发布。<br/>1990 年5 月22 日:微软发布Windows 3.0，兼容MS-DOS 模式。<br/>1990 年11 月:第一代MPC(多媒体个人电脑标准)发布。该标准要求处理器至少为80286/12MHz(后来增加到80386SX/16MHz)及一个光驱，至少150KB/sec 的传输率。<br/>1991 年:ISA 标准发布。<br/>1991 年6 月:MS-DOS 5.0 和PC-DOS 5.0 发布。为了促进OS/2 的发展，Bill Gates 说DOS 5.0 是 DOS 终结者，今后将不再花精力于此。该版本突破了640KB 的基本内存限制。这个版本也标志着微软与IBM 在DOS 上合作的终结。<br/>1992 年:Windows NT 发布，可寻址2GB 内存。<br/>1992 年4 月:Windows 3.1 发布。<br/>1993 年:Internet 开始商业化运行。<br/>1993 年:经典游戏Doom 发布。<br/>1993 年3 月22 日:Pentium 发布，该处理器集成了300 多万个晶体管、早期版本的核心频率为60 ～<br/>66MHz 、每秒钟执行1 亿条指令。<br/>1993 年5 月:MPC 标准2 发布，要求CD-ROM 传输率达到300KB/s，在320 ×240 的窗口中每秒播放15 帧图像。<br/>1994 年3 月7 日:Intel 发布90 ～100MHz Pentium 处理器。<br/>1994 年:Netscape 1.0 浏览器发布。<br/>1994 年:著名的即时战略游戏Command&Conquer(命令与征服)发布。<br/>1995 年3 月27 日:Intel 发布120MHz 的Pentium 处理器。<br/>1995 年6 月1 日:Intel 发布133MHz 的Pentium 处理器。<br/>1995 年8 月23 日:纯32 位的多任务操作系统Windows 95 发布。该操作系统大大不同于以前的版本 ，完全脱离MS-DOS，但为照顾用户习惯还保留了DOS 模式。Windows 95 取得了巨大成功。<br/>1995 年11 月1 日:Pentium Pro 发布，主频可达200MHz 、每秒可执行4.4 亿条指令、集成了550万个晶体管。<br/>1995 年12 月:Netscape 发布其javascript 。<br/>1996 年1 月:Netscape Navigator 2.0 发布。这是第一个支持javascript 的浏览器。<br/>1996 年1 月4 日:Intel 发布150 ～166MHz 的Pentium 处理器，集成了310 ～330 万个晶体管。<br/>1996 年:Windows 95 OSR2 发布，修正了部分BUG，扩充了部分功能。<br/>1997 年:Heft Auto 、Quake 2 和Blade Runner 等著名游戏软件发布，并带动3D图形加速卡迅速崛起。<br/>1997 年1 月8 日:Intel 发布Pentium MMX CPU，处理器的游戏和多媒体功能得到增强。<br/>1997 年4 月:IBM 的深蓝(Deep Blue)计算机战胜人类国际象棋世界冠军卡斯帕罗夫。<br/>1997 年5 月7 日:Intel 发布Pentium Ⅱ，增加了更多的指令和Cache 。<br/>1997 年6 月2 日:Intel 发布233MHz Pentium MMX 。<br/>1998 年2 月:Intel 发布333MHz Pentium Ⅱ处理器，采用0.25 μm 工艺制造，在速度提升的同时减少了发热量。<br/>1998 年6 月25 日:Microsoft 发布Windows 98，一些人企图肢解微软，微软回击说这会伤害美国的国家利益。<br/>1999 年1 月25 日:Linux Kernel 2.2.0 发布，人们对其寄予厚望。<br/>1999 年2 月22 日：AMD 公司发布K6-3 400MHz 处理器。<br/>1999 年7 月:Pentium Ⅲ发布，最初时钟频率在450MHz 以上，总线速度在100MHz 以上，采用0.25μm 工艺制造，支持SSE 多媒体指令集，集成有512KB 以上的二级缓存。<br/>1999 年10 月25 日:代号为Coppermine(铜矿)的Pentium Ⅲ处理器发布。采用0.18 μm 工艺制造的Coppermine 芯片内核尺寸进一步缩小，虽然内部集成了256KB 全速On-Die L2 Cache ，内建2800万个晶体管，但其尺寸却只有106 平方毫米。<br/>2000 年3 月:Intel 发布代号为“Coppermine 128 ”的新一代的Celeron 处理器。新款Celeron 与老C eleron 处理器最显著的区别就在于采用了与新P Ⅲ处理器相同的Coppermine核心及同样的FC-PGA封装方式，同时支持SSE 多媒体扩展指令集。<br/>2000 年4 月27 日:AMD 宣布正式推出Duron 作为其新款廉价处理器的商标，并以此准备在低端向Intel 发起更大的冲击，同时，面向高端的ThunderBird 也在其后的一个月间发布。<br/>2000 年7 月:AMD 领先Intel 发布了1GHz 的Athlon 处理器，随后又发布了1.2GMHz Athlon 处理器。<br/>2000 年7 月:Intel 发布研发代号为Willamette 的Pentium 4 处理器，管脚为423 或478 根，其芯<br/>片内部集成了256KB 二级缓存，外频为400MHz，采用0.18 μm 工艺制造 ，使用SSE2指令集，并整合了散热器，其主频从1.4GHz 起步。<br/>2001 年5 月14 日，AMD 发布用于笔记本电脑的Athlon 4 处理器。该处理器采用0.18 微米工艺造，前端总线频率为200MHz，有256KB 二级缓存和128KB 一级缓存。<br/>2001 年5 月21 日　，VIA 发布C3 出处理器　。该处理器采用　0.15 微米工艺制造(处理器核心仅为2mm 2 )， 包括192KB 全速缓存(128KB 一级缓存、64KB 二级缓存)，并采用Socket 370 接口。支持133MHz 前端总线频率和3DNow！、MMX 多媒体指令集。<br/>2001 年8 月15 日，VIA 宣布其兼容DDR 和SDRAM 内存的P4 芯片组P4X266 将大量出货。该芯片组的内存带宽达到4GB，是i850 的两倍。<br/>2001 年8 月27 日，Intel 发布主频高达2GHz 的P4 处理器。每千片的批发价为562 美元。<br/><span style="color: #FF4500;">计算机这个巨人还在不断成长，我们就是其中的一个小小的Cell。</span>
]]>
</description>
</item><item>
<link>http://www.wozhe.com/read.php/23.htm</link>
<title><![CDATA[比较两个字符串都包含的最长的单词]]></title> 
<author>月光 &lt;vni@hotmail.com&gt;</author>
<category><![CDATA[代码人生]]></category>
<pubDate>Tue, 24 Mar 2009 01:58:01 +0000</pubDate> 
<guid>http://www.wozhe.com/read.php/23.htm</guid> 
<description>
<![CDATA[ 
	比较两个字符串都包含的最长的单词<br/><textarea name="code" class="php" rows="15" cols="100">
<?
//比较两个字符串都包含的最长的单词
function checkTheWord($firstWord,$secondWord)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;$array1=explode(' ',$firstWord);
&nbsp;&nbsp;&nbsp;&nbsp;$array2=explode(' ',$secondWord);
&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;$i<count($array1);$i++)
&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for($n=0;$n<count($array2);$n++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($array1[$i]==$array2[$n])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$array3[]=$array1[$i];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$array4[]=strlen($array1[$i]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;$i<count($array4);$i++)
&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($array4[$i]==max($array4))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '最长的词: '.$array3[$i].' 长度：'.max($array4);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
$firstWord='i am the bestplayers 你说呢你说呢你说呢你说呢';
$secondWord='you are the bestplayers 你说呢你说呢你说呢你说呢';
echo checkTheWord($firstWord,$secondWord);
?>
</textarea><br/><br/>Tags - <a href="http://www.wozhe.com/go.php/tags/php/" rel="tag">php</a>
]]>
</description>
</item>
</channel>
</rss>