- 浏览: 338501 次
- 性别:
- 来自: 福建,福州
-
最新评论
-
qaplwsok:
您好,能描述详细一些吗?
附件上传-前端篇 -
yuan:
comeback -
和未来:
谢谢 楼主
js的test方法 -
dongisland:
呵呵,终于看完你那密密麻麻的字了,感觉眼疼疼的,
我也是有点浮 ...
有点浮躁 -
xihuan&java:
问题解决谢谢
could not initialize proxy - the owning Session was closed
做技术总结,是件非常头疼的事情,记得,在学校的时候,就觉得这个很痛苦.不知道为什么,但是,还是要学着去做.现在感觉,不总结,反倒不习惯了.但是需要时间的酝酿过程。先留个,周末再补上。这两天会很忙.5.13.
刚睡醒,感觉还没真的醒。最近,睡觉经常做梦,梦着梦着,就睡得很沉,就睡了很晚,很久了。本来想这两天做一些自己学习JAVA这一路来的技术层面的有点技术含量的总结的。可是,早上看了些WEB表现层方面的文字,让自己有点脚踝被裹住的感觉,不知道该怎么下手写了。觉得,自己在思想上的认识水平还是很浅显的,毕竟才刚刚入门不久.唉,写不下去了.还是要等工作的这个项目做完,自己从整体上有一定认知,并能对全局有深入认识的时候,再好好总结下吧.5.20
今天,搜索的时候,有意无意地看到一些人的名字,像王咏刚,梁肇新.......第一本引导入门的编程方面的书的作者就是王,他当年有一本叫<<凌波微步>>,02年出版的.可能是因为自己比较喜欢文学作品的缘故,而我也从一开始就相信,一个优秀的代码写手,也一定也有着非常强的文字构造逻辑.所以一看到这本书,就被他其中的文字所吸引,用优美的中国文字贯穿着全书的始末,于是,虽然是04年夏天才看到这本书,但是我还是在挣扎了许久之后很虔心地买下来(因为不便宜啊),其中的很多章节都仔细拜读过了.可以说,对自己走入这个行业,有着非常深远的影响,虽然当时的自己,对书中提及的一些编程语言,很多的技术都不懂,但是我一直觉得,思想是非常重要的,技术的学习,需要思想积淀的过程.另一方面也很赞同他所描绘的青年程序员的肖像,(如下:红色字体部分)程序员的工作与艺术家的工作真的太相似了,特别是在中国,行业的标准还是很混沌的情况下.所以今天,看到他的博客以及个人网站,感觉特别亲切.网络,太神奇了.不过,说实话,现在再看这本书,我看的还是思想,里头的技术,实在是不敢再说什么,可能自己也开始长大了.
让我决定坚持在软件业,或者说,坚持往自己坚持的路上走下去的书,是梁的<<编程高手箴言>>.是03年末的一本书.但是,我到06年才看到,有一种相见恨晚的感觉.我买他,还是因为很喜欢里头的思想.虽然此书倡导的是C,那个时候,我已经对JAVA技术情有独钟,已经笃定了自己对JAVA技术的信仰了,但是我还是很喜欢这本书里头的一些思想.这本书,应该销量很不错,我买的时候,已经是再版的了。虽然自己当时还没找到工作,经济还不是很宽裕,但是,还是铁了心买了,因为这样的书籍的费用始终是不斐的.现在看来,还是非常值得的,真的很受益,确实,可以是编程入门的好书.非常喜欢,他的高手成长的六个阶段,也是因为这一些文字,自己才更坚定的.(如下,蓝色字体.)好象,06年的时候,自己处于非常浮躁的状态,无数的困惑之下,看到了这些字,顿时,脑子里有一种默然的顿悟,告诉自己要坚持下去了.
当初自己没有条件上网,所以很多时候看到书,只能抽时间跑书店去看,大学生活,差不多就这样过来了.有的时候,宿舍里头的人觉得自己很神秘,常常失踪,其实泡书店里头了.偶尔一两次也会铁心去买.现在,网络资源真的非常丰富,一般书店里头的,网络上都有电子版的.因为,计算机方面的书籍,都是以贵而文明的,没有一定的经济基础真的开始很难.自己,一步一步摸过来,到今天,真的是一把鼻涕,一把泪的,不堪回首.但是,真的庆幸,走过来了.除了感激父母的支持,其他没什么好说了.
估计,以后也不会有机会再去看这样的书了,也不想再买国内人的著作了.在软件业,或者说IT领域,这方面的书籍,还是外国人的比较专业一些.中国的很多书籍,都很有抄书的迹象,算了,也没有什么好去评判的.不过,还是有些书籍是值得去拜读的.
现在想想,好的入门书籍,对一个人的入门,以及以后要走的路的认知与思考的影响是非常大的.要学一门技术,应该从整体上认识后,再从最基础开始,一步一个脚印地去丰富整个学习的流线,这样,对以后自身学习的理论体系的扩充也比较有方向感.在学JAVA的路上,我从J2SE开始入门,选择的是<<core java2=""></core>>,觉得非常不错,很多知识点,盲点都有提及.由浅入深,一些反射,克隆等机制都有介绍.偶觉得,虽然是初学,理解应用这些机制虽然是不可能,但是至少知道一下,这样对以后深入应该也是非常有帮助的.当时,自己还对面向对象编程做了一些思想上的总结:
关于对象:其实我们从C语言开始就已经有接触了,只是没有这种意识.学习面向对象编程后,接触了这样的机制,就会感觉到之前学的知识的一些关联性.无论是用什么方式编程,其实实质都是一样的,就是要将写好的程序跟机器交流,以便产生我们想要看到的结果.比如:定义一个变量,然后将一个值赋给这个变量.这个过程是相似的.int a =1; ObjectType o = new ObjectType() 所不同的是,对象在使用的时候要先NEW 一个才能使用.
现在就在思考,基于普通变量的操作,与基于对象(变量)的操作,其实实质也应该是相同的.就是说,其实他们或多或少地封装了一些东西.怎么说呢,实际上,只是我们看到的封装的层次不同.基本数据类型的变量操作上,有一些很基本的操作符,映射到面向对象当中应该可以看做是一种可以供对象使用的方法。从二进制语言,到汇编语言,再到中级语言,到了高级语言(面向对象语言)一层一层的想上,我们看到的底层的本质的东西也越少了.从语言层设计时候的抽象,到面向对象编程过程中的抽象,一层一层地进行实质性地剖析,就会看到计算机语言伴随着各种硬件技术的发展而不断发展的脚印.
我想,JAVA在作为编程语言时之所以被公认为是最纯的面向对象语言是因为:她自己本身就是依据面向对象的概念设计而成的.在语言本身层次上就是很面向对象理念的.到使用,应用该语言的人们手中时,就更加地面向对象化.或者说,更应该依据面向对象的原理,然后合理地写出适合面向对象的实现过程的代码. 这样说的原因上因为:很多语言中可以实现的机制,其实在JAVA中即使不使用面向对象的原则编程,也还是可以实现的.比如说把所有的实现过程,各种各样的方法啦等等都放在一个类里头,就有点像C语言中的主函数一样,只是JAVA中必须用类来调用MAIN而已.其实,说白了,本质是一样的.就象用两种不同的语言,说同样的话一样,会产生不同的效应.或着像用不同的锅煮同样的东西,速度,味道上的差异等等.
不过,我也不知道自己这样的理解对不对,只是感觉对OOP还是很模糊的理解着,看到大家都可以写代码去实现一些操作,但是这些是否都是基于面向对象编程的呢?值得深思.估计要弄懂OOP还有很长的路要走.
SE阶段的基础,对后续的学习非常重要,有种磨刀的味道.因为自己比较喜欢WEB编程,所以后面开始学习WEB编程,并进入J2EE阶段的学习.初级阶段,用的是很流行的孙鑫老师的<<java web开发详解=""></java>>,后面,EE高级阶段,学习框架,都是看电子书了.还有网络上的一些别人的例子.网络上的资源非常丰富,只要自己笃定了方向,一般都是可以找到自己想要的资源的.但同时,网络又是一把双韧的刀,很容易让热迷失,只能看自己把持了.不过,学习的过程是异常痛苦的,从了解到认知,到深入,需要很长的一段时间.所以,真的很不希望,别人也像我这么辛苦地学习,呵呵,希望此文,能对初学着有所帮助.或许,每个人行走的路上,总是参半着笑和泪,有苦才有甜吧.路在脚下.
07.5.20
附:
王咏刚<<凌波微步>>
我一直愚蠢地认为,程序员的工作与艺术家的工作有着某些共通之处。我向上帝保证我曾亲眼看到中关村一个使用美国作息时间编写代码的程序员,在即将结束第一百零一次测试之际,孤身擎网线、泪眼眺朝阳,踌躇满志地吟诵:“我已经是第一百万次迎接经验的现实,在灵魂的冶坊里锻铸未经上帝创造的人类的良知。”这一经历使我毫不犹豫地从乔伊斯老头儿那儿攫取了写作这篇短文的灵感。——感谢二十世纪最伟大的程序员詹姆斯·乔伊斯,感谢他在上个世纪初就创作出了《青年艺术家的肖像》这样精彩的“软件”。
毕业之前我在公司接受面试,一个姓汤的经理用非常严肃的语调问我如何看待程序员的工作。我闭上眼睛抱着肩膀苦苦思索,样子像一只挖不出胡萝卜的鼹鼠。然后我睁开眼,故作镇定,强打精神,告诉考官我觉得程序员的工作是一种创造性的工作就像画家作曲家钢琴家歌唱家舞蹈家小说家诗人美工编剧导演化妆师街头艺术家的工作一样,我觉得作为一个程序员一要睿智二要幽默三要诙谐四要打趣五要搞笑,我还觉得……到现在我也没有想通为什么公司可以容忍我做程序员的工作做到现在,反正我的程序员的生涯是从这位汤经理的面前开始的。
严格意义上说,我在公司这几年少说也写足了三十万行程序。也许有一天我可以把这些大大小小的可用的瘫痪的高速的低效的人工智能的人工白痴的程序都打印出来,收编成册,堆积成山,体会一下著述等身的成就感,然后用王朔的口气跟记者说我写着写着手都写残了可是还得写没办法谁让我是程序员呢。我老是问自己老写程序烦不烦呀,我总也找不到答案也总没停止写程序;直到昨天我看到海德格尔说“时间性使得生存性、事实性和沉沦的统一成为可能并从根本上构成烦的整体结构”,我这才知道原来“烦”也和程序一样是有结构的,也要经过需求分析概要设计详细设计并且要随着时间的延展才能烦得起来。这么说来程序员的工作除了艺术性之外还能表现出半点哲学性来,这么说来我在有生之年或许还可以攒出一部哲学书叫做《存在与烦》。
相信有一天硅谷的老板会亲自到复旦北大北师大南大山大浙大的中文系高薪聘请会写诗的程序员,因为写程序的终极真理和写诗基本类似。如果一个人没办法弄明白为什么“仄仄平平仄仄平”的下句非要对“平平仄仄仄平平”,那么他也一定弄不明白为什么循环只能嵌套不能交叉为什么用跳转语句就会得到“意大利面条”。套用静安先生的话讲就是:“程序以境界为最上。有境界则自成高格,自有名句。”这种道理很难用一两句话解释清楚,非要讲的话我们可以从华山岳掌门那里的“以气御剑”学起。至少我们知道,会编程序和会编好的程序是两码事,这就好比写“我的所爱在山腰”和写“枝上柳绵吹又少”是两码事一样。
我很自豪我是一个青年程序员(“青年”的意思是指程序员的年龄结构与职业足球运动员大致相仿),我最为得意的一幅自画像出现在加菲猫的连环画里——
加菲猫腆着肚子拿起一件黑白间条衫说:“听说穿竖条纹的衣服可以显得苗条一些。”……加菲猫照着镜子说:“可现在我就像一个大西瓜。”
梁肇新<<编程高手箴言>>
高手成长的六个阶段
程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封。
我认为,一个程序员的成长可分为如下六个阶段。
第一阶段
此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。
第二阶段
此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。
第三阶段
此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。
第四阶级
此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。
这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想转变不过来。
第五阶级
此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定会设计出来。
第六阶级
此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。
此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,Win 32或Linux在你眼里是没有什么差别的。
每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。
要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。
现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。
但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩VB,做程序时,去找一堆控件集成一个软件。
现在一种流行的说法是,中国软件人才现在是一个橄榄型的人才结构,有大量的中等水平的程序员,而初级和高级程序员比较少。而我认为,现在中国绝大多数都是初级的程序员,中级程序员很少,高级的就更少了。所以,现在的人才结构是“方塔”形,这是一种断层的不良结构。而真正成熟的软件人才结构应该是平滑的三角形结构。这样,初级、中级、高级程序员才能充分地各施所长。
初级程序员和高级程序员的区别
一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得VB也能做出应用来,且看起来也不错。
但到了中级程序员时,他可能就不会选择VB了,可能会用MFC,这时,也能做出效果不错的程序。
到高级程序员时,他绝对不是首先选择以上工具,VB也好,VC也好,这些都不是他考虑的问题。这时考虑的绝对是什么才是具有最快效率、最稳定性能的解决问题的方法。
软件和别的产品不同。比如,在软件中要达到某个目标,有n种方法,但是在n种方法中,只有一种方法或两种方法是最好的,其他的都很次。所以,要做一个好的系统,是很需要耐心的。如果没有耐心,就不会有细活,有细活的东西才是好东西。我觉得做软件是这样,做任何事情也是这样的,一定要投入。
程序员到达最高境界的时候,想的就是“我就是程序,程序就是我”。这时候我要做一个软件,不会有自己主观的思路,而是以机器的思路来考虑问题,也就是说,就是以程序的思考方式来思考程序,而不是以我去设计程序的方式去思考程序。这一点如果不到比较高的层次是不能明白的。
你设计程序不就是你思考问题,然后按自己的思路去做程序吗?
其实不是的。在我设计这个程序的时候,相当于我“钻”入这个程序里面去了。这时候没有我自己的任何思维,我的所有思维都是这个程序,它这步该怎么走,下步该怎么走,它可能会出现什么情况。我动这个部分的时候,别的部分是否要干扰,也许会动一发而牵全身,它们之间是怎么相互影响的?
也只有到达这个境界,你的程序才能真正地写好,绝对不是做个什么可视化。可视化本身就是“我去设计这个程序”,而真正的程序高手是“我就是程序”,这两种方法绝对是不同的。比如,我要用VB去设计一个程序,和我本身就是一个程序的思维方式,是不一样的。别人也许觉得操作系统很深奥,很复杂,其实,如果你到达高手状态,你就是操作系统,你就能做任何程序。
对待软件要有一个全面的分析方法,光说理论是没有用的。如果你没有经过第一、第二、第三、第四这四个阶段,则永远到达不了高境界。因为空中楼阁的理论没有用,而这些必须是一步一步地去做出来。
一个高级程序员应该具备开放性思维,从里到外的所有的知识都能了解。然后,看到世界最新技术就能马上掌握,马上了解。实际上,技术到达最高的境界后,是没有分别的。任何东西都是相通的,只要你到达这个境界以后,什么问题一看就能明白,一看就能抓住最核心的问题,最根本的根本,而不会被其他的枝叶或表象所迷惑,做到这一步后才算比较成功。
从程序员本身来说,如果它到达这一步以后,他就已经形成了开阔的思维。他有这种开放性思维的话,他就能做战略决策,这对他将来做任何事情都有好处。事实上,会做程序后,就会有一种分析问题的方法,学会怎么样把问题的表象剖开,看到它的本质。这时你碰到任何具体的问题,只要给点时间,都能轻而易举地解决。实际上,对开发计算机软件来说,没有什么做不了的软件,所有的软件都能做,只是看你有没有时间,有没有耐心,有没有资金做支撑。
这几年,尤其是这两三年,估计到2005年前,中国软件这个行业里面大的软件公司就能形成。现在就已经在形成,例如用友,它上市后,地位就更加稳固了。其他大的软件企业会在这几年内迅速长大。这时候,包括流通渠道、经销商的渠道也会迅速长大。也就是说,到2005年以后,中国软件这个行业的门槛比现在还要高很多,与美国不会有太大的差别。此时,中国软件才真正体现出它的威力来。如果你是这些威力中的一员,就已经很厉害了。
别人可能知道比尔·盖茨是个谈判的高手,是卖东西的高手,其实,比尔·盖茨从根本上来说是个程序高手,这是他根本中的根本。他对所有的技术都非常敏感,一眼就看到本质,而且他本身也能做程序,时常在看程序。现在他不做董事长,而做首席设计师,这时他就更加接近程序的本质。因为他本身就有很开阔的思维,又深入到技术的本身,所以他就知道技术的方向。这对于一个公司,对他这样的人来说,是非常重要的。
如果他判断错误一步,那公司以后再回头就很难了。计算机的竞争是非常激烈的,不能走错半步。很多公司以前看上去很火,后来就销声匿迹了,就是因为它走错一步,然后就不行了。为什么它会走错?因为他不了解技术的本质在哪里,技术的发展方向在哪里。
比尔·盖茨因为父母是学法律的,所以他本身就很能“侃”,很有说服力,而他又是做技术的,就非常清楚技术的方向在哪里,所以他才能把方向把握得很准确,公司越来越大。而别的公司只火一阵子,他却火了还会再火。就算微软再庞大,你如果不把握好软件技术的最前沿,一样也会玩完。就像Intel时刻把握着CPU的最新技术,才能保证自己是行业老大。技术决定它的将来。
所以,程序员要能达到这样的目标,就要有非常强的耐心和非常好的机遇才有可能。事实上,现在的机会挺好的,2005年以前机会都非常大,以后机会会比较小。但是,如果有耐心的话,你还是会有机会的,机会都是出在耐心里。我记得有句话说“雄心的一半是耐心”,我认为雄心的三分之二都是耐心。如果你越有野心,你就越要有耐心,你的野心才有可能实现。如果你有野心而没有耐心,那都是胡思乱想,别人一眼就能看穿。最后在竞争中,对手一眼就看到你的意图,那你还有什么可竞争的?
程序员是吃青春饭的吗
很多人都认为程序员是三十岁以前的职业,到了三十岁以后,就不应再做程序员了。现在的很多程序员也有这种想法,我觉得这种想法很不对。
在20世纪80年代末到90年代初,那时软件还没有形成行业,程序员不能以此作为谋生的手段时,你必须转行,因为你年轻的时候不用考虑吃饭的问题,天天“玩”都可以,但是以后就不可能了。
据我了解,微软里面的那些高手,几乎都是四五十岁的,而且都是做底层的。他们是上世纪70年代就开始“玩”程序的,所以对于整个计算机,他们是太清楚了。现在有些人主观臆断地希望微软第二天倒闭就好了,但那可能性太小了。因为那些程序员是从CPU是4004的时候开始,玩到现在奔腾IV,没有哪一代东西他们没有经历过。
你知道他们现在正在玩什么吗?现在正在玩64位的CPU。你说你普通的程序员,有这个耐心吗?没有这个耐心,你绝对做不了,你也绝对当不了高手。他为什么能做?因为他不仅是玩过来的,而且他还非常有耐心,每一步技术他都跟得上,所以对他来说,没有任何的难度和压力。
因为计算机技术没有任何时候是突变的。它的今年和去年相差不会很大,但是回过头来看三年以前的情况,和现在的距离就很大。所以说,如果你每年都跟着技术进步的话,你的压力就很小,因为你时刻都能掌握最新的技术。但是,如果你落下来,别说十年,就是三年,你就赶不上了。
如果你一旦赶不上,就会觉得非常吃力;如果你赶不上,你就会迷失方向;如果你迷失了方向,你就觉得计算机没有味道,越做越没劲。当你还只是有个思路的时候,别人的产品都做出来了,因为你的水平跟别人相差太远,人家早就想到的问题,你现在才开始认识。水平越高,他就看得越远,那么他的思维就越开阔;水平越低,想的问题就越窄。
64位CPU是这个十年和下个十年最重要的技术之一,谁抓住这个机会,谁就能抓住未来赚钱的商机。CPU是英特尔设计的,对这一点他肯定清楚。举例来说,如果从64位的角度来看现在的32位,就像从现在的角度去看DOS。你说DOS很复杂吗?当你在DOS年代的时候,你会觉得DOS很复杂。你说现在的Windows不够复杂吗?Windows太复杂了,但是你到了64位的时候再去看Windows,就如同现在看DOS一样。
整个64位系统的平台和思维方式、思路都比现在更开阔,打个比方说,现在的Windows里面能开n个DOS窗口,每个DOS窗都能运行一个程序。到达64位的时候,操作系统事实上能做到开n个X86,开n个Windows 98,然后再开n个Windows 95都没有问题,系统能做到这一步,甚至你的系统内开n个Windows NT都没有关系。这就是64位和32位的差别。所以,微软的那些“老头”,四、五十岁的那几个做核心的人,现在正在玩这些东西。你说微软的技术它能不先进吗?是Linux那几个玩家能搞定的吗?
微软的技术非常雄厚,世界计算机的最新技术绝对集中在这几个人手里。而且这几个人的思维模式非常开阔,谁都没有意识到的东西他早就开始做了。现在64位的CPU都出来一二年了,你说有什么人去做这些应用吗?没有,有的就是那几个UNIX厂商做好后给自己用的。
所以,追求技术的最高境界的时候,实际上是没有年龄限制的。对我来说,现在都三十三了,我从来没有想过退出这行,我觉得我就能玩下去,一直玩到退休都没有问题。我要时刻保持技术的最前端,这样的话对我来说是不困难的,没有任何累的感觉。
很多人说做程序不是人干的事情,是非人的待遇。这样,他们一旦成立一个公司,做出一点成绩,在辉煌的时候马上就考虑退出。因为他们太苦了,每天晚上熬夜,每天晚上烧了两包烟还不够,屋子里面简直就缺氧了,好像还没有解决问题。
白天睡觉,晚上干活,那当然累死了,这是自己折腾自己。所以,做程序员一定要有一种正常的心态,就是说,你做程序的时候,不要把自己的生活搞得颠三倒四的。如果非得搞得晚上烧好多烟才行,这样你肯定折腾不到三十岁,三十岁以后身体就差了。
事实上,我基本上就没有因为做程序而熬夜的。我只经历过三次熬夜,一次是在学校的时候,1986年刚接触计算机时,一天晚上跟一个同桌在计算机室内玩游戏,研究了半天,搞着搞着就到了天亮,这是第一次。然后在毕业之前,在286上做一个程序。还有一次就是超级解霸上市前,那时公司已吹得很大了,那天晚上没法睡觉。
一般来说,我也是十二点钟睡觉,第二天七点就起了。所以说,只有具有正常的生活、正常的节奏,才有正常的心态来做程序员,这样,你的思路才是正常的,只有正常的东西才能长久。搞疲劳战或者是黑白颠倒,时间长久后就玩不转了,玩着玩着就不想玩了。
只要你不想玩,不了解新技术,你就会落后,一旦落后,你再想追,就很难了.
发表评论
-
附件上传-入库篇
2013-06-04 19:09 1457接上一篇:http://lz726.iteye.com/b ... -
附件上传-前端篇
2013-06-04 18:49 6265经过大半个月的折腾,终于可以出一个自己比较认可的版本。这次 ... -
开发测试总结
2012-05-03 17:22 1517两年前五月份写的,两� ... -
comeback
2012-04-28 14:59 11322012年4月28日,突然想到这词 comeback,嗯,好像 ... -
六月小忆
2009-07-08 12:50 1113转眼已经盛夏,时间的轮转里,又走过一季。 这一年的六月是忙碌 ... -
记得那一个多月
2009-06-15 13:05 1186早上,无意中发现之前在TST做的那个网站已经挂上去了 ... -
自己给自己的月报
2009-05-23 14:14 10615.5--5.8 旧系统维护 5.11-5.15 ... -
回到起点
2009-05-05 13:09 1119感觉像经历了漫长的蛰伏,蜕变一样,又回到了原点。而这一次却感觉 ... -
记录这一段时光
2009-04-17 15:24 12742009.02.13--2009.04.16 2� ... -
痛并快乐着
2008-09-28 22:31 1160人生,或者就是自我折腾 ... -
给生活写一段注释
2008-09-25 00:09 1543生活本身应该就是一道又一道的程序,逼自己在生命的某个程序走到这 ... -
期待如新
2008-07-26 14:57 1045辞职后,离开工� ... -
a begin an end
2008-06-22 21:30 1133终于告别了第一份工作,离职了反倒觉得很轻松.接下来, ... -
the moment
2008-06-13 22:26 1010"这一刻,回头看见自 ... -
两三天
2008-06-06 22:10 1058这一周,努力地反思了许 ... -
要好好反省了
2008-06-04 02:10 1128JAVA基础知识都忘了,最近都不知道自己在做什么.汗颜,非常地 ... -
世界真奇妙
2008-06-01 07:42 1112首先,先祝福所有的人,六一节快乐.虽然,今年所有的快乐都可能带 ... -
恰同学少年
2008-05-31 00:16 1069如果每个人都能遵守交通规则,那要交通警察做什么呢?所 ... -
保守的尝试
2008-05-23 22:37 1113因为地震的影响,这一周 ... -
置之死地而后生
2008-05-17 01:09 1238用动荡不安来描绘这一� ...
相关推荐
今日,我们站在毕业的门槛上,回首来时路,心中充满了感慨和感激。 我们的初中生活是一段难忘的旅程。从初入校门的那天起,我们便与这片土地结下不解之缘。三年来,我们在艺术节上尽情展现才艺,在体育节上挥洒汗水...
5. **活动二:回首来时路**:回顾前四次活动,分享个人感悟,巩固学习成果,强化团队成员之间的联系。 6. **活动三:真情告白**:提供一个平台让成员分享他们在活动中的感受,增进彼此的感情。 总的来说,这个方案...
《回首来时路》与《爱在指尖》等活动不仅让成员回顾和体验整个团辅过程,而且是收集成员反馈的重要途径。通过问卷调查,可以更直观地了解活动对增强班级凝聚力和信任感的影响,从而为未来的团辅活动提供改进方向。 ...
在教育界,特级教师孙双金的名字如雷贯耳,他不仅在语文教学上有着独到的见解和成就,而且以自己的教育叙事揭示了成为名师的来时路。本篇论文以孙双金的教育经历为蓝本,深入解析了其教育叙事的内涵,揭示了教师专业...
Ubuntuda搭建网络安装漏洞靶场(DVWA、Pikachu)
飞利浦2024数据治理实践-企业数字化转型的数据治理概述报告39页.pdf
内容概要:本文详细介绍了使用ABAQUS进行太阳帆展开机构的多体动力学仿真过程。主要内容包括帆桁的连接方式、铰链约束的设置、非线性阻尼的应用、接触设置、材料特性的定义以及动态显式分析步的优化。作者分享了许多实用技巧,如非线性阻尼系数的设置、摩擦系数的选择、质量缩放系数的调整等,解决了仿真过程中遇到的各种问题,如数值震荡、接触力震荡、单元扭曲等。最终成功实现了四根帆桁的同步收拢,并展示了仿真结果的应力云图和动画。 适合人群:从事航天工程、机械设计、有限元分析的研究人员和技术人员。 使用场景及目标:适用于需要精确模拟复杂机械系统运动和受力情况的场合,特别是涉及空间展开机构的设计和验证。目标是提高仿真精度,减少实验成本,确保设计方案的可靠性。 其他说明:文中提供了大量具体的ABAQUS代码片段,帮助读者更好地理解和应用相关技术和方法。同时,强调了仿真过程中需要注意的关键点和常见错误,为实际操作提供了宝贵的指导。
内容概要:本文深入浅出地介绍了卡尔曼滤波的基本原理及其在MATLAB中的具体应用。首先解释了卡尔曼滤波的核心思想,即通过预测和观测修正两个步骤,利用状态转移矩阵F和卡尔曼增益K来处理带有噪声的测量数据,从而得到更加精确的状态估计。接着,通过多个具体的MATLAB代码实例,演示了如何应用于不同场景,如无人机飞行轨迹跟踪、匀速运动小车的位置估计以及复杂非线性系统的状态估计。文中还探讨了调参技巧,强调了模型选择的重要性,并指出卡尔曼滤波并非适用于所有情况,特别是在面对非线性系统时需要采用扩展卡尔曼滤波(EKF)。 适合人群:对卡尔曼滤波感兴趣的研究人员、工程师和技术爱好者,尤其是那些希望将理论应用于实际项目的人。 使用场景及目标:①理解卡尔曼滤波的工作机制;②掌握如何在MATLAB中实现卡尔曼滤波;③学会根据不同应用场景调整参数,优化滤波效果。 其他说明:尽管卡尔曼滤波在许多领域表现出色,但它并不适用于所有类型的系统,特别是对于高度非线性和不确定性强的系统,可能需要考虑其他方法或改进现有模型。此外,文中提供的MATLAB代码可以直接用于实验和教学目的。
内容概要:本文详细介绍了三相桥式(两电平)闭环并网仿真的设计与实现。主要内容涵盖100kW功率等级系统的主电路拓扑、关键组件(LCL滤波器和SPWM调制)、控制策略(电流内环PI与前馈解耦)及其仿真结果。文中通过具体的代码示例展示了LCL滤波器的传递函数构建、SPWM波的生成以及PI控制器的设计。仿真结果显示,系统成功实现了对称的三相波形,电流THD仅为0.76%,功率因数达到0.99,验证了设计方案的有效性和优越性。 适合人群:从事电力电子系统设计与仿真的工程师和技术研究人员。 使用场景及目标:适用于需要深入了解并网逆变器设计、LCL滤波器优化、SPWM调制技术和电流内环PI控制策略的研究人员。目标是提高并网系统的效率和稳定性,确保电能质量符合标准。 其他说明:文章提供了详细的代码片段和参数设置,有助于读者理解和复现实验结果。同时,作者分享了一些调试经验和遇到的问题,为后续研究提供宝贵的经验参考。
内容概要:本文详细介绍了如何使用BP神经网络模拟一阶带时滞的系统。首先定义了系统的惯性和滞后时间参数,并解释了这些参数对系统响应的影响。接着展示了如何构建三层BP神经网络,包括选择合适的激活函数、调整学习率以及配置训练参数。文中强调了数据准备的重要性,如将过去的输入和之前的输出打包作为网络输入,以帮助网络学习时滞规律。训练过程中,作者分享了损失曲线的变化特点,并提出了早停法和权重初始化的最佳实践。测试部分通过脉冲序列验证了网络的有效性,结果显示神经网络输出比传统方法更贴近真实曲线。此外,文章讨论了网络在不同工况下的表现及其局限性。 适合人群:具有一定MATLAB编程基础并希望深入了解神经网络应用于控制系统的人群,尤其是从事工业自动化和控制工程领域的研究人员和技术人员。 使用场景及目标:适用于需要对复杂动态系统进行建模和仿真的场合,旨在提高对带有时滞特性的系统行为的理解,同时提供了一种替代传统数学建模的方法。目标是使读者能够掌握利用BP神经网络解决此类问题的具体步骤和技术要点。 其他说明:文中提供了完整的代码示例,便于读者动手实践。并且针对一些常见的挑战给出了具体的解决方案,如通过加入噪声改善训练效果等。
内容概要:本文详细介绍了利用BP神经网络拟合一阶线性系统的方法和过程。文中涉及到了用于训练(Train.mlx)、测试(Test.mlx)的MATLAB脚本文件,以及存储训练后的权重参数文件(Weight.mat)。作者通过生成模拟数据,构建BP神经网络模型,设置合理的网络参数如隐藏层数量、学习率等,并进行了训练和测试。同时讨论了一阶线性系统的特性,特别是离散时间和惯性时间对其响应的影响。此外,还分享了一些提高模型性能的小技巧,如数据预处理、选择合适的网络结构和防止过拟合。 适合人群:对机器学习尤其是神经网络有一定了解的研究人员和技术爱好者,以及从事控制系统相关工作的工程师。 使用场景及目标:适用于希望通过BP神经网络理解和模拟一阶线性系统的科研工作者或学生;目标是在掌握BP神经网络基本原理的基础上,能够独立完成类似的系统建模任务。 其他说明:文中提到的一些具体数值(如惯性时间为0.1秒)是为了便于演示而设定的例子,实际应用中可根据具体情况调整。另外,作者强调了在实践中要注意避免过拟合并适当处理数据以提升模型泛化能力。
内容概要:本文详细探讨了多智能体自适应时变编队跟踪控制的技术原理和实现方法。首先介绍了编队跟踪的基本概念,即多个智能体按预定队形协同运动并跟踪目标。接着阐述了观测器在多智能体系统中的重要作用,如利用卡尔曼滤波等技术估计不可直接测量的状态变量。文中提供了具体的Python代码示例,展示了如何构建简单的观测器和智能体模型,以及如何通过自适应控制算法使智能体能够响应时变环境。此外,还讨论了通信延迟、编队形状动态变化等问题,并提出了相应的解决方案。最后强调了该技术在未来交通、军事等多个领域的广泛应用前景。 适合人群:对分布式系统、自动化控制、机器人技术感兴趣的科研人员和技术开发者。 使用场景及目标:适用于研究和开发涉及多智能体协同工作的项目,特别是需要解决编队跟踪问题的场合。目标是提高智能体间的协作效率,增强对复杂环境的适应能力。 其他说明:文章不仅涵盖了理论知识,还包括大量实用的代码片段,有助于读者快速理解和实践相关技术。
内容概要:本文详细介绍了利用CST进行超表面仿真的多个案例和技术细节。首先探讨了电磁诱导透明(EIT)现象的实现,通过参数化建模和调整谐振环结构,实现了特定频段的透明窗口。其次,讨论了二极管可重构超表面的设计,展示了如何通过改变偏置电压来调节S参数曲线。此外,还涉及了石墨烯超表面、多频段吸波器、轨道角动量透镜以及联合建模等方面的内容,提供了具体的代码示例和实践经验。 适合人群:从事电磁学研究、超表面设计、天线工程等领域的工作研究人员和技术爱好者。 使用场景及目标:①帮助科研人员理解和掌握CST软件中超表面仿真的具体实现方法;②为实际工程项目提供有效的代码模板和解决方案;③促进跨学科合作,如将MATLAB、Python与CST结合用于复杂系统的优化设计。 其他说明:文中不仅分享了大量的实用代码片段,还强调了仿真过程中需要注意的实际问题及其解决办法,如材料特性的精确设定、网格划分技巧等。同时指出了一些常见的误区和挑战,并给出了相应的应对措施。
Cursor Setup 0.42.5 - Build 24111460bf2loz1-x64.exe.wim
内容概要:本文深入探讨了利用遗传算法和免疫算法解决物流配送中心选址问题的方法。首先介绍了两种算法的基本原理及其在MATLAB中的具体实现,包括详细的代码解释和关键步骤。免疫算法通过模拟生物免疫系统的工作机制,在选址问题中将需求点视为抗原,配送中心作为抗体,通过适应度函数评估并筛选最优解;遗传算法则侧重于空间分布优化,采用二进制编码表示配送中心选择,并通过交叉、变异等操作不断改进解的质量。两者都实现了动态可视化,帮助观察优化过程。此外,文章还讨论了不同场景下两种算法的应用特点以及参数调整技巧。 适合人群:对智能算法感兴趣的研究人员、从事物流规划的专业人士、希望深入了解遗传算法和免疫算法的开发者。 使用场景及目标:适用于需要优化物流配送网络的企业和个人,特别是那些面临多个需求点和服务设施选址决策的情景。目标是通过合理的算法设计和参数配置,找到成本最低、效率最高的配送中心布局方案。 其他说明:文中提供的代码片段均为核心逻辑节选,完整的实现还需包含异常处理、数据校验等功能。建议初学者先熟悉基本概念和流程,再尝试修改关键参数以适应特定需求。
DataFunSummit2025知识图谱峰会嘉宾演讲PPT合集
基于51单片机protues仿真的汽车车速监测、车速表系统(仿真图、源代码、AD原理图、论文) 该设计为51单片机protues仿真的汽车车速监测、车速表系统,实现车速测量显示; 车速监测 1、脉冲编码器测量车速(仿真直接电机代替) 2、通过电位器设置报警值,车速过高报警 3、显示当前车速和阀值; 4、仿真图、源代码、AD原理图、论文
内容概要:本文详细介绍了使用COMSOL进行铁木辛柯梁振动分析的方法,涵盖了从材料参数设定、边界条件配置、网格划分到特征频率和强迫振动分析的全过程。首先,文章强调了铁木辛柯梁理论相较于传统欧拉梁理论的优势,特别是在处理短粗梁时考虑剪切变形和转动惯性的必要性。接着,通过具体实例展示了如何在COMSOL中设置材料参数、边界条件以及施加外部载荷。同时,针对常见的仿真问题如不收敛、模态遗漏等提供了实用的解决方案。最后,文章还讨论了瞬态分析中的几何非线性和阻尼设置,并分享了一些提高计算效率和准确性的技巧。 适合人群:从事结构动力学仿真工作的工程师和技术人员,尤其是那些需要精确分析短粗梁振动特性的研究人员。 使用场景及目标:适用于需要深入了解铁木辛柯梁振动特性的工程项目,帮助用户掌握COMSOL仿真工具的具体应用方法,确保仿真结果的准确性并提高工作效率。 其他说明:文中不仅提供了详细的代码片段和参数设置指南,还穿插了许多实践经验教训,有助于读者避免常见错误并优化仿真流程。此外,文章还提到了一些高级技巧,如利用事件接口捕捉接触非线性现象,进一步扩展了仿真的应用场景。
Aloudata2024年NoETL开启自动化数据管理新时代白皮书24页.pdf
内容概要:本文详细介绍了利用MATLAB进行期货价格预测的方法,重点探讨了粒子群优化(Particle Swarm Optimization, PSO)对支持向量机(Support Vector Machine, SVM)参数优化的影响。文章首先阐述了数据预处理步骤,包括数据读取、清洗、标准化以及训练集和测试集的划分。然后构建了基础SVM模型,并针对不同的核函数(RBF、线性和多项式)进行了性能评估。接下来引入PSO算法来自动寻找最佳的超参数组合(C和γ),并通过多次实验验证了优化前后模型的表现差异。结果显示,在RBF核的情况下,经过PSO优化后的SVM能够显著降低预测误差,提高预测准确性。此外,文中还分享了一些实践经验,如避免常见错误、调整PSO参数以加快收敛速度等。 适合人群:对量化交易感兴趣的研究人员和技术爱好者,尤其是那些希望深入了解机器学习算法在金融市场中应用的人士。 使用场景及目标:适用于希望通过改进现有模型来获得更好预测效果的研究项目;旨在帮助读者掌握如何将先进的优化技术和经典分类器相结合,从而更好地应对复杂的金融时间序列预测任务。 其他说明:作者强调了数据预处理的重要性,并指出对于特定类型的资产(如农产品或金属),选择合适的核函数可能会带来更好的预测结果。同时提醒读者注意计算成本与预测精度之间的权衡关系。