??xml version="1.0" encoding="utf-8" standalone="yes"?>国产成人毛片亚洲精品,在线亚洲午夜片AV大片,亚洲高清中文字幕http://www.tkk7.com/leweslove/zh-cnSat, 10 May 2025 10:45:58 GMTSat, 10 May 2025 10:45:58 GMT60IPD ?CMMhttp://www.tkk7.com/leweslove/articles/257709.htmlleweslovelewesloveWed, 04 Mar 2009 02:33:00 GMThttp://www.tkk7.com/leweslove/articles/257709.htmlhttp://www.tkk7.com/leweslove/comments/257709.htmlhttp://www.tkk7.com/leweslove/articles/257709.html#Feedback0http://www.tkk7.com/leweslove/comments/commentRss/257709.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/257709.htmlIntegrated Product Development 的羃写,?#8220;集成的品开?#8221;Q是C品开发管理的一U模式,它逐渐兴v于上个世U的西方企业。蓝色巨人IBM公司的重新崛起在很大E度上得益于IPD? 推行QIPD使IBM的多研发指标得C重大改善Q如Q新产品上市周期的大q度~短、研发资源浪Ҏ(gu)率的显著下降{。对于IT行业QIPD作ؓ(f)C品开 发管理模式堪U最?jng)_늚典范?

IPD的关键要素包括:(x)跨部门的团队、结构化的流E、一的子流E(如:(x)目计划与监控、数据管理、共用模块、技术管理、管道管理等Q、基于^衡记分卡的考核体系、IT支持{?

CMM(Capability Maturity Model)Q英文直译的意思是“能力成熟度模?#8221;。由卡内?梅隆大学的Y件工E协?Software Engineering Institute, USEI) 提出q完善,目的是通过一个合理的体系模型来对软gl织开发能力进行合理有效的评估Q帮助Y件组l在模型实施的过E中提高软gq程理能力Q降低Y件系l? 开发风险,在预定的目周期和预内开发出高质量的软g产品?

CMM一共分?U,1U最低,5U最高,3U是一个比较重要的分界U?

leweslove 2009-03-04 10:33 发表评论
]]>
什么是CSS hackhttp://www.tkk7.com/leweslove/articles/253173.htmlleweslovelewesloveWed, 04 Feb 2009 01:22:00 GMThttp://www.tkk7.com/leweslove/articles/253173.htmlhttp://www.tkk7.com/leweslove/comments/253173.htmlhttp://www.tkk7.com/leweslove/articles/253173.html#Feedback0http://www.tkk7.com/leweslove/comments/commentRss/253173.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/253173.html  ׃不同的浏览器Q比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox{,对CSS的解析认识不一P因此?x)导致生成的面效果不一P得不到我们所需要的面效果?/p>

  q个时候我们就需要针对不同的览器去写不同的CSSQ让它能够同时兼容不同的览器,能在不同的浏览器中也能得到我们想要的面效果?/p>

  q个针对不同的浏览器写不同的CSS code的过E,叫CSS hack,也叫写C(j)SS hack?/p>

  CSS Hack的原理是什?br /> ׃不同的浏览器对CSS的支持及(qing)解析l果不一Pq由于CSS中的优先U的关系。我们就可以Ҏ(gu)q个来针对不同的览器来写不同的CSS?/p>

  比如IE6能识别下划线_和星?QIE7能识别星?Q当不能识别下划U_Q而firefox两个都不能认识。等{?/p>

   书写序Q一般是识别能力强的浏览器的CSS写在后面。下面如何写里面说得更详l些?/p>

  如何写C(j)SS Hack
比如要分辨IE6和firefox两种览器,可以q样写:(x)

  <style>  
div
{  
      background
:green; /* for firefox */  
      *background
:red;  /* for IE6 */  
}  
</style>
    <div>我在IE6中看到是U色的,在firefox中看到是l色的?lt;/div>  
   
<style>
    div
{ 
        background
:green; /* for firefox */    
        *background
:red;  /* for IE6 */
   
}
   
</style>
    <div>我在IE6中看到是U色的,在firefox中看到是l色的?lt;/div>

 

  解释一下:(x)

  上面的css在firefox中,它是认识不了后面的那个带星号*的东东是什么的Q于是将它过滤掉Q不予理睬,解析得到的结果是:div{background:green},于是理所当然q个div的背景是l色的?/p>

  在IE6中呢Q它两个background都能识别出来Q它解析得到的结果是:div{background:green;background:red;},于是Ҏ(gu)优先U别Q处在后面的red的优先高,于是当然q个div的背景颜色就是红色的了?/p>

  CSS hack:区分IE6QIE7Qfirefox区别不同览器,CSS hack写法Q?/p>

  ?span style="color: #ff0000;">别I(xin)E6与FFQ?br />        background:orange;*background:blue;

  区别I(xin)E6与IE7Q?br />        background:green !important;background:blue;

  区别I(xin)E7与FFQ?br />        background:orange; *background:green;

  区别FFQIE7QIE6Q?br />        background:orange;*background:green !important;*background:blue;

  注:(x)

    IE都能识别*;标准览?如FF)不能识别*Q?br /> IE6能识?Q但不能识别 !important,
IE7能识?Q也能识?important;
FF不能识别*Q但能识?important;

   IE6 IE7 FF
* √ √ ×
!important × √ √

  另外再补充一个,下划U?_",
IE6支持下划U,IE7和firefox均不支持下划Uѝ?/p>

  于是大家q可以这h区分IE6QIE7Qfirefox
: background:orange;*background:green;_background:blue;

  注:(x)不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中_(d)IE6的写在最后面?/p>

  附:(x)CSS的各U浏览器兼容一栏表




