解惑

解己之惑,解人之惑

日:2006年12月17日

单行道是单城的王道设计

今天玩了一个中型的城市,主要是为了试试单行道对交通的支撑能力,结果证明单行道设计完全可以支撑一个中型城市。当然,由于城市密布公交车站(三格以内就有一个),大部分的市民都是步行和公交车的,城市人口二十七万左右,坐公交车的有十二万,自己开车的仅有一万五不到(没有选择法令里面的鼓励公交和共乘)。而交通情况是只有一些公交车站有拥堵,几个十字路口有轻量拥堵,平均通勤时间在55左右。为了城市的发展,在中间使用的是贯穿南北的一条大道,有临城出口但是没有实际的临城。城市的各项指标都比较健康,资金大量冗余。
另外需要说明的是城市开始建设的时候我大量贷款,在前三年里面先后贷款12万,但是迅速扭亏为盈。发展到100年的时候资金为一千五百多万,每个月盈余一万多(这个还是我将居住税全部挑战为8,商业全部为7的情况,另外选择了很多控制空气污染的法令,大约每个月需要支出4千多的情况下)。
最后就是由于几乎全部的人都坐公交车,公交系统的收入都有一万五以上。

下面是一些主要数据的截图:
阅读全文

正式启动造大轮子计划

前几天说过想造一个大轮子,今天有点时间就开始写了一点代码。和上次不同的是,原来打算使用的OGNL打算放弃了,决定尽可能的使用JDK带的API和自己写的代码完成,尽可能少的使用第三方的代码,这样更好把握一些。进度可能会非常的慢,因为我会写完整的单元测试代码,并且因为公司加班的原因也没有多少时间投入这个,不过反正是我自己用,也不急。
今天的工作成果就是OGNL的简化版本:BeanAccessExpress。
语法比较简单,就是xxx.yyy[index].zzz[key]
只支持对象属性、数组、List和Map,长度不限。数组和List使用[index]访问,Map的元素使用[key]访问,key必须是字母开头的单词。
代码如下:
阅读全文

招行滞纳金和利息

今天看到 了这个月的账单,其中有一笔十元的滞纳金,有一笔6.05元的利息,打800电话咨询了一下,滞纳金是指账单到期日没有能够徼扣最低还款额计算的利息,每笔至少10元,而利息是账单到期日没有全额还款,将从消费日起每天收取万分之五的利息。
感觉这个有重复收费的嫌疑,但是可能原来的条款里面本来就有这样的内容,也没有办法。
看来以后还是不能多用信用卡,还是刷普通卡好了,像我这样的懒人是不适合用信用卡这样麻烦的东西的,如果在一卡通里面存一笔钱的话,那和直接刷卡似乎也没有多大区别,不同的就是晚一个月才真正扣款而已,多记了一个月的活期利息,但是那点利息完全可以忽略不计。

PS:今天交了房租,4800大洋,卡里面没有几个钱了,还有半个月怎么过啊?另外同住的小胖搬走了,要一个人付全部的房钱了,还有宽带费。

Java工程师推荐书目

简单的推荐几本我认为Java工程师应该看的书。
程序设计实践
这个不是Java的书,应该是所有的软件工程师都应该看的,可以培养良好的编程习惯。
Think In Java
不多说,学习Java必看的。
SL275
这个是SCJP认证的教材,对于学习Java的一些细节性的语法点或者特性非常的有帮助,现在很多的Java面试题似乎也喜欢出这些相关的问题。
Java高效编程指南
这个是SUN出的书,比较全面的介绍了Java基础编程应该注意的一些问题。
Java技术精髓
这个也是SUN出的书,比高效编程指南更全面的介绍了Java编程应该注意的一些问题,包括EJB方面的内容。
Java Pitfalls
介绍了很多Java编程容易遇到的陷阱以及解决方法。
设计模式
就是GOF的那本,比较难懂,但是还是必看的,结合一些Java的实际例子看比较好,或者看完以后看看老版本的Jive的源代码(2.0及以前)
重构
代码应该经常的重构以不断的提升程序的结构,让代码更好维护、更可读、更灵活、扩展性更好。特别是要和设计模式结合。

如何解决问题

对于新手而言,最大的问题可能就是遇到问题完全没有头绪,特别是程序出错的时候,简单的说一下我解决问题的方式。

  1. 首先就是看错误信息,发生错误,一般都会有一些错误信息,在控制台或者日志里面,要仔细的看那些错误信息,有时候错误信息的提示已经指出了问题的所在,如果是一堆的调用堆栈,最重要的就是最开始的错误信息和caused by的那个错误信息。通过这个方式我们至少可以解决20%的问题。
  2. 如果是自己写的或者公司其他同事的代码出错,那么就要从错误堆栈信息里面找自己公司代码的那些行了,并且重新浏览一遍那些代码,思考可能的出错原因并进行调试。一定要知道如何使用IDE进行调试。
  3. 如果不是公司的代码出错,而是使用的服务器或者第三方组件出错,那么就直接把出错信息贴到google里面搜索下其他人出现的相同问题,并找到可能和你一样的问题。
  4. 如果是第三方的代码出的问题,并且是比较简单的开源组件,看看相关的源代码也是一个选择。
  5. 如果还不能搞定,那么找公司的其他同事帮忙,特别是你认为对所出现的问题比较熟悉的人。当然,你应该首先判断是哪方面的问题。
  6. 最后就是上论坛提问题,期望有人遇到过相同问题,或者是高手帮你分析问题并提示你如何确定问题。
  7. 最后一招就是修改实现方式,绕过问题,有些是服务器、OS的限制,使用其他的方法搞定吧。

© 2025 解惑

本主题由Anders Noren提供向上 ↑