一到周末就下雨,不过不下雨,我还是挺喜欢宅的,一起宅更过瘾。
伴着雨声看书真是一种享受,不过当看到这两个准则时,一下子短路了。
优化的第一准则:不要优化。
优化的第二准则(仅限于专家):还是不要优化。 —— Michael A. Jackson
脑子在掐架了。最通常的想法都是要程序跑得快是需要优化一下。不过有些真实经历告诉我,只有很少经过严格试验的优化手段是有效的,其它很多都是自作聪明。书中接下去这句很有感觉: 继续阅读“不要优化”
Code + Design ^ Life
一到周末就下雨,不过不下雨,我还是挺喜欢宅的,一起宅更过瘾。
伴着雨声看书真是一种享受,不过当看到这两个准则时,一下子短路了。
优化的第一准则:不要优化。
优化的第二准则(仅限于专家):还是不要优化。 —— Michael A. Jackson
脑子在掐架了。最通常的想法都是要程序跑得快是需要优化一下。不过有些真实经历告诉我,只有很少经过严格试验的优化手段是有效的,其它很多都是自作聪明。书中接下去这句很有感觉: 继续阅读“不要优化”
看到这期节目财经郎眼-20100510.聚焦产能过剩,觉得讲得挺好,他主要的建议是相当赞:要藏富于民。
我不是想探究这个经济话题,只是这个现象所折射出的问题,让我想起一些很切身的问题,套用一下名词就是软件生产中的产能过剩。虽然我参与的项目数量并不算多,但烂项目真是一个接一个,而烂得很相似的一点就是这种产能过剩,或者说是浪费(过去我是用过度设计来做概括,始终觉得不够妥当)。 继续阅读“产能过剩的启发”
金鸡湖湖滨无论白天还是晚上,都是游者甚众,不过走在李公堤上感觉怪怪的,不过即使是商业味道很重,这里的夜景是不改本色的。
继续阅读“No.14 夜游李公堤”
开发中经常用到 maven jetty:run,特别是它支持 多个 webapp 资源目录 的特性,在开发环境中相当有用。比如,src/main/webapp 是 prod 的资源,而有些开发或者测试时用到的资源可以安心的放在 src/test/webapp。可以 参考这里 详细了解怎么使用。
但是,迁移了环境之后,发现它总是报错:
[ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to configure plugin parameters for: org.mortbay.jetty:maven-jetty-plugin:6.1.22 (found static expression: 'src/main/webapp,src/test/webapp' which may act as a default value). Cause: Cannot assign configuration entry 'resources' to 'class [Lorg.mortbay.resource.Resource;' from 'src/main/webapp,src/test/webapp', which is of type class java.lang.String
但是奇怪就在于,在 eclipse 的 maven 插件里面报错,但在命令行执行却没有问题。基于懒人原则,只要有路可走,不深究这个问题。可是当我再一次迁移至 linux 环境下时,命令行报错了。无路可逃的我只好 向 google 求救。
经过一番扫描,发现有先行者了,评论将矛头指向 JAVA 的版本以及操作系统,还有提供了一个可以尝试的修改:
<baseResource implementation="org.mortbay.resource.ResourceCollection"> <resourcesAsCSV>src/main/webapp,src/test/webapp</resourcesAsCSV> </baseResource>
试之,可行。这是传说中的 maven overloading bug。文中还提到了和 contextPath 的设置有关,敬请留意。
我只知道脚本是从 script 翻译过来的。不过 为什么Script叫脚本 一文从中文含义的角度来讲述那段故事,还挺有趣。
我最纳闷的是 script 的翻译 分别有好几种:脚本,剧本,手稿,手迹,为什么不用和手有关的手稿,手迹(绝大多数人写 script 是用手的吧 :-),而采用脚本呢?
我读书少,不晓得如何去探索个中玄机。权当这个与 Java 语言定名一样的随意而至。不过,从中文角度去了解一下为何与脚有关,也颇具玩味。再对比一下现代对于脚的印象,我估计大多数人的第一反应是和“臭”联系在一起,而与“美”联系在一起的是腿。脚所代表的是一种移动和站立的功能,对于人来说这是一种基本设施,有了众多双脚良好的支持,才可以编写出优美的脚本。所以,我觉得人们去洗脚也可以是一种感恩,而不仅仅是为了洗去肮脏与疲劳。
这次主要是增强了 classpath 的概念。原先使用时不需要设置根类路径,根据文件中的 @class 声明来反向定义根类路径。相应地,入口调整为 buildHierarchy(String className)。外表看来变动很小,而且实现着一样的效果,但是里面整个寻址方式都变了。
代码本身没什么值得深究的。不过结构变了。几番修改,有些共通点:
上一年差不多这个时候写了一篇《势》。现在看那个时候,就是很压抑,很纠结,心里放不开,毕竟已经等了一段时间,但仍然心存希望,尝试去解答。不知道下一年再看这个会不会暗暗发笑,笑自己幼稚呢?估计会,因为现在看来已经很难理解,就那点破事,还用得着憋上几个月。
今年,心态就完全不一样,虽然还没达致无欲则刚的境界,不过至少学会了更多地观察,陈述事实本身,少加评论,不纠缠在一个地方。因为世界比我所见所想还要大得多,我能做的就是要放宽尺度,但又不是无限延伸。今时今日的我还存在着极限。
这一周几乎都在思考关于更加适合现在项目的体系结构。要做的东西和以往的应用其实是很大的不一样,在UI结构,交互性等等方面的细节要求都很不一样。灵活性扩展性更是考验着所有人。但是我不希望进入到这个体系的人依然受到所有这些方面的影响,可以专注于相对独立的特性或者功能。
继续阅读“新体系确立”