`
文章列表
   这些天因为脚崴了在家休息,闲着没事就琢磨写个数据抓取的软件,这必然用到HttpClient这类连接远程资源的库,学到它时,抓取资源的时候,很可能要自动下载一些东西,这必须又要用到多线程的下载技术,于是就用它下了一个简单的,功能虽不全,但一般用用还可以。 原理 原理是模仿迅雷以前的方式,每个线程下载一部分文件内容,写入到一个单独的临时文件,当所有线程都完成下载时,再将这些临时文件,合并成一个。 代码 核心代码是Downloader这个类:package data.scrap; import com.xdg.util.*; import data. ...
     最近项目中要使用js来实现模态窗口显示图片,打开一个子页面,在网上倒是有很多开源的基于jquery的实现,如ColorBox, LightBox等等,试用了几个,在IE标准模式下倒是没有问题,不过如果在quirks(杂项)模式下,就惨不忍睹了,而我们的项目模板中定义的html头比较老,是下面这样的写法: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">       要想让IE工作在标准模式,就要这样声明了:   <!DOCTYPE html PUBLIC & ...
过去的大半年时间,几乎每天晚上都在学习,一般搞到至少11点半,看会儿电视剧12点睡觉,每天不学习的话,心里就觉得慌张,因为觉得自己技术很差,总怕停下来就落后,最近发现头发竟然比过去掉得多了,都说聪明的脑袋不长毛,可我这脑袋本来就笨,再没毛了那就完了。其实这样学了很长时间,发现自己并没有多大长进,spring,struts2,ibatis,spring security,hibernate,这些都学习过,但只是工作原因,对这些框架并不感兴趣,我喜欢编程,但这些东西只是每天当成任务来完成,自然学起来三天打鱼,两天晒网,总觉得在学,却总也没学完,学彻底,更要命的是,每天总有一种“赶”的心态,很少停下来 ...
这两天在找一个可以实现上传时显示进度的ajax库,看了很多10 best ajax uploader之类的文章,发现里面很多链接都点不进去,或者网站文档和demo做得很烂,我这人选开源软件用,一定会看他的文档做得怎么样,做得不全就懒得研究了,swfupload文档做得也不好,例子太少,没有讲解,不过本着矬子里面拔高个的原则只能将就着用它了。外国有个人实现了一个swfuload的jquery插件,主要是完善swfupload的事件机制的,可以点这里去看看,结合这个插件,做多文件上传加进度条是件很easy的事情。官网的例子偏偏没有后端是java的例子,我又google了一番,试用了一下commons ...
   我们知道,当jar放入classpath中时,可以通过getResourceAsStream来取到其包含的普通文件,比如a包下有个b.txt文件,调用类叫SomeClass,于是可以如下取到: someClass.getClass().getResourceAsStream("/a/b.txt");     但是有时候这个jar不是放在classpath中的,怎么取呢?这个方法不好用了,如果想用,只有把jar通过程序动态地加入classpath中,再用上面的方法做,这个方法我好像以前试过,貌似不好用,即使好用,还是有点麻烦.不如用下面的办法最简单,比如这 ...
    使用这个工具是因为我做一个工具想根据sql语句取得使用的列名,再根据列名生成vo的field,使用正则是不行的,只能用一个sql解析器来做,但看了几个开源的,如zql,JSqlParser,不是文档做得太烂,就是功能有限,zql对于oracle的函数无法识别,于是就试了一下商业版的General SQL Parser for Java,它也有针对.net版的。下载之日起可试用90天,它可解析出列、列的别名、表名,demo做得也不错,找个demo下来改改就可以达到自己的目的。如这样的sql: SELECT NVL(SUM(MISSIONNO), 0) DISTCNT, COUN ...
    最近用freemarker做一个代码生成工具,以减少工作量,因为我们项目中开发已经格式化了、固定化了,为什么还要完全自己写呢。fm用起来尽管有不方便的地方,但功能确实挺强大的,下面分享一下我在使用中遇到的问题。 1.先说说常用的函数吧 html : 将特殊html标记进行转换,如<转换成&lt;cap_first : 首字母大写lower_case : 转换成小写upper_case :转换成大写trim : 剪掉前后空白size :得到序列、数组的元素个数int :获得小数的整数部分substring (from,  toExclusive):取子串c ...
    官方论坛文档写得很烂,让人以为安装了插件后就万事大吉,实际上并不是这样,它只是个静态分析结果的分析插件,而分析结果的生成,却是它完成不了的,你仍然需要在你的ant或maven任务中,写一个任务去执行,生成这个分析结果,通常是一个xml文件,例如:     <!-- =================================================================== --> <!-- CheckStyle build --> <!-- =================================== ...
  如果你想修改或阅读tomcat5.5.x的源代码,你必须自己编译并导入到eclipse或其它ide中,前几天研究了一下,成功实现了这个需求,走过一些弯路,现在分享一下研究所得。官方网站上有个页面专门来讲如何干这件事,不过讲得相当笼统,因此没什么可操作性,实际上非常简单。    首先,到http://svn.apache.org/repos/asf/tomcat/tc5.5.x/tags/这里,支选择一个喜欢的5的版本,checkout出来。这里以5.5.30为例。checkout出来的工程有个build目录,下面有个build.xml,ant需要的文件,不过build之前,首先需要作下修改。 ...
   一种是默认的DocumentFactory,第二个是IndexedDocumentFactory,《Java And XML》一书中说,后者会把元素名装载到一个Map中,所以查找元素时性能比较好。但经过测试,并不是使用了它就会提高性能的,是在一定的条件下,才会产生作用。先把完整测试类贴出来,包含生成测试数据的方法。   package javaxml3; import org.dom4j.*; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWri ...
    我是idea的big fan,在twitter关注了idea的微博,看到提到过不少新功能,于是尝试了最新的110.291这个版本,包含了最新的功能,试用了一下,有三个很值得分享的功能.   1.类名的模糊匹配    当你写错类名,然后按下ctrl+空格的时候,你会惊喜地发现,仍然可以获得动态提示,如:输入hasmap,少打了个h,按下快捷键后,hashmap相应的包被自动import进来,同时类名也被自动修正为HashMap.多么贴心的功能,感动得热泪盈眶的.   2.设置库文件夹    过去每建一个module,你都需要引入很多jar,麻烦的是,你需要一个个地在库管理窗口中 ...
     在Rails3.1中,js不再限定到只能用Prototype,而且改变为Unobtrusive JavaScript这种风格,  Unobtrusive本意是不易察觉的,这里的意思就是不会在生成的js脚本中出现大段的代码了,而是通过一些内置的函数,动态地生成,隐式地生成,比如一个删除前的提示对话框:   <%= link_to "delete", user, :method => :delete, :confirm => "You sure?", :title => "Delete #{user.na ...
   近来在学习ror的时候,做的例子一运行,不是总要刷新几遍才能出来页面,就是运行着的时候,突然崩溃,弹出下面的对话框:       google了一下,发现不少人都遇到过这样的问题,不过都说在linux上没有这个问题,只有win上有,解决办法有的说是引用的css或图片不存在,我检查了一下,文件都是存在的,日志也没有任何关于找不到资源的错误。又看到一个哥们说,在development.rb上,加上日志级别的定义,作为临时的解决办法 config.log_level = :info #fatal,info都好用     试了一下,果然好用,为fatal级别的时候。一下就能打开页面 ...
平台:Ruby1.9.2+Rails3.1+MySQL5.1.59   最好不要用最新的5.5的MySQL.   http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html (需要翻*墙)   参照这个文章终于解决了.   database.yml   development: adapter: mysql2 database: rails pool: 5 timeout: 5000 username: root password: root ...
  代码块,我的理解就是匿名方法,有点像Java中的匿名类一样,似乎用更贴切的说法叫闭包,一个我至今未接触过的东西。学习到代码块和代码块对象(Proc)的时候,看着很晕,一个代码块对象可以用lambda和->同时定义,与对代码块的错误理解纠结在一起,晕了一晚上。今天早上又找了些资料看看,最终才弄懂。写这篇文章的时候,使用的Ruby是1.9.2     Block和Proc的区别就是Proc是Block Object,需要用call方法调用,而Block则不用。   1.  代码块的定义分为两种方式调用,一种是do end定义,适用于多行代码,一种是{}定义,适用于一行,两者没有优劣 ...
Global site tag (gtag.js) - Google Analytics