`
TonyLian
  • 浏览: 401468 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
假设你已经读过烂代码系列的前两篇:了解了什么是烂代码,什么是好代码,但是还是不可避免的接触到了烂代码(就像之前说的,几乎没有程序员可以完全避免写出烂代码!)接下来的问题便是:如何应对这些身边的烂代码。 ...
国庆假期,宅呀~ 无意中看到一篇java压缩算法的文章,就顺便度娘了一些相关文章来看。 本来想深入研究一下算法,但是,毕竟是假期,哪有那份心思啊,就实际应用简单Memo一下吧。   1. 中文乱码问题     其实这是无意中看到的,度娘一下漫天都是,看来各位程序猿还是以务实的应用为多啊。 度娘里,99%的帖子都是说用 Ant中的 org.apache.tools.zip.*  来代替 java.util.zip.* 这种办法来解决中文乱码问题。究其原因是,jdk中写死了UTF-8编码,而操作系统的文件编码如果不是UTF-8,如中文Windows下的GBK,则压缩、解压出的文件名就 ...
1.摘要 这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。 在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这 ...
1.摘要 最近写了不少代码,review了不少代码,也做了不少重构,总之是对着烂代码工作了几周。为了抒发一下这几周里好几次到达崩溃边缘的情绪,我决定写一篇文章谈一谈烂代码的那些事。 这里是上篇,谈一谈烂代码产生 ...
面向企业应用的平台框架应该是什么样子的?或者说都应该具有哪些特性(现在流行说features,而不说functions)?我也看了一些书籍,比如《企业应用架构模式》,不过它太老了,翻译成中文版时已经是2004年了。不过对于“古老”的“企业应用”或许十年也不算太老,呵呵。 十年前,提到“企业应用”那一定是高大上的(当然那时候还木有高大上这个词),但是到了如今(2015年)我总觉得“企业应用”这个词似乎从一个“褒义词”变成了一个“贬义词”。。。也许是我的错觉,但愿吧。 如今的高大上,当然是互联网、电商、大数据。。。其实,我们叫喊了这么多年来,也从事了这么多年的企业应用开发,真正意义上的大型企业应 ...
MoreLikeThis是Lucene的一个相似搜索组件。 用它可以很简单的实现“相似推荐”栏功能,如 用户浏览一本书,下方(或右侧)推荐用户 书名、作者或关键字 相似的其他书籍。 事例代码如下: 首先,列出所有书籍,然后逐一打印每一本书的“相似图书”列表 public class MoreLikeThis { public static void main(String[] args) throws Throwable { String indexDir = System.getProperty("index.dir"); FSDirectory ...
奇怪,也算玩了2年Ext,怎么还没有一篇关于Ext的博文?这一篇算是第一篇了。 要给Extjs的GridPanel增加“合计”行,有这个想法的童鞋想必不在少数。 我首先看了官网的例子,没有“合计”。 再Google,找到一个看似写的比较好的 http://www.cnblogs.com/over140/archive/2009/05/06/1449892.html 期间主要部分也是借鉴官方论坛上的东西,效果也很漂亮。 然后又看到一篇,提到了3个方法,并做了比较(http://www.cnblogs.com/over140/archive/2010/06/28/1766608.html) ...
问题:看了很多关于Spring AOP的文章,在讲各种切入方式(before、around、after-returnning、thrown等)时,被切入的业务主体Bean的方法,基本都是无参数的。 也有提到有参数的,但都是一个String型的参数。 以before为例,无参数方法的切点配置为 <aop:before method="before" pointcut="execution(* cn.xxxx..*.*(..))"/> 如果方法有一个String型的参数param,则配置为 <aop:before me ...
太久没来这里了,这两天又在之前批量调整照片日期的那段代码的基础上整了两个程序,拿来分享一下。 上周我买了个牛排,对就是the new iPad。哈哈,从此我可以在这上面得瑟我的照片啦~~ 啦呀啦,想一想这是一件多么美妙的 ...
老爸老妈去欧洲画了一个圈,带回来一千多张照片(数量没法和年轻人比)。 虽然老爸晓得调节相机中的时间,但是毕竟年岁不饶人,整差了12个小时。 也就是下午4点拍的照片,Exif里显示是凌晨4点。 好在欧洲大陆都用相同的时区(偶没去过,不晓得,只是老爸说导游都是这样执行的),每张都 +12H 即可。 基本各种照片查看工具都有批量修改功能,但无奈咱需要“时间+12H”确谁也没有。 咋办?自己写段代码吧。 由于用途单一,且是一锤子买卖,就没有“修饰”各种选项、配置,有需要的童鞋可以进一步完善。 (代码是在以前写的一个查看Exif小程序的基础上写的,提供整个工程下载) ...
想首先问大家一个问题:你觉得中国人聪明还是美国人聪明? 我见过最好的回答是美籍华人。 我们说美国人很愚蠢,为什么呢? 你们都考过T或G吧,他们经常会出这么一道题1/3+1/2=? 50%的人回答是2/5,这可是美国研究生入学考试的试题呀! 通常在这个问题之前还有一个1/2+1/2=?为什么? 他们怕太难了,先给个容易的热身一下。 我在美国的时候见过很多的PHD,对于美国人来说if...else...是逻辑,而if...if...else...就成了哲学,也是美国这么多哲学博士的原因:) 我们说美国人很愚蠢,那我们为什么还要学习他们呢?这个问题稍候我们会回答。 再问一个问题:如果 ...
问:面向对象的设计、开发 与 实际工作中的规范化、流程化、定型化 架构之间的矛盾,如何处理?如何使OOA、OOD实战化,特别是在水平各异的整个团队中普遍展开 答:规范化、流程化、定型化与面向对象的设计、开发没有绝 ...
在以Spring为核心的Web应用中,使用Ext作为Web前台,通过Struts2作为数据交换的“跳板”。   原本Struts2自身具备的ModelDriven接口,在使用Ext前台后变得已经没有什么大用了。   由于有struts2-json-plugin的支持,可以很方便的获取前 ...
   <aop:config>          <aop:pointcut id="allMethod" expression="execution(* *..BookManager.save(..))"/>  </aop:config>execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)其中带问号的modifiers-pattern?(publ ...
通过Spring的配置,添加多个数据源,制作多个qlMapClient,iBatis或Hibernate的各个DAO, 按其所需使用不同的qlMapClient,即可连接到多个DB。   用途吗,同时使用Oracle、SQLServer、DB2、MySql,这样的可能似乎不大。 但是对于要从其他系 ...
Global site tag (gtag.js) - Google Analytics