leweslove 2009-02-04 09:22 发表评论
]]>
Linux java 中文qhttp://www.tkk7.com/leweslove/articles/252117.htmlleweslovelewesloveTue, 20 Jan 2009 16:21:00 GMThttp://www.tkk7.com/leweslove/articles/252117.htmlhttp://www.tkk7.com/leweslove/comments/252117.htmlhttp://www.tkk7.com/leweslove/articles/252117.html#Feedback0http://www.tkk7.com/leweslove/comments/commentRss/252117.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/252117.html  
cd /usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/fonts
sudo mkdir fallback
cd fallback
sudo cp 
/usr/share/fonts/truetype/arphic/uming.ttc /usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/fonts/fallback
sudo mkfontdir
sudo mkfontscale



leweslove 2009-01-21 00:21 发表评论
]]>
FireFox声音不正?/title><link>http://www.tkk7.com/leweslove/archive/2009/01/18/251749.html</link><dc:creator>leweslove</dc:creator><author>leweslove</author><pubDate>Sat, 17 Jan 2009 18:41:00 GMT</pubDate><guid>http://www.tkk7.com/leweslove/archive/2009/01/18/251749.html</guid><wfw:comment>http://www.tkk7.com/leweslove/comments/251749.html</wfw:comment><comments>http://www.tkk7.com/leweslove/archive/2009/01/18/251749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/leweslove/comments/commentRss/251749.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/leweslove/services/trackbacks/251749.html</trackback:ping><description><![CDATA[      折腾我一天,Ubuntu下Firefox播放flash时候没有声韻I不是没有声音是不能和mp3或者视频一h放时出声韻I需要安装一个包 名字?strong><span style="color: red;">libflashsupport<br />       命o(h)׃用说了?<br />       </span></strong> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">sudo apt</span><span style="color: #000000;">-</span><span style="color: #000000;">get insatll libflashsupport</span></div> <strong><span style="color: red;"><br /> </span></strong> <img src ="http://www.tkk7.com/leweslove/aggbug/251749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/leweslove/" target="_blank">leweslove</a> 2009-01-18 02:41 <a href="http://www.tkk7.com/leweslove/archive/2009/01/18/251749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>嵌入式编E和图书推荐(? http://www.tkk7.com/leweslove/articles/251625.htmlleweslovelewesloveFri, 16 Jan 2009 13:01:00 GMThttp://www.tkk7.com/leweslove/articles/251625.htmlhttp://www.tkk7.com/leweslove/comments/251625.htmlhttp://www.tkk7.com/leweslove/articles/251625.html#Feedback0http://www.tkk7.com/leweslove/comments/commentRss/251625.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/251625.html技术是通过~程~程在编E编出来的。永q不要梦想一步登天,不要做Qw的人,不要觉得路途O上。而是要编E编E在~程Q完了在~程Q在~程Q等Z(x)来了在创业(不要怿有奇q发生,盲目创业很难成功Q即便成功了发展I间也不一定很大)?/p>

【正文?/p>

