QuXiao

每天进步一点点!

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  50 随笔 :: 0 文章 :: 27 评论 :: 0 Trackbacks

#

经过了一个星期的考虑,自己决定在研究生阶段把嵌入式最为我的研究方向,把原先选的导师也换了。

自己在本科阶段,除了上课,大概就做了两件事情:参加ACM训练,和做J2EE方面的小项目。在ACM方面,自己花了大量的时间在这上面,也参加了两次Regional,但只获得了一次铜牌,成绩不是很理想,但这也是我大学时期的一段很美好的时光。在J2EE方面,只能说做的还挺多,精通谈不上。软件课程设计、本科生科研训练以及我们学校的OnlineJudge(目前还未完成)等都是利用J2EE实现的。自己觉得,J2EE框架涉及到的面很广,入门很容易,但精通很难。像以J2EE为框架的小项目,只要突破了技术瓶颈,剩下的就是重复劳动了。

经过了一周的查阅资料、咨询朋友老师,自己最终选择了嵌入式。因为我觉得,我们的生活信息化程度越来越高,计算设备将会无处不在,而不是单单指的是PC,这就需要嵌入式派上用场了。选择了,就不后悔,因为我相信自己的判断,因为这是我自己选择的道路,不是其他人替我选的。

虽然我现在对于嵌入式还一点都不懂,但我相信在两年的时间里,只要自己够努力,肯定会在嵌入式方面小有成就的。多跟老师、同学沟通,多看书,多思考,自己一定会成功的。


