- 博客(42)
- 收藏
- 关注
htmlunit和爬虫问题
最近写了个爬虫项目,暂时放在github上。https://github.com/shenbaise/goodcrawler 对于爬虫最难的问题应该是javascript和ajax的处理。现在很多网站使用大量ajax,普通爬虫无法获取js生成的内容。 目前大体上有2中方式来解决这个问题。一是使用htmlunit之类的所谓handless browser。htmlunit...
2013-12-05 19:48:29
582
OpenFlow控制器Floodlight相关介绍
#controller模块controller模块为多数应用实现了一些普通通途的功能1.发现网络状态和事件(拓扑结构,设备,流量)2.能够控制网络交换机(network switches)通信(例如,OpenFlow协议)3.管理floodlight模块,共享存储,线程,测试等资源4.提供一个web界面和debug服务器(Jython)一下是目前实现的controlle...
2013-07-02 17:43:17
1435
高并发框架disruptor简单测试
Java中并发无外乎多线程加锁等方式,平时用的比较多的就是util.concurrency下的一些工具。除此之外业界比较推崇的就是erlang、scala中较为流行的actor模型,该模型是著名的无锁模型,actor(可以简单认为是轻量线程)之间通过发送消息进行通信,由事件驱动,全程无锁。最近看论坛发现了另外一个并发模型-disruptor。它比较特殊,其核心是ringbuffer,闲来无...
2013-06-22 22:48:24
566
1
原创 android开发教程-电子书
两年前应朋友之邀写一本关于android开发方面的入门教程,当时欣然答应。我原本以为自己会一直从事移动互联网方面的工作,但后来随着工作地点和行业的变换,慢慢地我离android方面的工作越来越远,后来渐渐进入了大数据、信息检索、云计算行业,同时时间也越来越少以至于没有多余的精力完成后面的章节。从去年3月份后,“这本书”的写作就停止了(多少有点遗憾)。所以时隔一年,现在这本书不打算再继续...
2013-03-05 10:45:45
197
mina2 之 outofmemory
mina在接收数据时,接到的数据后使用protocoldecoderoutput将数据写入消息队列,用户在ioHandler的messageReceived方法中取数据并处理。当数据处理不过了时,消息队列就会被撑爆,最后oom。 使用mina时如果数据量较大,可以直接绕开内置的消息队列,不在ioHandler中处理收发数据操作,而直接在decoder和encoder中操作。...
2013-01-29 17:18:27
155
原创 简明 Vim 练级攻略 (转)
原链http://coolshell.cn/articles/5426.htmlvim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。—...
2013-01-29 14:07:15
125
原创 海量文档查同或聚类问题 -- Locality Sensitive Hash 算法(转)
原文链接:http://blog.csdn.net/fxjtoday/article/details/6200257考虑一下这个场景 , 使用网络爬虫高速爬取大量的网页内容 , 如果想把这些网页进行实时聚类 , 并从中提取每个网页聚类的主题 . 我们应该怎么样去做对于普通或常见的聚类算法 , 比如 K-means, 或 Hierarchical 聚类 , 无法适用于这个常见 , 对于这...
2013-01-24 15:42:49
186
flume使用总结
典型的flume配置: 多agent、source的配置类似 flume与syslog集成 修改syslog配置文件/etc/rsyslog.conf文件
2013-01-16 13:15:57
117
原创 探索 ConcurrentHashMap 高并发性的实现机制(转)
简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代码...
2012-12-12 12:39:34
144
原创 Java远程通讯可选技术及原理(转)
转自:http://www.blogjava.net/BlueDavy/archive/2008/03/04/182077.html在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了...
2012-11-27 14:45:12
132
原创 JVM优化典型配置
转载:http://hllvm.group.iteye.com/group/wiki/2865-JVM以下配置主要针对分代垃圾回收算法而言。 堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制...
2012-11-13 17:04:54
109
一个flume的问题,帮忙看一下
我写了一个flume的client,向flume发数据,发送小文件的时候没什么问题,发送大文件的时候报一下错误:(公司安全搞的太严,复制不了代码) ...
2012-10-11 10:58:17
188
原创 centos配置本地yum源
以ftp方式做yum源, 挂载上安装光盘,整个复制到ftp的根目录下,如果是http的yum源, 就弄到www目录(就是你放网页,部署项目的那个目录)下。 备份一下原来的源 # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 创建新的CentOS-B...
2012-08-01 13:59:04
121
Hbase the definitive guide - Advanced Usage章 阅读札记
hbase的高级用法 - 读书札记。 2.hbase表的两种设计: (tall-narrow and flat-wide)高而窄型设计、宽而平型设计。前者拥有较少的列和较多的行。后者行少而列多。考虑到keyrow查询粒度的问题,建议把cell中的值提取到key中,尤其是当cell中的值需要查询时。另外,hbase仅支持行边界分裂,因此前者能很好支持,而flat-wide的设计...
2012-06-19 18:08:16
108
nagois pnp集成安装
一句话,程序员必须是万能的! 贴一篇文章,记录一下使用nagios监控Hadoop集群的过程,以免忘了。 安装过程(所有下载的文件都放在/usr/local/download) #基础依赖 写道# yum install httpd gcc glibc glibc-commom gd gd-devel# yum install php php...
2012-05-29 15:40:15
140
Play framework 2.0 -第一个应用程序
所有章节的翻译到此结束,实现一个小应用作为结束! 按照play2.0官网的例子编写第一个play Application : todolist 步骤如下(详细的步骤及解释请查看原文): 先编写控制器如下: aplication.javapackage controllers;import play.*;import play....
2012-05-11 11:04:07
131
Play framework 2.0 -测试
#测试应用程序 测试资源文件必须放在应用的test目录下。你可以通过play控制台使用test和test-only来执行测试任务。 1.使用JUnit Play2.0默认使用JUnit进行测试。 package test; import org.junit.*; import play.mvc.*; import play.test.*...
2012-05-08 14:10:35
120
Play framework 2.0 -应用程序全局设置
#应用程序全局设置 1.全局对象 在工程中定义全局对象可以允许你操作你的应用程序的全局设置。这个全局对象必须定义在根包下。 import play.*; public class Global extends GlobalSettings { } 2.应用程序启动和关闭的拦截 你可以重写onStart和onStop操作,通知对...
2012-05-08 14:05:18
185
Play framework 2.0 -国际化
#外部消息和国际化 1.指定应用程序支持的语言 要知道应用程序支持的语言,你需要一个有效的语言代码,指定一个有效的ISO语言代码,可选项跟一个有效的ISO国家代码,例如,fr or en-US。在conf/application.con文件中指定你的应用程序支持的语言: application.langs=en,en-US,fr 2.消息外部化 ...
2012-05-08 14:02:18
144
Play framework 2.0 -集成AKKA
#与Akka集成 akka使用Actor模型,提高抽象层次,并提供一个更好的平台,建立正确的并发和可伸缩的应用程序。对于容错,它采用“让崩溃模式,该模型已在电信业的巨大成功,主要用于建立自我修复 - 系统永不停止的应用程序。Actor模型也为分布式传输和真正可扩展、可容错应用的基础提供了抽象。 1.应用程序Actor系统 akka2.0能够在若干个被称作Act...
2012-05-02 11:15:45
359
Play framework 2.0 -调用WEB服务
#Play的WS API 有时候你需要在Play应用中调用其他HTTP服务。Play通过它的play.libs.WS库提供了支持,它可以提供一种方式进行异步HTTP调用。play.libs.WS产生的调用应当返回Promise<Ws.Response>类型,同Play的异步机制,你可以稍后处理它。 1.生成HTTP调用 要产生一个HTTP请求,首先你要...
2012-04-27 23:18:10
98
Play framework 2.0 -使用缓存
#Play缓存API 在现代应用程序中缓存数据是典型的优化方式,所以Play提供了一个全局缓存。缓存有一点很重要,存储在缓存中的数据可能会丢失。对存储在缓存中的任意数据,生成策略需要落实到数据丢失的情况下。这个理念是Play的基础理念,不同与JAVA EE,JAVA EE中会话值要在它的整个生命周期保存。默认的缓存API实现使用EHCache。你也可以通过插件实现自己的缓...
2012-04-27 23:15:20
144
Play framework 2.0 -访问SQL数据库
#访问Sql数据库 1.配置JDBC连接池 play2.0提供了管理JDBC连接池的插件。你可以安装需要来配置许多数据库。要启用数据库插件,就要在conf/application.conf文件中配置一个连接池。根据约定默认的JDBC数据源,必须调用缺省: # Default database configuration db.default.driver=or...
2012-04-27 23:12:36
343
Play framework 2.0 -文件上传
#处理文件上传 1.在表单中用multipart/form-data上传文件。 在web应用中标准的文件上传方式是在表单中使用一个特殊的"multipart/form-data编码,它允许标准表单数据和文件附件混合使用:例如: @form(action = routes.Application.upload, 'enctype -> "multipart...
2012-04-24 15:26:17
111
Play framework 2.0 -XML
#XML请求的处理和服务 1.处理XML请求 xml请求是以有效的xml内容作为请求体的Http请求。它需要指定'text/xm"MIME类型的Content-Type头。默认情况下,一个Action使用any content的BodyParser进行解析。你能把内容体转为XML。 public static index sayHello() { D...
2012-04-24 15:02:13
121
Play framework 2.0 -Json处理
#JSON请求的处理和服务 1.处理Json请求 Json请求是使用有效Json数据作为Http请求的请求体的。它的Content-type头必须指定为"text/json"或者"application/json"MIME类型。默认的,一个动作使用any content 体解析器,你可以把请求(响应)体以Json格式取回来。 public static in...
2012-04-24 14:59:22
185
Play framework 2.0 -http表单提交和表单验证
#处理表单提交 1.定义一个表单 play.data包下包含一些帮助处理Http表单数据提交和校验的工具。最容易的处理表单提交的方式是定义一个play.data.Form来包装现有的类: public class User { public String email; public String password; } Form<...
2012-04-20 16:14:26
243
Play framework 2.0 -模板引擎
#模板引擎 1.基于Scala的类型安全的模板引擎 Play2.0的有个新的基于Scala的十分强大的模板引擎,它的设计灵感来自于ASP.NET的Razor。具体来说:a.紧凑、表现力、流畅:它最大限度的减少了一个文件中所需字符和按键的数量,使得可以快速流畅的编码。不像大多数模板语法,你不需要打断你的编码,在HTML中来显示的表明服务代码块。解析器能聪明的推断...
2012-04-20 16:05:25
255
Play framework 2.0 -异步http编程
#处理异步结果 1.为什么使用异步Results? 直到现在,我们只能计算直接发送到客户端的result。这种方式并非总是奏效,result或许要花费高昂的计算代价,或者很长的web服务调用。因为Play2.0工作时,action代码必须尽可能得快(例如非阻塞IO)。那么如果我们还没有计算完毕我们要返回什么结果呢?答案是响应一个结果的承诺(对承诺有结果)。 2...
2012-04-20 15:56:17
282
Play framework 2.0 -http编程
#Actions,contorllers,和Results的概念。 1.Action Action的概念很熟悉吧,Play应用中的大部分请求都有Action来处理。Action可以看作是一个处理请求数据并产生一个结果放回给客户端的简单Java方法。Action返回play.mvc.Result,代表Http响应发送到客户端,在例子中,ok()构建了一个200状态的相应,它...
2012-04-20 15:40:32
289
原创 Play framework 2.0 介绍
play famework 2.0 --该类别系列文章是对play2.0手册中正对java开发者部分的简略翻译(错误是在所难免的)。 play 2.0是一个高生产力的Java和Scala Web应用框架,集成了你需要的现代web应用开发的组件和API。 Play基于一个轻量的、无国籍的、web友好的架构。基于复用(迭代)IO的反映模型,使他成为一个功能可预测并且消耗最小资...
2012-04-20 15:27:27
207
原创 shiro的相关概念
补一篇shiro相关的概念 shiro是一个强大灵活的开源安全框架,可以干净利落的处理认证、授权、企业会话管理和加密。shiro的首要目标是简单和易于理解。安全有时候是非常复杂令人头疼的问题,shiro隐藏了复杂的细节,暴露了简介直观的API来简化开发者使他们的应用程序更安全的努力。 shiro可以做一下事情: 进行用户认证执行访问控制单点登录Re...
2012-03-28 14:36:24
135
原创 Spring3与安全框架apache shiro的整合
shiro是一个很不错的安全框架,相对Spring security 来说要简单易用的多,使用shiro来做web的权限子系统是不错的选择。 下面记录一下shiro和Spring整合的过程: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.o...
2012-03-27 16:16:06
118
原创 Memcache连接出错的问题
今天一早突然发现Memcache连接不到了,检查了一下Memcache的服务发现很正常。 写道# ps aux|grep memcachedroot 7409 0.0 0.0 130296 1088 ? Ssl 10:14 0:00 memcached -d -m 128 -u root -p 11211 -c 1024 -P /tmp/me...
2012-03-07 10:50:35
1446
原创 使用mina来开发socket程序
mina早于netty,出自同一人之手。个人感觉netty更棒但项目老大要求使用mina,所以就学习一下mina啦。学习的成果总结如下。 使用mina开发socket只需要IoAcceptor、IoHandlerAdapter、NioSocketConnector、ProtocolCodecFactory等几个类基本上就可以进行开发了。 首先一个Server(简单实例并非完整代码)...
2012-02-20 19:07:24
288
原创 Quartz与spring3集成遇到的问题
首先是一个简单的Java类: public class QuartzJob { private static Logger logger = LoggerFactory.getLogger(QuartzJob.class);// @Autowired MonitorDetailService monitorDetailService; @SuppressWa...
2012-02-20 18:26:16
114
原创 hadoop学习之通过cygwin配置ssh服务
快过年了,找了家新单位开始学习hadoop。 机器是xp系统,cygwin的安装过程略去。 ssh的配置如下: 写道Copying skeleton files.These files are for the users to personalise their cygwin experience.They will never be ov...
2011-12-27 11:41:39
199
原创 mongodb实践 5
今天把mongodb升级到2.0.2了 ,另外iteye的在线编辑器真不怎么好用 #mongodb数据库管理篇 #mongodb的部署 *一个或者多个分片(shard),每个分片持有全部数据的一部分(自动管理的),读写操作被自动路由到合适的分片上,每一个分片都有一个副本。 副本是一个或者多个服务器,每个服务器都持有相同的数据拷贝。在任何指定的时间里,只有一个作...
2011-12-16 15:30:52
82
mongodb实践 4
#存入数据 #基于document的数据 *定义一个文档对象@ ---> doc = { author: 'joe', created : new Date('03/28/2009'), title : 'Yet another blog post', text : 'Here is the text...', t...
2011-12-16 15:17:35
89
mongodb实践 3
#创建索引 *索引说白了是一种数据结构,这种数据结构通常用在优化检索效率上,mongodb的索引通过B-tree实现。 *获取things的索引@ > db.things.getIndexes() [ { "name" : "_id_", "ns" : "test.things", "key" : { &quo
2011-12-16 15:08:23
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人