ARM+LINUX路线Q主d入式Linux操作pȝ?qing)其上应用Y件开发目标:(x)

  Q?Q?掌握L嵌入式微处理器的l构与原理(初步定ؓ(f)arm9Q?/p>

  Q?Q?必须掌握一个嵌入式操作pȝ Q初步定为uclinux或linux,版本待定Q?/p>

  Q?Q?必须熟?zhn)嵌入式Y件开发流Eƈ臛_做一个嵌入式软g目?/p>

  从事嵌入式Y件开发的好处是:(x)

  Q?Q目前国内外q方面的人都很稀~。这一领域入门门槛较高Q所以非专业IT人员很难切入q一领域Q另一斚wQ是因ؓ(f)q一领域较新Q目前发展太快,大多Ch无条件接触?/p>

  Q?Q与企业计算{应用Y件不同,嵌入式领域h才的工作强度通常低一些(但收入不低)?/p>

  Q?Q哪天若惛_业,搞自已的产品Q嵌入式不像应用软g那样Ҏ(gu)被盗版。硬件设计一般都是请其它公司l订做(q叫“贴牌”QOEMQ,都是通用的硬Ӟ我们只管设计软g变成自q产品了?/p>

  Q?Q兴所在,q是最主要的?/p>

  从事嵌入式Y件开发的~点是:(x)

  Q?Q?入门L(fng)较高Q所用到的技术往往都有一定难度,若Yg基础不好Q特别是操作pȝUY件功底不深,则可能不适于此行?/p>

  Q?Q这斚w的企业数量要q少于企业计类企业?/p>

  Q?Q有数公司l常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公怹q无此要求,只要有经验即可?/p>

  Q?Q^C托强Q换q_比较辛苦?/p>

  兴趣的由来:(x)

  1、成功观念不同,不虚度此生,是我的成功?/p>

  2、喜Ƣ思考,挑战逻辑思维?/p>

  3、喜ƢC

  C是一U能发挥思维极限的语a。关于C的精的一些方面可以被概述成短句如下:(x)

  怿E序员?/p>

  不要LE序员做那些需要去做的?/p>

  保持语言短小_ֹ?/p>

  一U方法做一个操作?/p>

  使得它运行的够快Q尽它q不能保证将是可UL的?/p>

  4、喜Ƣ底层开发,讨厌vbcd发工Pq不是说vb不好Q?/p>

  5、发展前景好Q适合创业Q不惌pM的时候还是一个工E师?/p>

  Ҏ(gu)步骤Q?/p>

  1、基知识Q?/p>

  目的Q能看懂g工作原理Q但重点在嵌入式软gQ特别是操作pȝUYӞ那将是我的优ѝ?/p>

  U目Q数字电(sh)路、计机l成原理、嵌入式微处理器l构?/p>

  汇编语言、C/C++、编译原理、离散数学?/p>

  数据l构和算法、操作系l、Y件工E、网l、数据库?/p>

  Ҏ(gu)Q虽U目众多Q但都是较简单的基础Q且大部分已掌握。不一定全学,可根据需要选修?/p>

  L书籍Qthe c++ programming languageQ一直没旉读)、数据结?C2?/p>

  2、学?fn)linuxQ?/p>

  目的Q深入掌握linuxpȝ?/p>

  Ҏ(gu)Q用linux—〉linxupȝ~程开发—〉驱动开发和分析linux内核。先看深Q那主讲原理。看几遍后,看情景分析,对照qQ两本交叉,深是UԌ情是目。剖析则?.11版,适合学习(fn)。最后深入代码?/p>

  L书籍Qlinux内核完全剖析、unix环境高~程、深入理解linux内核、情景分析和源代?/p>

  3、学?fn)嵌入式linuxQ?/p>

  目的Q掌握嵌入式处理器其?qing)系l?/p>

  Ҏ(gu)Q(1Q嵌入式微处理器l构与应用:(x)直接arm原理?qing)汇~即可,不要重复x86?/p>

  Q?Q嵌入式操作pȝc:(x)ucOS/II单,开源,可供入门。而后深入研究uClinux?/p>

  Q?Q必L块开发板Qarm9以上Q,有条件可参加培训Q进步快Q能认识些朋友)?/p>

  L书籍Q毛h的《嵌入式pȝ》及(qing)其他arm9手册与arm汇编指o(h){?/p>

  4、深入学?fn)?x)

  A、数字图像压~技术:(x)主要是应掌握MPEG、mp3{编解码法和技术?/p>

  B、通信协议?qing)编E技术:(x)TCP/IP协议?02.11QBluetoothQGPRS、GSM、CDMA{?/p>

  C、网l与信息安全技术:(x)如加密技术,数字证书CA{?/p>

  D、DSP技术:(x)Digital Signal ProcessQDSP处理器通过g实现数字信号处理法?/p>

  说明Q太多细节未说明Q可Ҏ(gu)实际情况调整。重点在??Q不必完全按照顺序作。对于学?fn)c++Q理由是c++不只是一U语aQ一U工P? q是一U艺术,一U文化,一U哲学理c(din)但不是拿来炫耀得东ѝ对于linux内核Q学?fn)编E,M些优U代码也是有必要的?/p>

  注意Q 要学?x)D一反多Q有强大的基Q很多东西简单看看就能会(x)。想成ؓ(f)合格的程序员Q前提是必须熟练臛_一U编E语aQƈh良好的逻辑思维。一定要理论l合实践?/p>

  不要一味钻研技术,虽然挤出旉是很隑ց到的Q但q是要留点余地去完善其他的爱好,比如宇宙Q素描、机械、管理,心理学、游戏、科qȝ(sh)影。还有一些不愿意做但必须要做的!

  技术是通过~程~程在编E编出来的。永q不要梦想一步登天,不要做Qw的人,不要觉得路途O上。而是要编E编E在~程Q完了在~程Q在~程Q等Z(x)来了在创业(不要怿有奇q发生,盲目创业很难成功Q即便成功了发展I间也不一定很大)?/p>

  嵌入式书c推?/p>

  Linux基础

  1、《Linux与Unix Shell ~程指南?/p>

  C语言基础

  1、《C Primer PlusQ?th Edition》【美】Stephen Prata着

  2、《The C Programming Language, 2nd Edition》【美】B(ti)rian W. Kernighan David M. RithieQK & RQ着

  3、《Advanced Programming in the UNIX EnvironmentQ?nd Edition》(APUEQ?/p>

  4、《嵌入式Linux应用E序开发详解?/p>

  Linux内核

  1、《深入理解Linux内核》(W三版)

  2、《Linux内核源代码情景分析》毛h 胡希明着

  研发方向

  1、《UNIX Network Programming》(UNPQ?/p>

  2、《TCP/IP详解?/p>

  3、《Linux内核~程?/p>

  4、《Linux讑֤驱动开发》(LDDQ?/p>

  g基础

  1、《ARM体系l构与编E》杜春雷着

  2、S3C2410 Datasheet

  p基础

  1、《计机与通信专业p?/p>

  pȝ教程

  1、《嵌入式pȝ――体pȝ构、编E与设计?/p>

  2、《嵌入式pȝ――采用公开源代码和StrongARM/Xscale处理器》毛h 胡希明着

  3、《Building Embedded Linux Systems?/p>

  理论基础

  1、《算法导论?/p>

  2、《数据结构(C语言版)?/p>

  3、《计机l织与体pȝ?性能分析?/p>

  4、《深入理解计机pȝ》【美】Randal E. Bryant David O”Hallaron着

  5、《操作系l:(x)_N与设计原理?/p>

  6、《编译原理?/p>

  7、《数据通信与计机|络?/p>

  8、《数据压~原理与应用?/p>

  C语言书籍推荐

  1. The C programming language

  《EE序设计语言?/p>

  2. Pointers on C

  《E和指针?/p>

  3. C traps and pitfalls

  《E陷阱与缺陗?/p>

  4. Expert C Lanuage

  《专ӞE~程?/p>

  5. Writing Clean Code

  ?#8211;Microsoft Techiniques for Developing Bug-free C Programs

  《编E精_?#8211;Microsoft ~写优质无错Q程序秘诀?/p>

  6. Programming Embedded Systems in C and C++

  《嵌入式pȝ~程?/p>

  7.《C语言嵌入式系l编E修点{?/p>

  8.《高质量C++/C~程指南》林?/p>

  可能多的编码,要学好CQ不能只注重C本n。算法,架构方式{都很重要?/p>

leweslove 2009-01-16 21:01 发表评论
]]>
Fatal error: Allowed memory size of 8388608 bytes exhaustedhttp://www.tkk7.com/leweslove/articles/245817.htmlleweslovelewesloveThu, 11 Dec 2008 16:09:00 GMThttp://www.tkk7.com/leweslove/articles/245817.htmlhttp://www.tkk7.com/leweslove/comments/245817.htmlhttp://www.tkk7.com/leweslove/articles/245817.html#Feedback1http://www.tkk7.com/leweslove/comments/commentRss/245817.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/245817.html如果Wordpress出现q种问题则表明,E序q行占用的记忆空间超q了8M,解决Ҏ(gu)修改PHP.ini文g?/p>

memory_limit = 8M ;

的值改?strong>12M可以了

This error message can spring up in a previously functional PHP script when the memory requirements exceed the default 8MB limit. Don’t fret, though, because this is an easy problem to overcome.

To change the memory limit for one specific script by including a line such as this at the top of the script:

ini_set("memory_limit","12M");


The 12M sets the limit to 12 megabytes (12582912 bytes). If this doesn’t work, keep increasing the memory limit until your script fits or your server squeals for mercy.

You can also make this change permanently for all PHP scripts running on the server by adding a line like this to the server’s php.ini file:

memory_limit = 12M

Keep in mind that a huge memory limit is a poor substitute for good coding. A poorly written script may inefficiently squander memory which can cause severe problems for frequently executed scripts. However, some applications are run infrequently and require lots of memory like importing and processing a big data file.



leweslove 2008-12-12 00:09 发表评论
]]>
"旉?与IE~存http://www.tkk7.com/leweslove/articles/244682.htmlleweslovelewesloveFri, 05 Dec 2008 14:15:00 GMThttp://www.tkk7.com/leweslove/articles/244682.htmlhttp://www.tkk7.com/leweslove/comments/244682.htmlhttp://www.tkk7.com/leweslove/articles/244682.html#Feedback1http://www.tkk7.com/leweslove/comments/commentRss/244682.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/244682.html 解决Ҏ(gu)是利?旉?的伪地址骗过览?  在发送urlh时加上一个参?q个参数是时间戳,是pȝ旉.(以毫Uؓ(f)单位的数字类?,下面是视频教E中写的一个js函数.
1 function convertURL(url) {
2   var timstamp = (new Date()).valueOf();
3   if (url.indexOf("?">= 0) {
4     url = url + "&t=" + timstamp;
5   } else {
6     url = url + "?t=" + timstamp;
7   }
8   return url;
9 }
l测试在FX下不?x)有此缓?而在IE下会(x)?
q个旉戳的伪地址q用?一般web验证码刷C!



leweslove 2008-12-05 22:15 发表评论
]]>
vi使用指南http://www.tkk7.com/leweslove/articles/244586.htmlleweslovelewesloveFri, 05 Dec 2008 05:49:00 GMThttp://www.tkk7.com/leweslove/articles/244586.htmlhttp://www.tkk7.com/leweslove/comments/244586.htmlhttp://www.tkk7.com/leweslove/articles/244586.html#Feedback0http://www.tkk7.com/leweslove/comments/commentRss/244586.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/244586.html ~辑器是使用计算机的重要工具之一Q在各种操作pȝ中,~辑器都是必不可的部g。Unix?qing)其怼的ix操作pȝpd中,为方便各U用户在各个不同的环 境中使用Q提供了一pd的ex~辑器,包括 ex, edit,ed 和vi.其中ex,edit,ed都是行编辑器Q现在已很少有h使用QUnix提供他们的原因是考虑到满_U用L(fng)别是某些l端用户的需要?

