- 博客(1)
- 资源 (16)
- 收藏
- 关注
原创 6.1儿童节面试手记
每次面试都能发现新领域,这次是SQL注入和Linux命令。Linux命令是我的死穴,平时几乎都不太碰的东东,⊙﹏⊙b汗SQL注入:http://baike.baidu.com/view/3896.htmLinux命令这个网上有的是,就不贴了
2011-06-01 18:36:00 937 2
OutdoVote通用自动投票软件
1、全自动投票,无需人工干预;
2、投票速度快,如果没有IP限制,一般情况下1~2秒一票;
3、不限使用电脑数量,也可在一台电脑上运行多个投票软件(通用投票软件一台电脑只能运行一个);
4、软件运行时,可最小化到系统托盘,不影响其他工作;
5、使用简单,只需按开始投票按钮即可进行自动投票(通用投票软件需要设置);
6、绿色小软件,无需安装,打开即可使用(WindowsXP及以前操作系统需要安装.NET Framework 2.0,VISTA不用)。
2011-06-04
一个简单的java爬虫产品
最近一直在研究爬虫和Lucene,虽然开始决定选用Heritrix来执行爬虫操作,但是后来发现用它来做还是存在一定的问题,比如需要程序生成相应的XML文件,对于同一个Job,怎样才能保证重复运行该Job时文件夹始终是同一个(Heritrix为Job创建文件夹的规则是“Job名称-时间戳”)等等,都是需要考虑的问题,最终还是将其搁浅。
后来google了一下,找到了一个简单爬虫的程序代码(http://www.blogjava.net/Jack2007/archive/2008/03/24/188138.html),随即试验了一下,发现确实能得到网页的内容,在这里还是要谢谢代码的提供者——Jack.Wang。
虽然试验成功,但是在随后的大数据量试验时,还是出现了问题。最初试验时,我只是让程序去抓取10个URL链接,当我将URL链接数改为100个时,问题出现了——URL中存在重复,而且非常容易的就变成死循环。举个例子来说,比如我首先爬的是A.html,在A.html中有两个链接:B.html,C.html,等爬完A.html以后,程序会爬B.html,这时如果B.html中的所有链接中有A.html这个页面的链接,那么程序又会去爬A.html这个页面,如此一来就形成了一个死循环,永远也不能停止。
跟踪程序发现,原来是在添加要抓取的网页的链接列表中,没有将已经抓取过的URL去除,所以才造成了死循环。现在虽然加上了这个判断,但是从我运行程序的效果来看,也不是很理想,总是感觉有些慢,800个页面要一两分钟才能爬完,这个我觉得有点说不过去。
这个产品,做到现在,我遇到了这么几个情况,有和大家分享的,也有向大家请教,求助的。
1.关于对应关系数据的保存方式
在创建索引的时候,需要将网页的URL和网页的内容传到相应的方法中,当然URL和内容是要对应的,也许是经验太少吧,我采取的是通过构建一个JavaBean的方式来传递的,不知道大家有没有更好的方法
2.关于要创建索引的内容的保存方式
最初的想法是不创建文件,直接将内容保存到变量中,然后创建索引,即先抓取网页的内容,然后将网页的内容和URL保存到自己构建的JavaBean对象中,接着将这个对象放到一个list列表中,等所有网页抓取完毕以后,将这个列表传到创建索引的方法中。这种做法看似不错,可是当URL数量很大时,会导致内存不够用,所以还是创建文件比较稳妥。
3.关于网页编码问题
遇到这个问题也是一个巧合,本来我抓取的是客户的一个网站,后来同事说如果客户看访问日志,这个月的数据会和平常的数据不一样,所以我就抓取公司的网站,结果,问题出现了。原先公司的网站是用GB2312编码做的页面,现在采用的是UTF-8的编码,虽然我已经判断了页面的编码,可是依然不能解决保存的文件中文乱码的问题,不知道大家有什么好办法没有。错误信息为:java.io.UnsupportedEncodingException
附件为爬虫代码
本文出自 “徘徊在c#,java,php之间” 博客,请务必保留此出处http://jerrysun.blog.51cto.com/745955/221879
2010-06-28
JAVA实现小日历最后版本
使用方法:
将整个文件解压缩,进入Calendar文件中,双击Calendar.jar运行
,或者在DOS下输入:
java -jar Calendar.jar 即可
2010-04-29
通用权限管理概要设计说明书(word文档)
1. 引言
1.1 编写目的
1.2 背景
1.3 术语
1.4 预期读者与阅读建议
1.5 参考资料
2. 总体设计
2.1 设计目标
2.2 运行环境
2.3 网络结构
2.4 总体设计思路和处理流程
2.5 模块结构设计
2.6 尚未解决的问题
3. 接口设计(暂略)
3.1 用户接口(暂略)
3.2 外部接口(暂略)
3.3 内部接口(暂略)
4. 界面总体设计
4.1 组权限管理
4.1.1 包含用户
4.1.2 所属角色
4.1.3 组权限
4.1.4 总权限
4.1.5 组管理
4.2 角色权限管理
4.2.1 包含用户
4.2.2 包含组
4.2.3 角色权限
4.2.4 管理角色
4.3 用户权限管理
4.3.1 所属角色
4.3.2 所属组
4.3.3 用户权限
4.3.4 总权限
4.3.5 用户管理
4.3.6 组织管理
4.4 操作日志管理
4.4.1 查询操作日志
4.4.2 删除操作日志
5. 数据结构设计
5.1 设计原则
5.1.1 命名的规范
5.1.2 数据的一致性和完整性
5.2 数据库环境说明
5.3 数据库命名规则
5.4 逻辑结构
5.5 物理存储
5.6 数据备份和恢复
6. 系统出错处理设计
6.1 出错信息
6.2 补救措施
7. 系统安全设计
7.1 数据传输安全性设计
7.2 应用系统安全性设计
7.3 数据存储安全性设计
2010-02-26
Quartz中文入门教程
Quartz中文入门教程
前言
Quartz让任务调度简单
Quartz的发展史
上手Quartz
Quartz内部架构
作业
作业管理和存储
有效作业存储
作业和触发器
调度一个作业
用调度器(Scheduler)调用你的作业
编程调度同声明性调度
有状态和无状态作业
Quartz框架的其他特征
Quartz下一步计划
了解更多Quartz特征
2010-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人