博文

程序人生(2006-11-26 23:13:00)

摘要:程序人生       有人问我:什么样的程序才算得上编的好         程序人生, 其实程序就像人生,什么样的程序编的好就好比如什么样的人生比较好呢?学历越高越好还是经验越丰富越好;名声重要还是金钱重要;选择家体还是爱情……它们或许可以共存,或许得经历种种选择,甚至抉择;程序也一样,十全十美的程序基本上不存在,一个程序需要在很多质量属性之间选择;质量与效率成本的平衡。         程序,正确性当然是第一,程序都不能工作还谈质量、成本就没什么意义了。那么人生呢?人必须活着,活着是第一,都死了或者快死了还谈什么人生意义。活着,没有活着,没有生存能力的话,其他方面都没什么好说了。         生存能力,基本可以理解为赚钱,想生存基本上就得赚钱,如果缺吃少穿,那么你还可能去研究数学物理?当然,这里的生存能力还应该更广泛一点。第一、人家觉得你的人生有意义,赞助你完成你的人生,比如赞助你做科研等;第二、你的家庭条件好,你可以在不考虑赚钱的情况下选择你自认为有意义的人生。然而不管自己赚钱、国家或者别人资助或者依靠家庭,这些都是生存能力的体现,没有生存能力,你的人生即将结束,何来人生的意义。生活不是为了活着,但是生活必须要活着,活着是为了生活。         正确性是程序的第一要素,但是这是最基本的,除了正确性,还需要比如健壮性、可靠性、可移植性、易用性、清晰性、安全性、可扩展性等。很不幸的是其他性能之间并不能完全”融合“,它们之间可能存在冲突,安全的代码可能不清晰,可扩展的代码又可能不安全,因此各个属性之间需要平衡。更重要的是,单单考虑这些质量属性甚至还不行,质量得跟实际相结合,你写了质量很高很高的程序得要一年,人家客户要求半个月完成,你老板不炒了你才怪;人家可能不需要那么高的质量,比如人家对健壮性也不是很在乎,当机了人家也不在意,至多重新开始。一般来说,质量高的,效率就低,价格自然就涨,因此他们也需要一个平衡。   &nbs......

阅读全文(4440) | 评论:0 | 复制链接

理想是模糊的——看李开复的《做最好的自己》(2006-11-26 01:59:00)

摘要:理想是模糊的——看李开复的《做最好的自己》 大家都应该有一个理想,有人生的一个奋斗目标。李开复老师的书中讲解了很多这方面的相关的东西。        谈到理想的意义:“理想和财富并不冲突,一心追求财富多半适得其反,而一心追求理想却有可能让财富离自己更近一些。理想是引领人生的灯塔;没有理想,就没有坚定的方向;没有方向就没有充实的生活。” 简单的说:你自己都不知道你读书是为了什么,那你还会认真读书?你自己都不知道现在活着是为了什么,那你可能会觉得很孤单寂寞,甚至心理会渐渐的不健康。        对理想的真正理解:“并不是理想都必须像伟人的理想那样宏伟壮丽,而应该是最适合自己的人生目标,是非常个性化的愿景或使命。应该由个人的选择并决定。”我的理解是,你的理想应该根据自己的喜好,自己的条件,从自身实际出发去选择,不应盲目跟从。        如何确定理想,确定人生目标呢? 很多标准,比如,“理想要有价值;理想要符合实际又要有点挑战;尽量摆脱名利羁绊;能够成为自己的智囊,指引自己走向成功。”举个例子:“成为最厉害的黑客”,这种理想就不太好了,虽然有挑战,摆脱名利,让自己更聪明,但价值并不大,除了满足一下自己的虚荣心,让自己愤世嫉俗的思想爆发一下,没有什么了,搞不好哪天被抓了还大喊冤枉。 很多方法,书中谈到一个“心灵感应法”,我不知道是不是真的有效,就不列举了;谈到了用智慧选择成功的方法,概括为七句话:“用中庸拒绝极端;用理智反对片面;用务实发挥影响;用冷静掌控抉择;用学习积累经验;用自觉端正态度;用真心追求智慧。”         虽然理想的标准很多,方法也很多,大家都在追寻探索,但是不可不说的是:理想的选择仍然是模糊的,人生目标是模糊的。一个人积极进取,努力学习成为了科学家,获得诺贝尔奖才发现原来这不是我的理想,我的人生根本不希望是这样的;当一个人通过种种关系当上了镇长、县长、省长才发现当官没意思;当一个老师下海经商赚得大钱才发现原来教育下一代才是我的人生目标。    &nb......