值得庆幸的是QUnix提供了全屏幕的Vi~辑器,q我们的工作轻松不。不DOS用户抱怨Vi~辑器不象DOS下的~辑器如edit那么好用Q这? 因ؓ(f)Vi考虑到各U用L(fng)需要,没有使用某些通用的编辑键Q在各个不同的终端机上他们的定义是不同的Q在某些l端Z甚至没有q些键)。而是采用状态切? 的方法,但这只是?fn)惯的问题,一旦你熟练的用上了vi你就?x)觉得它其实也很好用。虽? Vi采用了状态切换的Ҏ(gu)Q但?sh)脑的硬件?qing)操作pȝ多种多样Q某些电(sh)脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了?q个问题? Unix pȝ上也一P几乎各大?sh)脑厂商都有自己的Unix pȝQ?vi 的操作方法也?x)随之有点出入。这里我们采?PC 的键盘来说明 vi 的操作,但在具体的环境中q要参考相应的资料Q这一Ҏ(gu)值得注意的?

二、Vi入门

Q一Q、进入vi

在系l提C字W???)下敲入vi Q档案名UͼQvi 可以自动帮你载入所要编辑的文g或是开启一个新文gQ如果该文g不存在或~少文g名)。进?vi 后萤q左方会(x)出现波浪W号Q凡是列首有该符号就代表此列目前是空的?

(二)、两U模?

如上所qͼvi存在两种模式Q指令模式和输入模式。在指o(h)模式下输入的按键做为指令来处理Q如输入aQvi卌为是在当前位|插入字W。而在输入 模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,AQ,而要从输入模式切换到指o(h)模式Q则需 在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 [ESC]Q系l如发出哔哔声就表示已处于指令模式下了?

付:(x)有指令模式进入输入模式的指o(h)Q?

新增 (append)

a Q从光标所在位|後面开始新增资料,光标後的资料随新增资料向後移动?

AQ?从光标所在列最後面的地方开始新增资料?

插入 (insert)

iQ?从光标所在位|前面开始插入资料,光标後的资料随新增资料向後移动?

I Q从光标所在列的第一个非I白字元前面开始插入资料?

开?(open)

o Q在光标所在列下新增一列ƈq入输入模式?

O: 在光标所在列上方新增一列ƈq入输入模式?

Q三Q、退出vi

在指令模式下键入:q,:q!,:wq?x(注意:PQ就?x)退出vi。其?wq?x是存盘退出,?q是直接退出,如果文g已有新的? 化,vi?x)提CZ保存文g?q命o(h)也会(x)失效Q这时你可以?w命o(h)保存文g后再?q退出,或用:wq?x命o(h)退出,如果你不想保存改变后的文Ӟ? 需要用:q!命o(h)Q这个命令将不保存文件而直接退出vi?

Q四Q、基本编?

