解惑

解己之惑,解人之惑

2007年4月 (第1页共4页)

盘古的服务不错

今天早上收到盘古的邮件,对于昨天晚上不能访问的事情做了解释,然后给我们的时间增加了两天作为补偿。
这件事情不是什么大事,但是首先他们的反应速度很快,在处理完以后,第二天早上马上就发邮件通知了,很多人可能还不知道自己租用的虚拟主机宕机了(不是每个人都像我这样没事做,总是看看自己的BLOG的),而且也进行了相应的补偿。
这个让我记起了以前的一件小事,就是我们刚开始租用的时候,足迹的blog经常看到空白页面,而我的情况要好很多,后来我就到盘古的论坛提了一下,足迹说自从我提了以后情况好多了,呵呵。

软件开发过程思考之一:人

人,是软件开发过程中最重要的部分,因为软件是一个智力密集型的产业,在基于差别不大的硬件设施上,我们要作出满足不同需求的系统,而目前的计算机系统还不够智能,不能创造出新的系统来满足我们的需求。
在软件开发的整个过程中,只有很少的一些关键环节可能不太需要人的主动干预(例如Daily Build),其它的部分,都是需要发挥人的能力来完成的。
这群人,就是程序员或者软件工程师,在局外人的眼中,这群人是拿着高薪做一些轻松的工作,但是真实的情况只有这个圈子内的人才真正知道。
软件系统的成功与否依赖很多因素,但是没有一个因素不是和人相关的,所有软件系统的成功与否,完全是由涉及其中的人来决定的。也正因为如此,一个软件系统的成功与否是很难预见的,人太不稳定了,可预见性太差了,而且,作为一个特定的群体,程序员是比较难于管理的,因为很多程序员是聪明的、喜欢无拘无束、内向的、敏感的。
也正式因为人是最大的因素,而每个人都是有差异的,每个人的人生观不同,工作态度不同,学习能力不同,沟通能力不同,要想将项目中的每个人的最大能力发挥出来几乎是不可能的任务,单纯的依靠物质奖励在一段时间内是有效的,但是经过一段时间以后,物质奖励并不能继续发挥太大的作用,特别是对于能力特别突出的人而言,或者对于特别有野心的人而言,因为很多这样的人可能都想自己创业,不想继续被盘剥,想证明自己是不一样的。

人,这个因素太复杂了,并没有想得很充分,随时再更新吧。

有人盯上JR的域名了?

昨天说JR的域名过期了,但是Bruce已经续费了,whois的信息已经修改了,上午的时候JR看到正常了,不过下午开完会再打开的时候发现IP又恢复成昨天的那个IP了,而且网站已经搭起来了,不管这个冒名的英文网站能够存在多久,还是抓个图纪念下:

PS:希望不会有域名争议问题

域名过期

今天发现不能上JR了,但是SSH连接正常,Bruce看了下,进程什么的也都正常,重启了好几次也没有用,我就随便PING了下发现IP不对,开始以为是被黑了,后来Bruce说不会是域名过期了吧?Whois了下,发现果然是过期了,而且就在昨天,但是域名注册商已经续费了,到2008年,Bruce说可以弄回来。
好像主机租用也过期了,不知道什么时候停掉。

Java序列化确实很慢啊

我们的系统还使用古老的Ant1.5作为构建工具,而且做了一些定制(可能修改了部分源代码),我们就不能随便升级到高版本,而Ant1.5的那个Junit的task比较旧,运行每个TestCase的时候都是重新开一个新的VM,而我们的单元测试框架要读取很多EJB配置文件完成初始化,如果每个TestCase都去解析那些文件就太慢了,每个TestCase至少需要10秒,所以没有办法,我就把所有的Case都手工加到一个TestSuite,然后运行那个Suite,这样就不会重复解析那些文件了。但是手工把那些Case加到Suite里面也是很痛苦的事情,就想到把那些解析的结果缓存下来,最先想到的当然是序列化了,结果让我大跌眼镜,序列化的三个文件一共1.33M,而原来需要解析的XML文件有4.5M,有十几个文件,相互之间还有关联,结果解析那些XML文件只需要不到6秒钟,而反序列化需要7秒多!

大学学什么?

