`
文章列表
最近关注了下html的性能问题,css、图片、JS都可以得到不少的优化,先从JS说起,JS比较优秀的压缩工具很多,yuicompressor、shrinksafe等,但是个人觉得目前最好的还是google的Closure Compiler,这个工具功能很强,Closure Compiler是一个编译器(Compiler),也就是说GC的压缩并不仅仅是去除注释和空白,还可以在保证代码正确性的情况下进一步地改写成更省空间的做法。即便是一个JS依赖于另一个JS文件,也可以单独压缩。当然更支持将多个文件压缩成一个文件,用法也很简单: 引用 java -jar compiler.jar --js hell ...

dojo打包压缩js

    博客分类:
  • dojo
最近发现dojo页面每次请求的时候都会加载好几十个js文件,也就是要建立几十个request请求,这个是无法接受的,所以准备花点时间来研究下。但在网上找了下没发现什么好的例子,看来得花点时间才可能有点结果吧,由于今天下午花了点时间但是没看出什么结果来,又害怕以后不能坚持下去,所以把知道都记录下,希望以后来进行完善。 dojo有个专门压缩JS的工具叫shrinksafe,本人目前使用的版本为: dojo-release-1.6.1-shrinksafe 对单个JS进行压缩可以这样: 引用 E:\myfile\dojo\shrinksafe>java -jar shrinksafe.jar - ...
最近在项目中遇见一个需要根据java类的字段排序的问题。为什么不直接在数据库里面进行排序呢?因为那是一张比较复杂的报表,显示的数据没什么规律,所以当时采用的是先查询出来然后再组装成一个java对象列表,现在领导居然要求根据列名排序!没办法,只得去试试。一般这种问题会有两种解决办法: 1.自己写个算法对列表的对象进行排序 2.实现对象的compareTo方法,然后用jdk自带的排序功能 个人比较倾向于第二种方法,但是起初想,要列的不同compareTo的实现也会不同,那么那个compareTo方法岂不是要动态生成?于是自己试着去看看cglib这个库,但这个库没什么文档,在网上的资料上看,主要也是用 ...

贴段java代码

最近在做一个项目时对有个地方一直有点迷惑,背景是这样: model类:Doctor,PriceStandard Doctor字段: List<PriceStandard> feeList; //扣费方式,1表示代扣,2表示不代扣 String recoupWay; ..... PriceStandard字段: //Y表示系统收费,N非系统收费 String isSystem; //费用 double priceAmount;    ..... 目的:判断当前doctor所收费用是否为0?(不代扣表示收费为0). 代扣费用条 ...

ruby的require加载

    博客分类:
  • ruby
ruby没有像java那种严格的包管理机制,因此引用起来就有些让人摸不着头脑,所以有人说ruby不适合用于多人协作的大项目,这是有一定道理的。 ruby加载其它的类,一般是通过require来加载的,如: require 'dbi' require "rexml/document" 但是上面加载的是标准类库里面的文件,当然也可以是已安装的gems文件,但是如果是自己在本地写的文件,就不能直接用require了,如有一个hello.rb文件要引用当前目录的print.rb文件内的类或方法,就不能用require,而应该这样: require_relative ...

windows上使用mysql2

    博客分类:
  • ruby
想在windows上做ruby应该的可能很底,ruby服务器在windows上运行速度非常慢而且配置相当麻烦,做桌面开发就更困难了,所以能使用ruby的地方基本停留在个人工具上,最近有些兴趣用ruby生成一些java开发代码,发现效果还不错,打包工具使用ocra,主要涉及到的连接数据库的问题, 在oracle中,使用的是dbi+oci8;在mysql中则要麻烦一点,因为那个mysql gem很久没更新了,且存在编码问题。所以得折腾下,使用mysql2,mysql2的安装可见下面文章: http://rubyer.me/blog/138 但这个mysql2一般是作为rails3的一部分,主要在ac ...

rexml 中增加CDATA

    博客分类:
  • ruby
最近想用ruby写个能生成ibatis sqlmap的xml文件,以前一直没注意,找了下才发现自带的包中就有,那就是rexml,在生成普通的文本内容时没什么问题,今天突然准备把有些sql语句放在 <![CDATA[ ]]>里面,结果就是不能成功。不管怎 ...
最近遇见了一个需要批量插入的操作,没办法只好又来看看了哟,话说好久都没认真研究过技术方面的东西了。由于spring3.0.5还没有集成mybatis3,所以只能使用mybatis官方自带的与spring3集成的jar包,叫mybatis-spring-1.0.0.jar。记得以前以前看过在spring+ibatis2时的批量插入代码,大概样式如下: @Override public void addArea(final List<Area> list){ this.getSqlMapClientTemplate().execute(new SqlMapClientCa ...
最近对swing又产生了兴趣,虽然以前也偶尔看过,但都停留在理论阶段,没实践过。 最近觉得重新再看看,试下能不能写个程序出来看看。首先找了一个开源的小程序看了下,因为基础的东西自己还记得些,看起来不是很困难。一直以来,自己对swing的layout都不满意,官方自带那几个,GridBagLayout控制粒度倒是还可以,但是用起来太复杂,其它的控制粒度都比较粗。最近在网上找了下,第三方的组件还是有些不错的,比如MigLayout与jgoodies FormLayout,这两个组件的思路是差不多的,个人感觉jgoodies实现稍微要好一点。下面就来讲讲关于jgoodies 的FormLayout。 ...
数据库一直是自己的弱项,以前基本上也没涉及到非常复杂的sql,即使有也不是俺做,所以对sql的认识一直很肤浅,在面试的时候也是最怕遇见数据库的问题。 最近常遇见一些相对麻烦一点的sql语句,决定做个记录,以后有机会再来完善。 1. select m.org_id,(select org_name from org where org_id=m.org_id),count(*) from htm_machine m group by m.org_id 上面这句sql的作用是查询htm_machine中,每个org对应的记录条数。这条语句与下面的语句等价: select o.org_ ...
通过jquery或者dwr或者document.getElementById()来获取fckeditor文本的内容都不是准确的值,因此不能验证长度,必须通过fck自己的方式来获取才可以。如: <script type="text/javascript" defer="defer"> var oFCKeditor = new FCKeditor('orgRemark');//传入参数为表单元素(由FCKeditor生成的input或textarea)的name oFCKeditor.BasePath='/op/fckeditor/';// ...
一直以来对于URL与URI都不太明白,这几天项目中正好用到这两个东西,因此就在网上查了下,为了避免以后继续去查,就把目前用的写下来: JDK文档引用: 引用 URI 是统一资源标识符,而 URL 是统一资源定位符。因此,笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。上面的 mailto、news 和 isbn URI 都是 URN 的示例。如: mailto:java-net@java.sun.com news:comp.lang.java urn:isbn:09613 ...
很多时候在添加记录的时候都会存在数据是否唯一的情况,如果挨个的用dwr验证会非常的麻烦,工作量也很大。以前一直没发现什么好方法应对这种方式,今天才发现原来可以通过spring抛出的异常来解决这个问题。代码如下: response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out = null; try { out = response.getWriter(); } cat ...
hessian是一种基于二进制协议传输的分布式组件。因为基于二进制协议而不是像webservice那样,基于xml,所以传输效率会高一些。 虽然不太明白其中的原理,但用java开发的hessian在.net下也是可以调用的, 即可以说实现跨平台。这方面的例子在网上也很少,所以决定花些时间整理一下,本人对hessian的了解也很有限。 hessian有许多版本,大的版本有两个,spring2.x支持hessian3,spring3.x支持hessian4。本例子将采用ibatis2+springmvc3+spring3+hessian4开发。下面列出使用了hessian需要注意的地方。 1.实体类 ...
项目开始写静态页面了,该管理系统使用iframe框架。在写静态页面过程中遇到了FF的history.back()和history.go() 不能返回上页的问题,但是在IE中可以使用,为了解决此问题,开始查找资料,刚开始思路还是局限于使用history.back或者go的方法上,在使用了好多方法下还是没能完成功能,从FB中跟踪 document.getElementById['iframename'].history.back()没能得到信息。 为了达到返回上页目的,现在使用referurl来实现: document对象的referrer属性,返回导航到当前网页的超链接所在网页的URL。 ...
Global site tag (gtag.js) - Google Analytics