配合一般键盘上的功能键Q像是方向键、[Insert] 、[Delete] {等Q现在你应该已经可以利用 vi 来编辑文件了。当?vi q提供其他许许多多功能让文字的处理更为方ѝ?

何谓~辑Q一般认为是文字的新增、修改以?qing)删除,甚至包括文字区块的搬UR复制等{。先q里介绍 vi的如何做删除与修攏V(注意Q在 vi 的原始观念里Q输入跟~辑是两码子事。编辑是在指令模式下操作的,先利用指令移动光标来定位要进行编辑的地方Q然後才下指令做~辑。)

删除与修Ҏ(gu)件的命o(h)Q?

xQ?删除光标所在字W?

dd Q删除光标所在的列?

r Q修改光标所在字元,r 後接著要修正的字W?

RQ?q入取替换状态,新增文字?x)覆盖原先文字,直到?[ESC] 回到指o(h)模式下ؓ(f)止?

sQ?删除光标所在字元,q进入输入模式?

SQ?删除光标所在的列,q进入输入模式?/p>

其实呢,在PC上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元Q直接按[Delete] 不就得了。而插入状态与取代状态可以直接用 [Insert] 切换Q犯不著用什麽指令模式的~辑指o(h)。不q就如前面所提到的,q些指o(h)几乎是每台终端机都能用,而不是仅仅在 PC 上?br /> 在指令模式下Ud光标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直接用 PC 的方向键可以了Q而且无论在指令模式或输入模式下都可以。多Ҏ(gu)不是?br /> 当然 PC 键盘也有不之处。有个很好用的指?u 可以恢复被删除的文字Q?U 指o(h)则可以恢复光标所在列的所有改变。这与某些电(sh)脑上?[Undo] 按键功能相同?br /> 三、附Ӟ(x)vi详细指o(h)?br /> Q一Q、基本编辑指令:(x)
新增 (append)

a Q从光标所在位|後面开始新增资料,光标後的资料随新增资料向後移动?

AQ?从光标所在列最後面的地方开始新增资料?

插入 (insert)

iQ?从光标所在位|前面开始插入资料,光标後的资料随新增资料向後移动?

I Q从光标所在列的第一个非I白字元前面开始插入资料?

开?(open)

o Q在光标所在列下新增一列ƈq入输入模式?

O: 在光标所在列上方新增一列ƈq入输入模式?

xQ?删除光标所在字W?

dd Q删除光标所在的列?

r Q修改光标所在字元,r 後接著要修正的字W?

RQ?q入取替换状态,新增文字?x)覆盖原先文字,直到?[ESC] 回到指o(h)模式下ؓ(f)止?

sQ?删除光标所在字元,q进入输入模式?

SQ?删除光标所在的列,q进入输入模式?

Q二Q、光标移动指令:(x)
由於许多~辑工作是藉由光标来定位Q所?vi 提供许多Ud光标的方式,q个我们?br /> 几张表来说明Q这些当然是指o(h)模式下的指o(h)Q:(x)

指o(h)K?K说?K�K�K� 功能?
0 Ud到光标所在列的最前面 [Home]K?br /> $ K?Ud到光标所在列的最後面 [End]
[CTRL][d] 向下半页 K?[PageDown]
[CTRL][f] 向下一?
[CTRL][u] 向上半页K?
[CTRL][b] 向上一?[PageUp]

指o(h) 说明
H Ud到视H的W一?br /> M Ud到视H的中间?br /> L Ud到视H的最後列
b UdC个字的第一个字?br /> w U~细鲎值牡谝桓鲎帜?nbsp; K�
e UdC个字的最後一个字?br /> ^ Ud到光标所在列的第一个非I白字元

指o(h) 说明 K�K?br /> n- 减号UdC一列的W一个非I白字元前面加上数字可以指定UdC?n ?
n+ 加号UdC一列的W一个非I白字元前面加上数字可以指定UdC?n ?br /> nG 直接用数?n 加上大写 G Ud到第 n ?br /> 指o(h) 说明
fx
往右移动到 x 字元?
Fx 往左移动到 x 字元?K?br /> tx 往右移动到 x 字元前�K�
Tx 往左移动到 x 字元?br /> ; 配合 f&t 使用Q重复一ơ�K?br /> ,K� 配合 f&t 使用Q反方向重复一?br /> /string 往右移动到?string 的地?br /> ?string 往左移动到?string 的地?br /> n K?配合 /&? 使用Q重复一?
N K?配合 /&? 使用Q反方向重复一?

指o(h) 说明 K备?br /> n(
左括L(fng)动到句子的最前面句子是以前面加上数字可以指定往前移?n 个句?! . ? 三种W号来界?br /> n)K?xL(fng)动到下个句子的最前面前面加上数字可以指定往後移?n 个句?! . ? 三种W号来界?br /> n{ K� 左括弧移动到D落的最前面 D落是以D落间的I白列界?br /> n} 前面加上数字可以指定往前移?n 个段落右括弧UdC个段落的最前面前面加上数字可以指定往後移?n 个段?D落是以D落间的I白列界?