阅读全文(3415) | 评论:0 | 复制链接

《Don’t Make Me Think》初看体会(2006-11-14 19:07:00)

摘要:《Don’t Make Me Think》初看体会 《Don’t Make Me Think》,点石成金:访客至上的网页设计秘笈(原书第2版)。《Dont Make Me Think中文版》是与《网站重构》齐名的网站交互设计类图书,全书仅147页,全彩印刷,内容虽少却包含了交互设计的大智慧。 初看这本书,并不是想为这书做宣传,而只是有两点小体会,希望跟大家分享: 让我更加体会到艺术和技术的区别,艺术的东西是比较难描述的,有所谓的只可意会不可言传的感觉,技术的东西却是可以比较轻松的传授给别人,我曾经在《艺术与技术》(http://xiangyu138.spaces.live.com/blog/cns!EDB3FA251D9AFF4!255.entry) 中讲到,其实艺术是可以转化为技术,并且只有转化为技术才是真正的人类的知识。而本书介绍网站设计更是让我体会到这点,很多人进行网站设计总是凭借一种感觉,自以为自己感觉良好,别人就有同样的感觉,其实有一些基本的原则仍是需要遵循。

本书提到的需要遵循的原则固然很好,但是让我震撼的是把一种艺术的东西以技术的形式展现给大家,这是更重要的。
有人说我怎么突然看起网站设计的书来,其实经过短暂的实习工作,发现广博的知识有时就是提升自己的砝码,虽然我不是引导大家利益为上,但是培养一些工作学习之外的兴趣,并且同自己的人生计划相结合,那或许就会给你带来机遇。有人或许会说,娱乐同样很重要,可以保证身心健康,这个没错,但是要是知识与娱乐相结合,那就更好。就像你怎么知道人家整天背诗歌,读单词很累呢,说不定人家是乐在其中;就像你怎么知道我整天看传记,看评论很累呢?其实那就是我的娱乐,娱乐并不是说一定要玩游戏,看电影,其核心和目的是要保证身心健康。......

阅读全文(3393) | 评论:0 | 复制链接

积极主动——小故事两则(2006-11-14 12:43:00)

摘要:积极主动——小故事两则       我其实激情很不够,很多可做可不做的事我一般都不想做,同学朋友组织的游玩聚会我都经常缺席。但是,对于比较重要的事或者有求于别人的事我都会很主动的,下面讲述两个我认为做的不是很主动的例子。          故事一,一同学知道我的计算机类书还比较多,有天聊起,说要向我借Java书,我说好啊,反正暂时也不会看。事后他也没有向我要书,也没有再提起,我以为他不需要了。突然有一天他埋怨我不厚道,太吝啬,说好书借给他怎么又反悔。呵呵,这事我觉得我的同学做的不是很主动,他应该主动找我要书。        故事二,经常在论坛上看到类似:谁有某某电子书或者资料,帮忙发一个到我的邮箱:XXX@XXX.com;或者,谁知道关于XXX的情况,加我QQ:123456等等。         这样做我觉得很不主动,如果是内部论坛,大家都很熟悉的话可能还会有人帮你,否则,这样求人的话应该很少能够得到帮助。一般不认识的话大部分应该都不会主动发Email帮你的;而且有些资料或者电子书可能还比较大,附件可能装不下;有些人可能仅仅会回帖给出下载的链接地址。不管怎么样都应该积极主动去查看自己的贴甚至有时应该主动发消息询问特定的人。叫别人加你QQ更是不太可能。          真实的例子:       1、在我的blog上曾经有人留言(http://blog.programfan.com/article.asp?id=1651):“我是个初学者希望大家多多帮助!~本人QQ18576885~有什么好的东西给我发上几条!多谢拉哥哥姐姐们”。         我给的回复是:学习是主动的,有什么问题你应该主动问人家才对啊。
而你所谓的好的东西是很难定义的,别人觉得好的你不一定有用。如果你需要什么东西或者知识你基本上可以在google或......

阅读全文(18785) | 评论:2 | 复制链接

再看成功的标准——看李开复《做最好的自己》(2006-11-07 22:28:00)

摘要:再看成功的标准——看李开复《做最好的自己》 注:其实这篇文章是以前写的,放在MSN Space,现拿出来跟大家分享,接受批评和建议!        李开复老师的文章我拜读了很多,很佩服他的逻辑和文字组织能力,很多你日常中很常见的基本道理,他可以帮你归纳总结出来,而《做最好的自己》应该算是他的作品和思想的一个系统归纳吧。        当然,李老师的跳槽事件和大学巡回演讲也引起各种不同的评论,好坏都有。而我看问题一般先看到有利的方面,虽然无求品自高,但是真正无求的未必见得很多,我更相信“主观为自己,客观为别人”这个道理。这其实可以算是一种商业思想,没什么好非议的。

       人家经济管理系的同学研究的是大案例,我很佩服崇拜他们分析问题的能力。在这里我也试着看看一些小的案例。读完了李老师的《做最好的自己》觉得有点感想,准备以这个为题材,写一些感想也算是读后感吧。

       成功如何定义?怎么样才算成功?        先讲个真实的故事(原文和我的观点:《看某某老师给同学的观点有感》http://blog.programfan.com/article.asp?id=7178),原来的问题比较复杂一点,这里仅仅把相关的东西拿出来看看。

       去年有个人说了他的困惑:“我的老师昨天说,他对PC软件业已经失去信心了,他说,你看现在世界上除了那几个软件巨头以外还有哪个软件公司过得滋润的?标准就是由软件巨头公司定的,比如你现在做出一个比微软的OFFICE还牛的软你认为有人会用它吗?事实上你也不可能做出来。他劝我不要学这门了,他还把他以前收藏的书送给我,他说他不干了。”         这个人很疑惑,他的老师劝他放弃软件,说软件没有前途了。他心里觉得怪怪的,但是又觉得他的老师讲的好像也有道理......

阅读全文(3921) | 评论:2 | 复制链接

讨论和测试:最大UDP数据报长度(2006-11-06 12:56:00)

摘要:讨论和测试:最大UDP数据报长 注:下面的讨论均针对Ipv4  从理论上,IP包头中有一个字段是标志Ip包的总体长度,共16bit,所有整个Ip包的长度就限制在65535字节,这个长度就包括上层TCP或者UDP的数据和头,以及IP包本身的头和IP包的扩展选项。 现在我们想要得到UDP的最大数据包,则理论上应该65535-UDP头(8字节)-IP包头(20字节)-IP包的扩展选项(假设为0)=65507 当然,这个数据是假设IP支持分片,如果IP不支持分片,那最大的IP报文受MTU限制,例如ethernet上是1500。 下面是我作了一个小测试: 测试环境:
OS:全部为RedHat9.0
测试总结:
1. 为了把客户端和服务器放在同一台机器上时会应该服务器的接收数据(变小)?
2.Windows的测试还未进行,有兴趣的人可以测试一下
3.IP包总长度的实际限制:  
  1)应用程序可能会受到其程序接口的限制。socket API提供了一个可供应用程序调用的函数,以设置接收和发送缓存的长度。现在大部分支持8192字节的UDP数据报。  
  2)来自于TCP/IP的内核实现的限制。可能存在一些实现特性(或差错),使IP数据报长度小于65535字节。  ......

阅读全文(6141) | 评论:0 | 复制链接

写给读者——初来者和迷惑者必读(2006-04-12 20:21:00)

摘要:      写给我编程爱好者空间(http://xiangyu.programfan.com) 的读者,虽然我没有做什么好事,但是仍然感谢他们长期的支持和鼓励        有网友说我的blog太乱,看来我有必要作一个介绍和说明。大家有什么好的建议、意见和要求请不遗余力告诉我,可以在下面的评论或者在留言板给我留言,我将十分感谢。 本空间转载了很多网上文章,如果侵犯到您的权益,将在第一时间内删除。文章仅为个人学习和娱乐,任何个人和媒体不得转载用作商业,否则后果自负
本空间的文章主要是转载的,原创的文章在我的MSN Space(http://spaces.msn.com/xiangyu138/)
内容主要有程序员的发展、工作学习经验、求职技巧经验和自己的学习体会,还有一些专业知识的总结,当然,还有娱乐
主要模块的介绍
1.程序人生:自己的学习和生活体会,原创文章
2.学习生活启示:转载文章,主要是别人的学习和生活体验, 还有具体专业知识的学习经验。这里面的文章很杂,但是这个blog的精华也尽在其中
3.书评※书荐:其实就是书籍介绍了,主要文章来自《程序员》杂志,当然也包括网友的推荐还有自己的体会
4.算法、数据结构:以后的文章趋势将是某些高效算法的整理还有某类问题的算法解决
5.C/C++/Windows编程:这个就是具体的专业知识了,其实也会包括linux下的编程甚至Java
6.C语言程序百例:转载的,里面的程序有很多没有仔细去研究,感觉大部分都比较容易,如果网友有什么问题可以提出来,只是比较复杂的程序我可能没有时间去调试,那我可能会给出一定的思路或者建议。当然,也可以到论坛上去讨论
文章推荐
1.初学编程者:《计算机编程语言的入门学习》(2006.4.27更新)(http://blog.programfan.com/article.asp?id=1651),我写的文章,有一定的局限性,打算更新,因为比较忙,具体的时间还没有确定

2.定位学习方向:定位学习方向的关键是认清各个方向的学习内容和工作内容之间的区别。
《C++、Java......

阅读全文(5278) | 评论:0 | 复制链接

是bug还是错觉:我的blog的文章的字体都变小了,有些还特别小(2006-03-22 20:33:00)

摘要:是bug还是错觉:我的blog的文章的字体都变小了,有些还特别小。(http://blog.programfan.com/article.asp?id=11221) 看到这里的blog的日益进步,最近都没有提意见和建议了,其实这里的字体的设置就很有问题了,我用了一号在显示的时候很好,可是最近就不行了,看来没提意见是我的错啊。  我尝试各种字体的效果(http://blog.programfan.com/article.asp?id=11276)。从尝试的效果上看,原因好像是:我的字体变小是因为以前的字体的bug,以前1号字体刚好达到现在的3号字体的大小,现在把字体的一些bug修改了,以至我文章的字体变小了。不过这里还有问题:
我更早以前的文章根本就没有设置字体大小,那么其默认的字体的大小应该是现在的3号字,可是好像字体还很小,有的是1号字,有的是2号字,这个应该改一下,把以前的文章统一回复为正常大小也就是3号字,不然我不是得一篇一篇修改以前的文章。 现在的字体仍然有问题,主要是行间距设置了固定值了,因此,小于等于3号字体的文字不会重叠,大于3号文字开始重叠了。应该把行间距设置为单倍行间距或者让作者自己选择行间距(技术上可能会增加难度) 顺便提一下验证码的问题,验证码经常要验证2次,第一次明明对了,可是却提示验证码错误,结果返回以后,原来写的评论就没有了,比较郁闷。第二次验证好像就可以了,这个验证码应该有问题。 补充:
1、验证码出错是因为我同时开了两篇文章的话,后面的那篇文章的验证码会覆盖了前面那篇文章的验证码。 2.文章的日期好像乱了,以至“ 30天热门文章”好像也没有更新了。   下面尝试各种字体的效果。 1号:
是bug还是错觉:我的blog的文章的字体都变小了,有些还特别小。(http://blog.programfan.com/article.asp?id=11221)
看到这里的blog的日益进步,最近都没有提意见和建议了,其实这里的字体的设置就很有问题了,看来是我的错啊。 2号:
是bug还是错觉:我的blog的文章的字体都变小了,有些还特别小。(http://blog.programfan.com/article.asp?id=11221)

......

阅读全文(3878) | 评论:0 | 复制链接

知识资产投资——《程序员修炼之道》的建议 (2006-03-16 01:38:00)

摘要: 知识资产投资——《程序员修炼之道》的建议     《程序员修炼之道:从小工到专家》曾经获得第14届JOLT大奖,很多程序员可能都知道甚至看过。我还没看完,初步给我留下三个印象: 书上的例子还比较有趣,仔细品位又是觉得很有哲理,比如那个“石头汤和煮青蛙”的例子 虽然是一本谈理论性的,讲道理的书,但是给出了一些具体的方案可供实施,就比如下面的那个知识资产投资的建议 整本书的代码是使用Java语言的,让我又重拾了这个老本         两个作者同时还著有著名的《程序员修炼三部曲》,《程序员修炼三部曲》是一套由四本小册子组成的丛书,旨在帮助解决程序员在日常工作中遇到的一些具体问题和需要,覆盖了对于现代软件开发非常重要的基础性知识,贯穿了作者们在其名作《程序员修炼之道:从小工到专家》中所坚持的开发哲学。 第一部《版本控制之道——使用CVS》 第二部《单元测试之道C#版——使用NUnit》和《单元测试之道Java版——使用JUnit》 第三部《项目自动化之道——如何建构、部署、监控Java应用》 来自书中的建议 经营你的资产——指导方针 l       定期投资。就像金融投资一样,你必须定期为你的知识资产投资。即使投资量很小,习惯自身也和总量一样重要。在下一节中将列出一些示范目标。
l       多元化。你知道的不同的事情越多,你就越有价值。作为底线,你需要知道你目前所用的特定技术的各种特性。但不要就此止步。计算技术的面貌变化很快——今天的热门技术明天就可能变得近乎无用(或至少是不再抢手)。你掌握的技术越多,你就越能更好地进行调整,赶上变化。
l       管理风险。从高风险、可能有高回报,到低风险、低回报,技术存在于这样一条谱带上。把你所有的金钱都投入可能突然崩盘的高风险股票并不是一个好主意;你也不应太保守,错过可能的机会。不要把你所有的技术鸡蛋放在一个篮子里。
l    ......

阅读全文(3818) | 评论:0 | 复制链接

C++、Java与.NET——与同学讨论学习方向(2006-03-08 01:53:00)

摘要: C++、Java与 .NET——与同学讨论学习方向       其实现在已经很晚了,本来明天一般我都去听课的。今天发现有点感冒决定明天不去上课了(哈哈,不是逃课啦,我只是旁听而已)         前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。   注:括号内是我现在整理的时填加上的。部分错别字已改正。文章格式“盗用”自易勋的blog,表示感谢。          问:有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了 。
答:(太客气,其实我也不懂) 你可以先看看这篇文章,打不开再跟我说。http://blog.programfan.com/article.asp?id=5587 (我的意思是想让她自己先稍微了解一下到底现在各个方向学的东西以及以后要做的东西大概是什么,因为喜欢做什么样的事其实自己最清楚的)  about 20 hours later       问:你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:)
答: 一般的指的.net就是跟java相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#)       问:那做企业软件是不是最好用J2EE?
答:J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过java比较烦,学.net的话,微软把很多东西都封装好了,学起来可能容易一点 。        问:C++和.NET不一样吗? 答:完全不一样的。.net其实我也说不太清,.net可以把他理解为 跟J2EE相对的东西。c++主要做系统相关的开......

阅读全文(9776) | 评论:1 | 复制链接