很多人大学毕业以后都感觉自己什么都没有学到,而且事实也确实如此,大学的大规模扩展导致大学生的素质良莠不齐,而且一些比较差的学生也影响了另外一些其实愿意学习的人。但是这个不是今天的主题,今天的主题其实是大学期间到底应该学些什么。
先说出答案吧:大学期间学习的应该是学习方法,要培养自己学习新知识,解决未知问题的能力
这个其实是我高中的一位老师说的,而我也在大学期间坚定的实践了,从目前我的感觉看是非常的正确的。
大学期间的很多基础课程是很重要的,一些是拓展知识面的,一些是专业课的基础,而专业课,很多实际上只讲了理论,但是很多人并不能实际使用或者不知道和实际生活有什么关系,以软件开发为例,很多语言课只讲了语法,但是如何应用这个语言去解决问题去写程序并不强调,如果你对于那些上机课不认真,那么那些语法可以说是毫无用处的。另外,对于计算机专业,很多人可能觉得物理和化学根本就没有任何作用,在生活中的用处也不大,我的感觉是拓展知识面,不能真的只知道你专业的东西,这样对于学习新知识可能会不利,特别是你以前完全没有接触过的,而且对于做一些跨专业的事情就可能感觉完全无能为力了。
至于如何学习学习方法,很简单,尽量尝试自学所有课程,或者课前预习,看看自己的理解和老师的讲授是否一致,另外就是所有的实践和试验一定要认真对待,不要抄袭别人的成果,只有亲自做过,你才能知道可能出哪些问题,不断的积累经验。

PS:这次装修,原来以为完全没有用的物理、化学以及数学(不是简单的乘法运算,而是剪裁方法)也发挥了一些作用,在购买材料和计算用量的时候,有些东西可以从物理化学原理上给出一些猜测或者分析

装修其实也没有那么难

从最开始怕累把装修完全委托给一个“熟人”吃了亏,到后来小心翼翼的和同事推荐的一个公司签了半包合同(装修的人只买3000块钱的东西,水泥黄沙砖之类的),然后每个周末去买东西,到现在感觉其实也不是很难,主要是自己要做足功课,当然也不是全部都要搞清楚,一些小的东西就完全没有必要细究了,让装修公司帮你买好了,总不能让别人一点水也没有喝吧。装修到现在,我们就是跑了四天,第一次是到九百买了很多东西,本来想着涉及环保问题的东西在哪儿买的,主要是木板和油漆之类的,结果我和老婆看九百的价格和装修公司给的报价单上的没有太多差距(有些还便宜一些),就一股脑全在九百买了,这样也放心一些,售后保障也好一些。事情进展到现在,有一些经验分享一下:

  1. 装修公司给的报价一般是超市里面的报价,所以如果预算的总价对你而言没有太大压力,不妨就到那些大的建材超市买,质量和售后方面不用担心。
  2. 装修一般还是半包比较好,大件的东西一定要自己把好关,量多、涉及环保的也要自己把关,主要是木板、油漆、卫浴、厨具、PPR水管、磁砖、防盗门、地板、铝合金移门、铝合金窗、门、厨柜门、厨房台面等,而且还有一些五金件之类的东西在大超市也可以一次性买好,价格也不是很贵,这些东西买齐其实最多也就花5天时间,每个星期买一些下一个星期要的东西就可以了,小东西有时候顺带买了也可以。
  3. 如果是到外面的市场买(例如恒大、同福等个体经营的市场),那么先要上网研究下要注意些什么,主要考虑那些指标,然后货比多家,在问每一家的时候也问问别人怎么鉴别好坏,如果和你已知的情况相近的(考验对方是否诚实),另外价格也比较适中的就可以考虑出手了,不要贪便宜,大部分情况都是一分钱一分货。
  4. 对于和工人和工头的关系,不能感觉是你求着他们,但是也不能对他们太冷淡,对于工程的质量和要求,一定要严格,同时一些必要的小恩小惠也是必须的(例如给点烟、买些矿泉水等)。
  5. 如果时间稍稍充裕一点不妨多看看,特别是那些大的建材,有时候会有些特价商品,质量还不错(在这些大超市卖的东西一般不会太差,因为有质量问题是找超市而不是卖家的)
  6. 参加一些团购也不错,我开始就申请了一个团购卡,但是因为没有时间去看实际的东西,就没有在网上团购,而且网上团购的商家偏少,选择的空间较小,不过那个卡还是有点用(才5块钱的快递费),最起码可以了解一些产品的大致价格,这样到建材市场买东西的时候心里有底。