Q三Q、更多的~辑指o(h)
q些~辑指o(h)非常有弹性,基本上可以说是由指o(h)与范围所构成。例?dw 怯缮境?nbsp;d 与范?w 所l成Q代表删除一个字 d(elete) w(ord) ?br /> 指o(h)列表如下Q?br /> d 删除(delete)
y 复制(yank)
p 攄(put)
c 修改(change)
范围可以是下列几个:(x)
e 光晁谖恢玫C米值淖钺嵋桓鲎?br> w 光标所在位|到下个字的W一个字?br /> b 光标所在位|到上个字的W一个字?br /> $ 光标所在位|到该列的最後一个字?br /> 0 光标所在位|到该列的第一个字?br /> ) 光标所在位|到下个句子的第一个字?br /> ( 光标所在位|到该句子的W一个字?br /> } 光标所在位|到该段落的最後一个字?br /> { 光标所在位|到该段落的W一个字?br /> 说实在的Q组合这些指令来~辑文g有一点点艺术气息。不怎麽P它们提供更多~辑文字的能力。值得注意的一Ҏ(gu)删除与复刉?x)将指定范围的内?gu)到暂存区里,然後可以用指o(h) p 贴到其它地方去,q是 vi 用来处理区段拯与搬Uȝ办法?br /> 某些 vi 版本Q例?Linux 所用的 elvis 可以大幅化这一坨指令。如果稍微观察一下这些编辑指令就?x)发现问题其实是定范围的方式有点杂,实际上只有四个指令Ş了。指?v 非常好用Q只要按? v 键,光标所在的位置׃(x)反白Q然後就可以Ud光标来设定范_(d)接著再直接下指o(h)q行~辑卛_。对於整列操作, vi 另外提供了更方便的编辑指令。前面曾l提到过删除整列文字的指?dd 是其中一个;cc 可以修改整列文字Q?yy 则是复制整列文字Q指?D 则可以删除光标到该列l束为止所有的文字?br /> Q四Q、文件操作指?br /> 文g操作指o(h)多以 : 开_(d)q跟~辑指o(h)有点区别?br /> :q l束~辑(quit)
:q! 不存档而要攑ּ~辑q的文g?br /> :w 保存文g(write)其後可加所要存档的档名?br /> :wq 卛_档後d?br /> zz 功能?:wq 相同?br /> :x ?wq相同



leweslove 2008-12-05 13:49 发表评论
]]>
Java And IOhttp://www.tkk7.com/leweslove/articles/Evan.htmlleweslovelewesloveFri, 28 Nov 2008 09:04:00 GMThttp://www.tkk7.com/leweslove/articles/Evan.htmlhttp://www.tkk7.com/leweslove/comments/243292.htmlhttp://www.tkk7.com/leweslove/articles/Evan.html#Feedback0http://www.tkk7.com/leweslove/comments/commentRss/243292.htmlhttp://www.tkk7.com/leweslove/services/trackbacks/243292.html 1. stream代表的是M有能力出数据的数据源,或是M有能力接收数据的接收源。在Java的IO中,所有的streamQ包括Input和Out streamQ都包括两种cdQ?
1.1 以字节ؓ(f)导向的stream
以字节ؓ(f)导向的streamQ表CZ字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种cdQ?
1) input streamQ?
1) ByteArrayInputStreamQ把内存中的一个缓冲区作ؓ(f)InputStream使用
2) StringBufferInputStreamQ把一个String对象作ؓ(f)InputStream
3) FileInputStreamQ把一个文件作为InputStreamQ实现对文g的读取操?
4) PipedInputStreamQ实Cpipe的概念,主要在线E中使用
5) SequenceInputStreamQ把多个InputStream合ƈZ个InputStream
2) Out stream
1) ByteArrayOutputStreamQ把信息存入内存中的一个缓冲区?
2) FileOutputStreamQ把信息存入文g?
3) PipedOutputStreamQ实Cpipe的概念,主要在线E中使用
4) SequenceOutputStreamQ把多个OutStream合ƈZ个OutStream
1.2 以Unicode字符为导向的stream
以Unicode字符为导向的streamQ表CZUnicode字符为单位从stream中读取或往stream中写入信息。以Unicode字符为导向的stream包括下面几种cdQ?
1) Input Stream
1) CharArrayReaderQ与ByteArrayInputStream对应
2) StringReaderQ与StringBufferInputStream对应
3) FileReaderQ与FileInputStream对应
4) PipedReaderQ与PipedInputStream对应
2) Out Stream
1) CharArrayWriteQ与ByteArrayOutputStream对应
2) StringWriteQ无与之对应的以字节为导向的stream
3) FileWriteQ与FileOutputStream对应
4) PipedWriteQ与PipedOutputStream对应

