#
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關聯了,項目就可以部署上去。
內嵌的服務器功能擴展,是通過插件的配置進行的。如改...
閱讀全文