读《用人单位给计算机系学生的一封信》有感

大致的看了一下用人单位给计算机系学生的一封信,感觉很有道理,软件开发其实很简单,但是再简单的东西都需要有个基础,如果基础好,那么后面的学习提高将会事半功倍,反之事倍功半。我不敢说自己的开发能力有多高,但是到现在为止还没有遇到过完全无法解决的问题,我想,很大程度上得益于我大学时代的实践,大致列举一下我大学时代的实践:

  1. 独立完成Basic的所有课后练习(除了八皇后问题),上机调试运行通过(Basic是计算机基础课程的后半部,后来老师实际没有讲,因为我们有C语言)
  2. 完成C语言的大部分课后练习并调试通过
  3. 完成汇编语言的大部分课后练习
  4. 单片机实习的时候全部是自己写的,包括通过COM口做温度采集系统,通过COM口实现双机通讯,完成文件传输,可以处理200M以上文件(汇编和C都写了一遍,C是因为其它同学已经不能使用我的汇编成果了,又帮他们写了个C的)
  5. 大学生电子设计大赛,用汇编写了4000行代码,完成数字万用表的软件部分,处理传感器的数据
  6. 毕业设计使用JDK1.1的AWT写了一个简单的金山词霸
  7. 毕业设计期间到一汽的一个研究中心用VB写GPS/GIS应用,也就是汽车的终端监控系统,使用别人的插件

使用工具修改代码时一定要谨慎

今天早上来更新了下代码,发现自己负责的和Crystal Report集成的代码突然不能工作了,刚好昨天升级了Crystal Report,而我们明天早上就要做演示的,天啊。
不过好在我是一个经验丰富的老鸟了,这点事情还不至于让我手忙脚乱,看了下控制台,没有异常信息,在关键代码的地方设置了断点,跟踪了下,发现原来工作的一个Query不能工作了,但是异常被截获并忽略了,把异常信息打出来,报的信息是查询无法识别,我没有修改过啊,而且这个查询是提交到Crystal Report Server的,那个Server并没有升级啊,再仔细一看,原来是我的查询被修改了,加了一个/*ARQXXXXX*/的注释,呵呵,原来罪魁祸首是美国那边的架构师,不知道他使用什么工具把我们系统全部代码的SQL前面全加了一个这个注释,但是我的这个查询虽然和SQL很像(也是Select … From … Where),但是实际是完全不同的东西啊,根本就不支持注释。

我同时记起了我自己前两个月犯的一个类似错误,我在造自己的大轮子,那个时候在写表现层的底层部分,生成HTML,在格式化的时候,我开始选择的是使用4个空格作为缩进,但是后来考虑到这样会导致生成的HTML太大,就使用tab替换,但是我写的单元测试已经是使用空格了,所以使用UltraEdit使用表达式进行全部替换,结果我的代码全部没有了(UltraEdit的那个功能没有Undo),因为我的代码也是使用四个空格作为缩进的,好在还能恢复很多,因为Eclipse是带本地历史记录功能的,可以恢复到上一次修改的状态,然后把最后的一次修改再做一下(浪费了一个小时的时间)。

更新:架构师的批量修改又有新问题,一些调用Oracle的存储过程的SQL也被加了那个,但是也不能加

Java磁砖

今天早上到新房子看了下,没有什么进度,但是看到了Java磁砖。
磁砖的中文名好像是乔意达,在旁边有个英文:Java,没有带相机,改天拍个照片贴上来。
上周六在九百买的时候没有注意,因为主要是老婆在挑,我们只看到超市的价格标签,没有看到包装盒,而那个英文名称是在包装盒上的。
也许这个只对我们做Java开发的人有点意思

更新:照片如下
Java磁砖
PS:我们买的时候这个磁砖挺便宜的,2.48元一块(原价是4.5元好像),300X450,在九百里面买的,而且九百搞活动,买1000减120,给我们装修的工头说质量不错,不过式样比较少,只有三种花色

更早的文章

© 2025 解惑

本主题由Anders Noren提供向上 ↑