以字Wؓ(f)导向的stream基本上对有与之相对应的以字节为导向的stream。两个对应类实现的功能相同,字是在操作时的导向不同。如 CharArrayReaderQ和ByteArrayInputStream的作用都是把内存中的一个缓冲区作ؓ(f)InputStream使用Q所不同? 是前者每ơ从内存中读取一个字节的信息Q而后者每ơ从内存中读取一个字W?
1.3 两种不现导向的stream之间的{?
InputStreamReader和OutputStreamReaderQ把一个以字节为导向的stream转换成一个以字符为导向的stream?
2. streamd属?
2.1 “为streamd属?#8221;的作?
q用上面介绍的Java中操作IO的APIQ我们就可完成我们想完成的Q何操作了。但通过FilterInputStream和FilterOutStream的子c,我们可以为streamd属性。下面以一个例子来说明q种功能的作用?
如果我们要往一个文件中写入数据Q我们可以这h作:(x)
FileOutStream fs = new FileOutStream(“test.txt”);
然后可以通过产生的fs对象调用write()函数来往test.txt文g中写入数据了。但是,如果我们惛_?#8220;先把要写入文件的数据先缓存到内存 中,再把~存中的数据写入文g?#8221;的功能时Q上面的API没有一个能满我们的需求了。但是通过FilterInputStream? FilterOutStream的子c,为FileOutStreamd我们所需要的功能?
2.2 FilterInputStream的各U类?
2.2.1 用于装以字节ؓ(f)导向的InputStream
1) DataInputStreamQ从stream中读取基本类型(int、char{)数据?
2) BufferedInputStreamQ用缓冲区
3) LineNumberInputStreamQ会(x)记录input stream内的行数Q然后可以调用getLineNumber()和setLineNumber(int)
4) PushbackInputStreamQ很用刎ͼ一般用于编译器开?
2.2.2 用于装以字Wؓ(f)导向的InputStream
1) 没有与DataInputStream对应的类。除非在要用readLine()时改用BufferedReaderQ否则用DataInputStream
2) BufferedReaderQ与BufferedInputStream对应
3) LineNumberReaderQ与LineNumberInputStream对应
4) PushBackReaderQ与PushbackInputStream对应
2.3 FilterOutStream的各U类?
2.2.3 用于装以字节ؓ(f)导向的OutputStream
1) DataIOutStreamQ往stream中输出基本类型(int、char{)数据?
2) BufferedOutStreamQ用缓冲区
3) PrintStreamQ生格式化输出
2.2.4 用于装以字Wؓ(f)导向的OutputStream
1) BufferedWriteQ与对应
2) PrintWriteQ与对应
3. RandomAccessFile
1) 可通过RandomAccessFile对象完成Ҏ(gu)件的d操作
2) 在生一个对象时Q可指明要打开的文件的性质QrQ只读;wQ只写;rw可读?
3) 可以直接跛_文g中指定的位置
4. I/O应用的一个例?br />
import java.io.*;
public class TestIO{
public static void main(String[] args)
throws IOException{
//1.以行为单位从一个文件读取数?/span>
BufferedReader in = 
new BufferedReader(
new FileReader("F:\\nepalon\\TestIO.java"));
String s, s2 
= new String();
while((s = in.readLine()) != null)
s2 
+= s + "\n";
in.close();

//1b. 接收键盘的输?/span>
BufferedReader stdin = 
new BufferedReader(
new InputStreamReader(System.in));
System.out.println(
"Enter a line:");
System.out.println(stdin.readLine());

//2. 从一个String对象中读取数?/span>
StringReader in2 = new StringReader(s2);
int c;
while((c = in2.read()) != -1)
System.out.println((
char)c);
in2.close();

//3. 从内存取出格式化输入
try{
DataInputStream in3 
= 
new DataInputStream(
new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.println((
char)in3.readByte()); 
}
catch(EOFException e){
System.out.println(
"End of stream");
}

//4. 输出到文?/span>
try{
BufferedReader in4 
=
new BufferedReader(
new StringReader(s2));
PrintWriter out1 
=
new PrintWriter(
new BufferedWriter(
new FileWriter("F:\\nepalon\\ TestIO.out")));
int lineCount = 1;
while((s = in4.readLine()) != null)
out1.println(lineCount
++ + "Q?/span>" + s);
out1.close();
in4.close();
}
catch(EOFException ex){
System.out.println(
"End of stream");
}

//5. 数据的存储和恢复
try{
DataOutputStream out2 
= 
new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("F:\\nepalon\\ Data.txt")));
out2.writeDouble(
3.1415926);
out2.writeChars(
"\nThas was pi:writeChars\n");
out2.writeBytes(
"Thas was pi:writeByte\n");
out2.close();
DataInputStream in5 
=
new DataInputStream(
new BufferedInputStream(
new FileInputStream("F:\\nepalon\\ Data.txt")));
BufferedReader in5br 
=
new BufferedReader(
new InputStreamReader(in5));
System.out.println(in5.readDouble());
System.out.println(in5br.readLine());
System.out.println(in5br.readLine());
}

catch(EOFException e){
System.out.println(
"End of stream");
}

//6. 通过RandomAccessFile操作文g
RandomAccessFile rf =
new RandomAccessFile("F:\\nepalon\\ rtest.dat""rw");
for(int i=0; i<10; i++)
rf.writeDouble(i
*1.414);
rf.close();

rf 
= new RandomAccessFile("F:\\nepalon\\ rtest.dat""r");
for(int i=0; i<10; i++)
System.out.println(
"Value " + i + "Q?/span>" + rf.readDouble());
rf.close();

rf 
= new RandomAccessFile("F:\\nepalon\\ rtest.dat""rw");
rf.seek(
5*8);
rf.writeDouble(
47.0001);
rf.close();

rf 
= new RandomAccessFile("F:\\nepalon\\ rtest.dat""r");
for(int i=0; i<10; i++)
System.out.println(
"Value " + i + "Q?/span>" + rf.readDouble());
rf.close();
}
}



