發表文章

目前顯示的是 7月, 2016的文章

Use PTT to track your friends' sleeping habits

00:02:08 不在站上 最近無新信件 23:18:21 123.195.xx.xx 08:26:11 閱讀文章 最近無新信件 08:22:36 111.70 .xx.xx 09:00:14 閱讀文章 最近無新信件 08:54:48 111.70 .xx.xx 10:36:14 不在站上 最近無新信件 08:54:48 111.70 .xx.xx 14:04:11 閱讀文章 最近無新信件 13:58:08 140.136 .xx.xx 14:47:15 閱讀文章 最近無新信件 14:44:02 140.136 .xx.xx 15:31:08 不在站上 最近無新信件 14:44:02 140.136 .xx.xx   (隱藏部份資訊) 上面的資訊是之前用 expect 為主體完成的練習題,自動登入 ptt、查詢某位網友的動態、上線時間、ip等資料,再進行資料整理的結果。 利用這些資料,進一步想知道這 ip 的來源,ip 是誰發放的,如果是學術網路的話,又是那一所學校呢? 要完成上述的事項,需要幾個功能。 1. 查詢 ip 發放單位 2. 學術網路各學校的ip分配 指令如下 catptt 1|awk -F ' ' '{print $5}'|sort|uniq|while read x; do  echo $x; whois $x; done  whois 是自己寫的一個功能,可以查到發放單位及是學術網路的哪個學校的ip catptt 也是自己寫的,用來顯示每天所收集的資料, 後面參數 1 指的是昨天的資料 以下是 linux 指令 awk: 用來切字串的工具 (好用、推) (awk -F ' ' '{print $5}' 意思是用空白當切割符號,並印出第五個元素) sort: 排序資料行 uniq:利用排序過的資料,將重複的資料去除 while read x; do echo $x;whois $x; done 針對每一資料行,顯示 ip 並做 whois 查詢 結果如下 111.70.xx.xx 中華電信股份有限公司 1.168.xx.xx 中華電信股份有限公司 123.195.xx.xx 凱擘股份有限公司 140.136.x

sqlplus 中文亂碼解決方案

原因就不多說了, 總之是資料庫編碼與console viewer編碼不一致, 導致看到的中文變亂碼. 資料庫環境是 ZHT16MSWIN950, 所以設定 NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950 ----------------------------------------------------  首先 查詢資料庫 NLS 參數 SQL> select * from v$nls_parameters where parameter in ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET'); PARAMETER                      VALUE ----------------------------------------------------- NLS_LANGUAGE                  AMERICAN NLS_TERRITORY                 AMERICA NLS_CHARACTERSET        ZHT16MSWIN950  回到 linux export NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950 終端機->設定字元編碼->BIG5    

install oracle client and sqlplus on ubuntu

1. 下載 oracle client、sqlplus   2. 安裝 alien sudo apt-get install alien  3. 用 alien 安裝剛下載的兩個檔案 (oracle client、sqlplus) 這邊我下載的是basic lite ubuntu 32bit: sudo alien -i oracle-instantclient12.1-basiclite-12.1.0.2.0-1.i386.rpm sudo alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.i386.rpm ubuntu 64bit: sudo alien -i oracle-instantclient12.1-basiclite-12.1.0.2.0-1.x86_64.rpm sudo alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm ubuntu 32bit:  執行完畢後,安裝路徑在 /usr/lib/oracle/12.1/client  (本次安裝版本是12.1) ubuntu 64bit: 執行完畢後,安裝路徑在 /usr/lib/oracle/12.1/client64  (本次安裝版本是12.1) 4.  設定 oracle.conf,將 library path 加進去   sudo vim /etc/ld.so.conf.d/oracle.conf ubuntu 32bit:  /usr/lib/oracle/12.1/client/lib ubuntu 64bit: /usr/lib/oracle/12.1/client64/lib 5. 執行 ldconfig   sudo ldconfig 6. 安裝 libaio1 sudo apt- get install libaio1 7. 手動加入 PATH ubuntu 32bit: /usr/lib/oracle/12.1/client/bin ubuntu 64bit: /usr/lib/oracle/12.1/client64/bin 8. expo

非同步、交互式程式編寫工具 (sikuli、expect)

非同步、交互式程式編寫工具 (sikuli、expect) 先前發布的 相見恨晚自動化測試工具 sikuli ,可以用圖案去編寫程式流程,適用於自動化測試、一鍵執行程式及指令。 用 sikuli 編寫程式是很特別的體驗,概念上來說在程式流程裡,因為無法預期下一個作業或圖案的出現時間,常會有 wait 的情形, 這樣非同步的訊息傳遞、接收、執行,在這工具上變得很自然。 這次在 unix 系統上透過 expect 自動連上 bbs,透過 expect 自動收集想要的資料,並經由 log file 取回資料,再做進一步的資料整理。 expect 讓我有一種既視感,啊~就是 sikuli 呀! 寫程式流程時的體驗相近,sikuli 流程控制時,當發現某個圖形就去點擊另一個圖形。 expect 流程控制時,當發現某段文字就輸入你要的文字。 wait then action,又是個不可多得的好工具。 expect 是用 Tcl 語法 (筆者也是第一次看到 Tcl),expect 相關資料很少,不過還是有找到比較完整的語法書。 Welcome to the Tclers Wiki!   這次以 expect 為主體完成的練習題,自動登入 ptt、查詢某位網友的動態、上線時間、ip等資料,再進行資料整理。 條列中間遇到的一些問題 1. 編碼問題: ptt 是 BIG5 編碼,ubuntu shell 預設是 UTF-8 編碼,所以會出現有亂碼的問題。 解決方法是透過 iconv -f UTF-8 -t BIG5 file_name -o output_file_name  (將 UTF-8 轉成 BIG5) 如果遇到錯誤訊息, iconv: 位置 xxxx 有不合法的輸入序列,可能是語系的問題,locale LANG 設成 BIG5 就可以了。 範例: [osboxes@osboxes log]$ locale LANG=zh_TW.UTF-8 LANGUAGE=zh_TW:en_GB:en LC_CTYPE="zh_TW.UTF-8" LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE="zh_TW.UTF-8" LC

舊有 oracle 管理文章連結

以前在 點部落 的一些 oracle 管理文章. 在這裡做個關聯. 格主的興趣廣泛. 從 oracle 管理到現在 android, python, javascript 開發工作.  到 unix like (ubuntu) 學習. 不管是前台、後台、open source, 什麼都有興趣. IT 人什麼都要學. 格主也樂在其中. 大家就見怪不怪. 舊有 oracle 管理文章連結:  學如逆水行舟

'apt-get dist-upgrade' get error message 'Job for docker.service failed because the control process exited with error code.' after upgrade ubuntu kernel

referenece: [graphdriver] prior storage driver "aufs" failed: invalid argument 精簡版 1. aufs is no longer supported on Ubuntu kernel 4.* 2. trick is 'rm -rf /var/lib/docker/aufs' 3. sudo service docker start 完整操作過程