#
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我介绍一个我在工作中使用了3年左右的ETL工具Kettle,本着好东西不独享的想法,跟大家分享碰撞交流一下!在使用中我感觉这个工具真的很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率,不过对于我这个.net研发者来说唯一的遗憾就是这个工具是Java编写的。
http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html
需求:要抓同一网络上某一设备,如平板的网络传输包以进行分析,访问哪些网址等。
软件:WIRESHARK,金山的WIFI共享
环境:由于WIRESHARK只能抓本电脑(安装此软件上的PC)的包,因此要在装一个无线网卡,再安装一个金山的WIFI共享软件,将此无线网卡作为热点共享出去。另一设备通过WIFI连上此热点。这样此设备上的所有都经过此无线网卡,就可以被WIRESHARK抓到。
1.将无线网卡连上路由,产生IP1
2.启动CONNECTIFY ME,共享来源选IP1
3.客户端通过WIFI连CONNECTIFY ME
4.则客户端向INTERNET发送请求时,请求是通过IP1发送的,收到的回应是通过CONNECTIFY ME返回的
使用:打开WIRESHARK,选择抓哪个网卡,再配置过滤条件,点击开始即可。现总结了下这个过滤条件:
ip.src == 192.168.1.113 && http.request.method=="GET" && http.user_agent contains "014440000001041"
都是以协议开头,属性名称,表达式符号,属性值,连接符号,其他表达式的这种格式。
wireshark过滤语法总结
http://blog.csdn.net/cumirror/article/details/7054496
1、删除 mysql
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)
上面的其实有一些是多余的,建议还是按照顺序执行一遍
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
2、安装 mysql
1 sudo apt-get install mysql-server
2 sudo apt-get install mysql-client
3 sudo apt-get install php5-mysql(安装php5-mysql 是将php和mysql连接起来 )
一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:
1 sudo netstat -tap | grep mysql
当您运行该命令时,您可以看到类似下面的行:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
如果服务器不能正常运行,您可以通过下列命令启动它:
1 sudo /etc/init.d/mysql restart
3、进入mysql
$mysql -uroot -p 管理员密码
配置 MySQL 的管理员密码:
1 sudo mysqladmin -u root password newpassword
4、恢复数据库
mysql -p < html5canvas-20130930-0816.sql
http://www.yesky.com/187/1754687.shtml
TOMCAT数据源
http://136589219.iteye.com/blog/1572214
NIO是新IO,与老IO相比,老IO是通过STREAM来发送CHARACTER,新IO是通过CHANNL 发送BUFFER;老IO对于多条链接需要启动多个线程处理,新IO只需一条线程即可处理多条链接;新IO是事件驱动。
客户端,非SELECTOR模式:
//打开一个CHANNEL
SocketChannel socketChannel = SocketChannel.open();
socketChannel.configureBlocking(
false);
socketChannel.connect(
new InetSocketAddress("http://google.com", 80));
//等待可写状态
while(! socketChannel.finishConnect() ){
//wait, or do something else
}
//写资料
socketChannel.write(buf);
客户端,SELECTOR模式:
//打开一个CHANNEL
SocketChannel channel = SocketChannel.open();
//新建一个SELECTOR
Selector selector = Selector.open();
channel.configureBlocking(false);
//将SELECTOR注册到CHANNEL中
SelectionKey key = channel.register(selector, SelectionKey.OP_READ);
while(true) {
//查询可用状态
int readyChannels = selector.select();
//状态不可用
if(readyChannels == 0) continue;
}
//状态可用
Set<SelectionKey> selectedKeys = selector.selectedKeys();
Iterator<SelectionKey> keyIterator = selectedKeys.iterator();
while(keyIterator.hasNext()) {
SelectionKey key = keyIterator.next();
if(key.isAcceptable()) {
// a connection was accepted by a ServerSocketChannel.
} else if (key.isConnectable()) {
// a connection was established with a remote server.
} else if (key.isReadable()) {
// a channel is ready for reading
} else if (key.isWritable()) {
// a channel is ready for writing
//提交所需处理的代码
}
//移除所有KEY
keyIterator.remove();
}
摘要: 开发工具是ECLIPSE,由于是MAVEN WEB项目,不是ECLIPSE项目,测试用的如TOMCAT就不能使用平常的ECLIPSE加TOMCAT的方式了。只能用MAVEN的TOMCAT插件。
MAVEN的这个TOMCAT插件其实就是让MAVEN去启动一个内嵌的TOMCAT服务器,如果项目和这个TOMCAT关联了,项目就可以部署上去。
内嵌的服务器功能扩展,是通过插件的配置进行的。如改...
阅读全文