关于代码的解释(以区为单位)Q?
1ZQ当d文gӞ先把文g内容d~存中,当调用in.readLine()Ӟ再从~存中以字符的方式读取数据(以下U?#8220;~存字节d方式”Q?
1bZQ由于想以缓存字节读取方式从标准IOQ键盘)中读取数据,所以要先把标准IOQSystem.inQ{换成字符导向的streamQ再q行BufferedReader装?
2ZQ要以字W的形式从一个String对象中读取数据,所以要产生一个StringReadercd的stream?
4ZQ对String对象s2d数据Ӟ先把对象中的数据存入~存中,再从~冲中进行读取;对TestIO.out文gq行操作Ӟ先把格式化后的信息输出到~存中,再把~存中的信息输出到文件中?
5ZQ对Data.txt文gq行输出Ӟ是先把基本类型的数据输出屋缓存中Q再把缓存中的数据输出到文g中;Ҏ(gu)件进行读取操作时Q先把文件中的数? d到缓存中Q再从缓存中以基本类型的形式q行d。注意in5.readDouble()q一行。因为写入第一个writeDouble()Q所以ؓ(f)? 正确昄。也要以基本cd的Ş式进行读取?
6区是通过RandomAccessFilecd文gq行操作?


leweslove 2008-11-28 17:04 发表评论
]]>
一个过E?Q?/title><link>http://www.tkk7.com/leweslove/articles/243279.html</link><dc:creator>leweslove</dc:creator><author>leweslove</author><pubDate>Fri, 28 Nov 2008 08:35:00 GMT</pubDate><guid>http://www.tkk7.com/leweslove/articles/243279.html</guid><wfw:comment>http://www.tkk7.com/leweslove/comments/243279.html</wfw:comment><comments>http://www.tkk7.com/leweslove/articles/243279.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/leweslove/comments/commentRss/243279.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/leweslove/services/trackbacks/243279.html</trackback:ping><description><![CDATA[<table id="BodyTable" style="table-layout: fixed; font-size: 75%; vertical-align: top; font-family: Simsun; text-align: left;" cellspacing="0"> <tbody style="vertical-align: top;"> <tr style="background-color: #e0edff;"> <td><span style="font-weight: bold; color: #800080; font-family: Trebuchet MS;">1.学习(fn)Java SE部分的内容,q部分是基础内容。掌握的扎实,后面的内容学?fn)v来就容易?br /> <br />  2.学习(fn)SQL和数据库的内? Q这个也是非常基的内容,举个例子Q程序员的面试题中一定会(x)有SQL部分的考试?<br /> <br />  3.学习(fn)HTML、css、JavaScript的内宏V? <br /> <br />  4.学习(fn)QJSP、Servlet、JavaBean、标记库、JSTL、MVC、JSP EL{Web~程的部?<br />  <br />  5.学习(fn)Struts 或者Spring MVC。二者取其一卛_Q推荐选Struts <br />  <br />  6.学习(fn)Java与XML Q重Ҏ(gu)握用Java技术对XML文g的解?<br />  <br />  7.学习(fn)Java EE的核心技? Q例如:(x)JNDI、EJB3{,同时q需要学?fn)用与配置应用服务器,例如QwebLogic ServerQW(xu)ebsphereQJBoss<br /> <br />  8.学习(fn)Hibernate {持久层的技?br /> <br />  9.学习(fn)Spring<br /> <br />  10.学习(fn)AJAX<br /> <br />  </span><span style="font-weight: bold; color: #800080; font-family: Trebuchet MS;">11.学习(fn)ANT、Subversion{开发工P熟?zhn)常见的Y件开发模型,例如Qrup、XP<br /> <br />  12.学习(fn)OOA与OODQumlQ设计模?br /> <br />  13.学习(fn)Web Services、SOA的原理与应用开?br /> <br />  </span><span style="font-weight: bold; color: #800080; font-family: Trebuchet MS;">最后,现在很多公司都用Linuxpȝ做ؓ(f)服务器系l,q且使用Linuxpȝq行E序的开发(都是Z使用正版的考虑Q,所以Linuxpȝ的安装、用和单管与配|,也是需要学?fn),q部分内容,跟其他内Ҏ(gu)有关联,可以在Q何时候学。推荐学?fn)完SQL与数据库之后q行学习(fn)? 你要xC份不错的JavaE序员工作,最基本的也要把1Q?2都学?fn)了Q当然有的内定w要深入掌握,有的内容可以慢慢的深入掌握的?/span></td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/leweslove/aggbug/243279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/leweslove/" target="_blank">leweslove</a> 2008-11-28 16:35 <a href="http://www.tkk7.com/leweslove/articles/243279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://x3013.com" target="_blank">ڵƵ߹ۿ</a>| <a href="http://513573.com" target="_blank">ƻ԰Ѹ</a>| <a href="http://www6yg6yg.com" target="_blank">ƷѸ</a>| <a href="http://cao8080.com" target="_blank">ۺϽ޺ݺ</a>| <a href="http://senimei9.com" target="_blank">ۺ϶</a>| <a href="http://fsdyzs.com" target="_blank">½޾Ʒ</a>| <a href="http://zz1220.com" target="_blank">Ʒһʽֱ</a>| <a href="http://2266511.com" target="_blank">þþƷAVվ</a>| <a href="http://sky233.com" target="_blank">һػ¼Ѳİ</a>| <a href="http://f2dai.com" target="_blank">Ƶһ</a>| <a href="http://yongyihongze.com" target="_blank">޾ƷƵ</a>| <a href="http://fuhui123.com" target="_blank">ѹۿһ</a>| <a href="http://116com.com" target="_blank">ŷ޾þav</a>| <a href="http://www-333346.com" target="_blank">hƵѹۿ</a>| <a href="http://1212777.com" target="_blank">Ʒ99þ</a>| <a href="http://zgnyxx.com" target="_blank">ŮƵ</a>| <a href="http://zjyxc.com" target="_blank">ƷƵһ</a>| <a href="http://wxzg66.com" target="_blank">jizzй</a>| <a href="http://kwknc.com" target="_blank">þþƷ7777</a>| <a href="http://dstbxg.com" target="_blank">ҹƵ</a>| <a href="http://sdshfengji.com" target="_blank">һA</a>| <a href="http://caoliushequ9.com" target="_blank">һƵѹۿ</a>| <a href="http://langse3.com" target="_blank">ŷУ԰Ķ</a>| <a href="http://ztsf6688.com" target="_blank">ҳѵվֱӽ</a>| <a href="http://yw762.com" target="_blank">ػɫƬ</a>| <a href="http://96yizhi.com" target="_blank">ŷ޹Ʒþ</a>| <a href="http://56v6.com" target="_blank">ɫ͵С˵</a>| <a href="http://770144.com" target="_blank">һѹۿ</a>| <a href="http://senimei9.com" target="_blank">޾ƷþþþþðĦ</a>| <a href="http://22222xxx.com" target="_blank">ھƷ߹ۿ</a>| <a href="http://cebeke.com" target="_blank">Ƶ߲</a>| <a href="http://nxjyyj.com" target="_blank">þaaëƬѲŰ</a>| <a href="http://youkabaitiao.com" target="_blank">޵Ӱһ</a>| <a href="http://cnlawedu.com" target="_blank">Ļ߿</a>| <a href="http://juguanghr.com" target="_blank">¹޾ƷӰԺ</a>| <a href="http://haoda8.com" target="_blank">޾Ʒ׽þþþþ</a>| <a href="http://dcqzr.com" target="_blank">ȫվ</a>| <a href="http://zxbj0471.com" target="_blank">þþþþѹۿ</a>| <a href="http://7788mgqb.com" target="_blank">ëƬ߹ۿ</a>| <a href="http://hairdehf.com" target="_blank">͵͵͵ɫ</a>| <a href="http://ydstbj.com" target="_blank">67paoǿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>