posted @ 2009-07-22 17:25 quxiao 阅读(221) | 评论 (1)编辑 收藏

  [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就 需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你 对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手!(转自51Testing软件测试网)

[2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!

[3]不要去做技术高手,只去做综合素质高手!在企业里混,我们时常瞧不起某人,说他“什么都不懂,凭啥拿那么多钱,凭啥升官!”这是普遍的典型的工程师的迂腐之言。

很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?人家或许善于管理,善于领会老板意 图,善于部门协调等等。因此务必培养自己多方面的能力,包括管理,亲和力,察言观色能力,攻关能力等,要成为综合素质的高手,则前途无量,否则只能躲在角 落看示波器!技术以外的技能才是更重要的本事!!从古到今,美国日本,一律如此!

[4]多交社会三教九流的朋友!不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理,那么你 整日面对的就是这些人 。了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌 撞撞,遇到重重困难,交不少学费,成功的概率大大降低!

[5]知识涉猎不一定专,但一定要广!多看看其他方面的书,金融,财会,进出口,税务, 法律等等,为以后做一些积累,以后的用处会更大!会少交许多学费!!

[6]抓住时机向技术管理或市场销售方面的转变!要想有前途就不能一直搞开发,适当时候 要转变为管理或销售,前途会更大,以前搞技术也没有白搞,以后还用得着。搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己 以后发展积累庞大的人脉!应该说这才是前途的真正支柱!!!

[7]逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。这些工 程师普遍存在的性格弱点必须改变!很难吗?只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果 ,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好--尽管你可能技术不错!

[8]工作的同时要为以后做准备!建立自己的工作环境!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可 以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱 ,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!先把东西准备好,等待机会,否则,有了机会也抓不住!

[9]要学会善于推销自己!不仅要能干,还要能说,能写,善于利用一切机会推销自己,树 立自己的品牌形象,很必要!要创造条件让别人了解自己,不然老板怎么知道你能干?外面的投资人怎么相信你?提早把自己推销出去,机会自然会来找你!搞个个 人主页是个好注意!!特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会...

[10]该出手时便出手!永远不可能有100%把握!!!条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败。不经历风雨,怎么见彩虹,没有人能随随便便成功
posted @ 2009-04-02 09:37 quxiao 阅读(165) | 评论 (1)编辑 收藏

1 int iLen = 2*wcslen(tchStr);//CString,TCHAR汉字算一个字符,因此不用普通计算长度
2 char* chRtn = new char[iLen+1]
3 wcstombs(chRtn,tchStr,iLen+1);//转换成功返回为非负值 

posted @ 2009-02-14 13:17 quxiao 阅读(1002) | 评论 (0)编辑 收藏


1、不要急,先知道什么是HTTP协议

2、接下来你可以看看HTML和CSS,并能够进行一般的应用

3、是该学PHP的时候了,熟练掌握每个细节是不可能的,但是对着PHP手册,你至少能找到你需要的功能函数(方法),并能够正确的使用它们。

4、就算是最简单的应用,哪怕是个记事本程序,都需要涉及到数据库(你可以使用文本或者其他的方式去储存,但是绝对没有数据库来得方便和强大),所以这一步,你得去读一下基本的SQL语法,然后能够使用它们。

5、一个好点的论坛,常常逛逛,有问题就问,当然你也可以回答别人的问题,不但帮助了别人还能帮自己理清思路,说不定别人的问题,下次就会出现在你的面前。

6、学一下XML吧,并试着用PHP去操作它,这个东西可能你不经常用到,但是它们在很多场合是非常重要的。

7、找一个你喜欢的Linux版本玩一下,推荐FreeBSD,熟悉一下基本的配置环境、编辑器使用和简单的命令等等,如果你去面试PHP开发的职位,我保证你考官一定会出Linux方面的题目的

8、OK,现在你已经掌握了基本的东西了,你需要提高了,去研究一下正则表达式吧,如果你找一本正则表达的书,看一般之后就能理解并记住,恭喜你,你是个天才或者是火星来的。如果不是,请尝试阅读多遍,正则表达式能够帮你在处理文本时节省很多脑细胞和时间。

9、下面研究一下设计模式吧,不需要很多,这些东西只有用的时候才知道,但是你需要掌握最基本的几个设计模式,比如MVC,Factory,当你掌握了这 些设计模式之后,回头再看看你你曾经引以为豪的程序吧,那些就像长在河边的杂草,乱七八糟的。试着用你觉得合适的设计模式去重构你以前写过的程序,这对你 很有帮助,面试的时候你就知道了。

10、在你动手一个巨大的工程之前,我建议你先了解一下什么叫框架,开源的框架有很多,我推荐你去研究Zend Framework,我喜欢它是因为它的文档足够的完善,你可以找到几乎所有你遇到的问题的解释。然后去读一本叫做《Zend framework in action》的书,并试着利用zf去构建一些你喜欢的东西,如果你看完ZF的源码,那当然是最好,如果你没有时间,我建议你选择其中的一个或者几个模块 去读一下,然后利用这些模块去构建一个小的系统,这对你很有帮助。

11、好了,如果你上面十条都完成了,恭喜你,你可以选择你喜欢的公司去面试了,推荐你去一些开源的技术构建的网络公司,那里不需要学历,经历,只看重你的能力和潜力,如果你足够自信,你可以试试一些大的公司,比如ebay,比如yahoo,也比如加入我们Blogbus
posted @ 2009-02-04 14:29 quxiao 阅读(186) | 评论 (0)编辑 收藏

这是个人对程序员生涯的一孔之见,只代表作者的个人想法,其中疏漏甚至错误之处在所难免,希望大家多提宝贵意见。

前言

丰厚的薪水,高端的职位和有成就感的事业是人人都想要的,而这些都取决于你每天的认真工作,努力学习和灵活做人上。日子就像一块块砖,你就像是一个泥瓦匠每天在堆砌着你的人生,最终砌出一个宏伟的大厦或是一幢低矮的小屋甚至是堆成一堆瓦砾全取决于你自己。

程序员是一碗青春饭吗?

程序界和软硬件一样都要遵守摩尔定律,也就是说当前的技术知识很快会被替代,你需 要不断学习新的东西,否则就会面临着被淘汰的危险。然而,一个人的学习动力和欲望都是有限的,记忆力还会随着年龄的增长而衰退,从这个道理上来说,年龄大 的迟早会被年龄小的超过,成为鸡肋并最终将被无良的公司抛弃。难道程序员这个职业做不过三十五岁,永远是一碗青春饭吗?

根基是决定一个人会不会被淘汰的关键

我刚进入IT业就听说过这种说法,不过当时的年龄限度是30岁,当工作一段时间 后,这个限度上调了五岁,而且还有陆续上调的趋势,而在各个公司中,超过35的程序员并不罕见,在外国做了一辈子软件的人也屡见不鲜。难道“程序员是吃青 春饭的”是一个谬论吗?那么为什么很多人持有并宣扬此论调呢?
其实这个结论既正确也不正确,它的结果取决于要评判的人。一个人如果根基扎实,他就更容易学习新的事物新的知识,年轻和精力相对于扎实牢靠的根基是微不足 道的,对于别人是一座山的障碍,对于他也许就是一张纸的隔阂,这样的人是不会面临着被超越被淘汰的危机的,青春饭的论调对他完全不适用;而一个人如果根基 不牢,只是靠精力和年龄勉强立足,每次新事物新知识出现都在和年轻人拼体力拼精力,那么他迟早将被淘汰,优胜劣汰的社会就是这样残酷无情,但很公平 。

什么是程序员的根基

面向对象的思想。MVC,分层架构,按接口编程,依赖注入,OR Mapping,面向方面,SOA等都是OO的发展,不从根本上领会它,程序员就难以把握程序发展进化的趋势,永远停留在老窠臼中无法自拔,自我提高升华进化当然更是一句空话。
数据结构。程序的核心目的是收集,整理和展示数据,而数据的核心就是数据结构,它的重要性不言而喻。线性表、栈/队列、串、多维数组、广义表、树、图这些数据结构你都需要认真掌握,掌握的程度越深,日后学习的阻力就越小,相对于他人将更有优势。
算法。如果缺乏好的算法,程序架构得再完美数据再贴切都无济于事,犹如一台法拉利却用牛来拉一样。迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法都是你需要掌握的,不要以为这很难,读透一本算法导论就足够了。
基础API。只有思想,数据结构和算法只是一条腿,要健步如飞还得两条腿走路。程序员的另一条腿就是基础API,你需要 认真掌握TCP/IP协议详解,Socket通信,线程,文件读写等每种语言和技术都需要的基础知识,一个新事务即使再绚烂夺目也是利用这些基石搭建而成 的,如果你彻底了解了它们将永处不败的境地,甚至觉得新技术也不过如此。

如何打好根基

多学。从项目中学,从书本中学,从别人哪里学,从失败中学习,掌握基础API就是需要多学习,如果有已有的知识总结可以起到事半功倍的效果。
多想。学习OO和算法都需要理解,光是死记硬背毫无用处,子曰“学而不思则罔”,OO和算法的学习都需要一个理解消化的过程,只有彻底理解了,你才真正掌握了它们。
多练。经过代码的历练,程序员才能百炼成钢,成功的项目能告诉你什么是正确的,失败的项目会暗示它为什么会失败,下次你就能更进退有据。更重要的一点是, 不做项目,不做多个项目,不做大项目,程序员对“度”的把握总是缺乏经验,不是过就是不及。真正亲手手写过10-20万行代码的是成为一个成熟程序员的必 要条件(但不是充分条件)。
多见。眼光狭窄,目光短浅,固步自封只能造就一只井底之蛙,你的眼光必须超越自己所在的环境才能取得真正的进步,现在有许多开源社区和软件都是你应该涉足的地方,和什么样的人在一起你自然也会成为什么样的人。“蓬生麻中,不扶而直,白沙在涅,与之俱黑“说的就是这个道理。


程序员的身价是由什么决定的

如果一个程序员有良好的根基,充满智慧的头脑,积极主动的精神和锲而不舍的毅力,他就一定能有丰厚的薪水吗?答案是否定的。原因在于薪水不光取决于自身的水平,还取决于周围的环境。
程序员的身价首先决定于他能给雇主带来多大的利益,如果带不来利益,程序员再有本事也是白搭,这就要求程序员一定要根据自己的特点寻找合适自己发展的公司,在你的职业生涯之初就要研究自己和世界,逐步选择一个合适自己的方向发展,永远记住,方向比努力更重要。
其次,程序员的身价也取决于他的不可替代性,即使一个人能带来很多的利益但身后有大批的后备军资源,干不好立即就有人顶替你,这样的人薪水也不会高,反正 你不干有的是人干,资本家就是这样无情。这告诉我们要使自己不可替代,就要努力向高处走,一定和众人拉开差距才能彰显自己的价值。

程序员生涯能给我们带来什么

IT是一个朝阳产业,正处于蓬勃发展中,选择这一行比其它行业拥有更多的发展机会。
相对于其它职业,程序员对自己命运的把握程度更大。”荣辱自取,不求于人“,这是一种非常好的感觉,在别的职业中是难以找到的。
只要人们还在使用计算机,程序员这个职业就永远不会消亡,因为计算机运行永远需要软件。
在信息时代,程序是一个非常有效的收集或发布信息的工具,如果利用得当,它能直接带来巨大的收益。

程序员事业发展的方向

架构师,CIO。对于热衷于技术的程序员来说这是一个不错的方向,架构师这个职位的必要条件是有优秀的技术功底和丰富的设计经验,此外还需要有某个领域的深入知识。对于CIO要求更高,他需要对未来五年内的技术走势把握得比较清楚。
项目经理,部门经理。人际关系处理良好,语言能力出众的程序员适合走这条路。这也是大连大多数程序员的理想选择。
做自己的网站,当一个给自己发薪水的人。网站做好了收入颇丰,低端如hao123,高端如google的例子都摆在眼前。其实做网站初期投入并不巨大,但 需要持之以恒的毅力尤其是敏锐的市场嗅觉,它决定了你是否能从网站中盈利。此外,拥有自己的网站对于自我宣传,建立个人品牌有很大的好处。这条路适合于热 衷于网络技术的程序员。
开公司创业。制作软件并不难,难得是是否能接到活,能否接到长期的活,如果能做到的话,你就可以选择创业。拿工资致富是不可能的,而一次项目的利润可能就等于你前期的工资总和。

后语

相对于永恒的宇宙,我们确实非常渺小,应该有谦卑之心;但是跟别的任何生命相比,我们的尊严,我们的价值,我们的可能性,是一样的;就算人家确实是牡丹玫瑰,自己只是小小的,角落里的一朵苔花,也应该灿烂地绽放,把自己涨圆,并且自豪地仰望苍天,说:“我也能!”

posted @ 2009-02-04 13:08 quxiao 阅读(225) | 评论 (0)编辑 收藏

寒假期间看了一本关于Perl的入门书籍,感觉不错,下面是一些读书笔记:


你将看到整数(如255,2001 等)和浮点数(有小数点的实数,如3.14159,1.35x1025),但在内部,Perl 都把它们当作双精度浮点数来处理


61298040283768,Perl 允许用下划线来分隔它,因此可以像下面这样书写:61_298_040_283_768

和C,C++不同,Perl 中NUL 字符没有特殊的含义。Perl 能计算长度,不用靠null 来判断字符串是否结束。

单引号字符串中的\n 不会被当作换行符来处理,其仅仅是两个字符\和n。只有在反斜线(\)后面接的是\或单引号’,其才会被当作特殊符号来处理。

一个特殊的操作符是字符串重复操作符(string repetition operator),由小写的字母x 表示。
“fred”x 3        #“fredfredfred”
“barney”x (4+1)  # “barney”x 5, “barneybarneybarneybarneybarney”
5 x 4             #实际上是“5”x 4, “5555”

标量变量在Perl 中由$开头

列表和数组可以包含任意数量的元素。最少含有0 元素,最多可以填满你的可用内存。这里又体现了Perl 的设计哲学,“没有不必要的限制”。

rocks 数组,其最后一个元素的索引为$#rocks

Larry 提供了一种简便方法:数组的负数索引值从最后一个元素开始
负数索引值是-1表示最后一个元素

一个给定的表达式在不同的上下文中其含义是不同的。
$fred = something;                # 标量context
@pebbles = something;          #列表context
($wilma,$betty) = something; #列表context
($dino) = something;             #列表context

当Perl 遍历此子程序时,将会计算每一步的值。此子程序中最后计算的值将被返回。

这是Unix中很少人知道的一个事实:如许多标准的工具,如cat,sed,也使用这种约定,连接号(-)代表标准输入流。

技术上讲,<>从数组@ARGV 中得到调用参数。

printf“The items are:\n”. (“%10s\n”x @items), @items;

程序的名字在Perl 的特殊变量$0 中

只有Perl 成功的重新打开新的连接,否则是不会关闭以前的连接。

要引用整个hash,使用百分号(“%”)作为前缀

使用delete 后,hash 中将不会存在此key;如果其值是udnef,则key 是存在的。

不要将正则表达式和shell 中的文件名匹配模式,globs 混淆了.

Perl 中,注释可以被作为空白

使用绑定操作符(=~)将告诉Perl 将右边的模式在左边的字符串上进行匹配,而非对$_匹配。

@fields = split /:/,“abc:def::g:h”; #得到(“abc”, “def”, “”, “g”, “h”)
这里有一条规则:开头的空元素会被返回,但结尾的空元素被丢弃
@fields = split /:/, “:::a:b:c:::”; #得到(“”, “”, “”, “a”, “b”, “c”);

默认时,split 对$_操作,模式为空白:
my @fields = split; #同split /\s+/, $_;

如果没有指定文件名,则其从标准输入流中自动打开和关闭一系列文件进行读入。如果$^I中有字符串,这个字符串则会成为备份文件的扩展名。

?号在正则表达式中的第四种用法:问号,表示0 或1 的数量词,非贪婪修饰符,现在是开头符

条件表达式也是先被求值的,虽然被放在后面

last 会立刻结束循环。(这同C 语言或其它语言中的“break”语句类似)

可以使用last 从“裸的”代码块中跳出。

next 之后,又会进入下一轮循环(这和C 或者类似语言的“continue”相似)

redo会调到当前循环块的顶端,不进行条件表达式判断以及接着本次循环。

标签在整块之前使用;不是针对代码中的某些点

-T和-B分别检测一个文件是文本的还是二进制,那Perl是怎样知道的呢?答案是Perl欺骗了我们:它打开一个文件,查看前面几千个字节,进行合理的猜测。如果没有太多的怪异符号,则其像文本

每当在程序中使用stat, lstat,或文件检测(file test)时,Perl 就会要求系统分配一块stat buffer给文件(也就是,stat系统调用所返回的buffer)。这就意味着如果想知道文件是否是可读且可写的,需要对相同的信息进行两次系统调用

这暗示了一个目录的连接数等于2 (.和..)加上其包含的子目录的个数。

在Perl 中,环境变量可以通过%ENV 这个hash 变量得到

对于system和exec,其输出的结果传到Perl标准输出的地方。有时,将其结果作为字符串保留下来以便进一步处理是很有趣的。这可以通过使用反引号(`)而非单引号或者双引号做到

Perl 提供了处理严重错误的方法:将这些代码放入eval 块中

eval 是一个表达式(不是像while 或foreach 那样的控制结构),因此结尾处的分号是必须的。

如果eval 捕捉到了严重错误,则返回值为undef 或空列表,依赖于其context

如果将列表的一个元素被赋给undef,则意味着忽略此元素:
my(undef, $card_num, undef, undef, undef, $count) = split /:/;

同array slice一样,(hash slice)变量前的符号($或@符号)决定了下标表达式的context。如果前面是$符号,则下标表达式是在标量context 中被求值,得到一个值◆。如果之前为@符号,则下标表达式在列表context 中被求值,得到一列值。

posted @ 2009-02-02 14:36 quxiao 阅读(607) | 评论 (1)编辑 收藏

    快过年了,突然想起来过去在ACM队和去参加regional的事情,起初参加ACM队,就是因为对编程感兴趣,没抱着什么崇高的理想。结果比较顺利,就进入了校ACM队。但在队中,自己总感觉自己有点“混日子”,比别的队员少了点什么东西。平时的训练和比赛,自己也能完成任务,但自己果真把那些只当成了“任务”,一旦完成,也就不想进一步的研究了。在队里,说进步也有进步,但很有限,渐渐的,自己失去了当初进队时的激情与冲动,这是很可怕的,这大概也就是与其他队员差的那点东西吧。
    怎么会失去这些东西?我一直在思考着,也许是自己有些急功近利,但一旦在其中遇到困难,又忘记了最初到这里来的原因,没了动力,所以就退缩了。自己参加的两次regional,一次运气好得了一个铜牌,一次连铜牌都没有,就是自己水平的真实反映。
    我承认,自己并不是有什么远大理想的人,只是单纯的对编程感兴趣,喜欢看到事先预测的数据出现在电脑屏幕上,坦白的说,编程是一种享受,在oj上想题、做题也是一种享受,尤其是在没有什么所谓“任务”的情况下。有时,在其中会遇到些困难,自己就会选择放弃,久而久之,自己也就失去了动力。为什么在遇到困难时,自己会选择放弃?大概是出于不自信?那么又为什么会不自信?大概是因为每当遇到问题时,别人能想到解决方案,我没有想到;别人很快就能想到,我要过一段时间才能想到,久而久之,自己就失去了信心。信心是慢慢积累的,不自信也需要这么一个过程。
    我想大概这就是症结所在,自己总想比别人做得好,但事实又表明自己没有别人好。
    但现在想想,自己选择进ACM队,选择计算机为自己的专业,到底是为了什么?这个问题自己也很难给出明确答复,但绝不是让自己越来越不自信的。郁闷的事情总会发生,比你强的人也到处都是,这些都是必然存在的,总是因为这些必然存在的事情就郁闷、就不自信,自己实在是有些自作自受了。乐观一点吧,别总想比别人强,别总想事事都顺心,只要每天都有进步,哪怕只有一点点,对于自己来说也应该算是胜利。享受自己每天一点点进步的过程,这才是最重要的。
posted @ 2009-01-23 11:13 quxiao 阅读(331) | 评论 (2)编辑 收藏

(1)Ctrl+M切换窗口的大小
(2)Ctrl+Q跳到最后一次的编辑处
(3)F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。
          F3跳到声明或定义的地方。
          F5单步调试进入函数内部。
          F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。
          F7由函数内部返回到调用处。
          F8一直执行到下一个断点。
(4)Ctrl+Pg~对于XML文件是切换代码和图示窗口
(5)Ctrl+Alt+I看Java文件中变量的相关信息
(6)Ctrl+PgUp对于代码窗口是打开“Show List”下拉框,在此下拉框里显示有最近曾打开的文件
(7)Ctrl+/ 在代码窗口中是这种//~注释。
          Ctrl+Shift+/ 在代码窗口中是这种/*~*/注释,在JSP文件窗口中是。
(8)Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮) 当点击某个标记时可使本页面中其他地方的此标记黄色凸显,并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处。
(9)右击窗口的左边框即加断点的地方选Show Line Numbers可以加行号。
(10)Ctrl+I格式化激活的元素Format Active Elements。
            Ctrl+Shift+F格式化文件Format Document。
(11)Ctrl+S保存当前文件。
            Ctrl+Shift+S保存所有未保存的文件。
(12)Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句。
            Ctrl+Shift+O作用是缺少的Import语句被加入,多余的Import语句被删除。
(13)Ctrl+Space提示键入内容即Content Assist,此时要将输入法中Chinese(Simplified)IME-Ime/Nonlme Toggle的快捷键(用于切换英文和其他文字)改成其他的如改成Ctrl+Shift+Z,同时在“Text Service and Input Languages”对话框中删掉Chinese(PRC)下面的其他中文输入法只保留紫光输入法,此时按Ctrl+Shift+Z将在英文和紫光中文之 间切换。
            Ctrl+Shift+Space提示信息即Context Information。
(14)Ctrl+D删除当前行。
(15)双击窗口的左边框可以加断点。
(16)在.jap.或.java等文件中右键选“Campare With”或“Replace With”可以找到所有操作的历史记录。
(17)在菜单中选Window-Show View-Navigator可调出导航功能窗。
(18)Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)
posted @ 2009-01-16 14:05 quxiao 阅读(287) | 评论 (0)编辑 收藏

更有意义的定义应该是从概念视角出发——对象是具有责任的一个实体,这些责任定义了对象的行为。

关注动机而非实现,是设计模式反复出现的主题。

封装应该被视为“任何形式的隐藏”。换句话说,可以是隐藏数据,但还可以是隐藏以下各种东西:
    实现细节
    派生类
    设计细节
    实例化规则  (?)
   
发现变化并将其封装;优先使用对象聚集而不是类继承

“每次当我们感觉需要为什么东西加注释的时候,相反我们会编写一个方法”。(XP编程)

灾难往往是由短期未臻最优的策略,长期累积而引起的。

posted @ 2009-01-16 12:11 quxiao 阅读(192) | 评论 (0)编辑 收藏

    寒假计划经过这两天的实践之后,还是与实际的情况有一定差距的,于是对原先的寒假计划做了相应的修改。大概是自己想做的事情太多了吧,看来还是一天只干一两件事情比较好,好,决定了,早上学习设计模式,下午做oj,晚上回家就彻底的放松。
posted @ 2009-01-15 12:40 quxiao 阅读(142) | 评论 (0)编辑 收藏

仅列出标题
共5页: 1 2 3 4 5