禮拜五早上8點10分的火車回高雄,為了就是要幫表弟組一台新電腦,早上回到家裏,過一小時之後又跟我爸開車去買電腦了,在買電腦前,當然不會忘記先去原價屋看看價錢,估計一下自己買的預算,不過表弟是跟我說它預算2萬5左右,所以我就給它買到2萬5剛剛好,哈哈,還算蠻頂級的配備,底下有我買的配備表
[FreeBSD] SNMP 統計流量分析 mrtg
最近處理系上伺服器,安裝的是 FreeBSD 7.0 Release 版本,想說來裝個 mrtg 來統計流量,因為目前 SNMP 已經納入 FreeBSD base 系統裡面了,所以在安裝 mrtg 就相當方便了,我之前有寫過三篇關於統計流量的教學 MRTG Server performace [Linux] Mrtg 實做 war3 線上人數統計 [FreeBSD] 安裝基本mrtg主機流量統計圖 [FC4] snmpd + mrtg 安裝教學「注意事項」
[Read More][筆記] ssh Tunnel 運用在 Linux and Windows FireFox
今天在看 gslin 部落格的一篇文章:穿越公司的 FireWall,看完之後我覺得相當不錯,可以解決我想要的 forwarding 的問題,以及繞過防火牆的機制,剛剛自己測試一下,發現還蠻好用的,其實利用這個方式還可以遠端管理很多伺服器,如:Mysql 伺服器…. SSH Tunnel必須建立於一個SSH連線上,它可以讓我們穿透防火牆,建立一個安全加密的傳輸。 例如:我們現在要透過 A主機去對 smtp 或者是 http 做連接的動作,那我們就必須先建立一個到A主機的SSH連線,然後在透過它建立 Tunnel 我們會使用到的putty和plink都可以在 這裡下載, 不過我更喜歡pietty,由piaip長輩製作。
[Read More][C/C++] 實做 C 語言 substr 功能,模擬計算機功能
前天在幫學弟寫程式,寫一個計算機程式,題目如下:
[Read More]寫一程式模擬簡單的計算機 每個資料列含下列的運算子中的一個及其右運算元 假設左運算元存在累加器中(初值為0) 需要函式scan_data 有2個輸出參數回傳 從資料列讀入的運算子元和右運算元 亦需函式do_next_op 執行運算子的功能 此函式有2個輸入參數(運算子和運算元) 及一個輸入/輸出參數(累加器) 有效運算子有 + 加 – 減 * 乘 / 除 ^ 次方 q 結束 此計算器在每次運算後要顯示累加器之值 一個執行範例如下 +5.0 result so far is 5.0 ^2 result so far is 25.0 /2.0 result so far is 12.5 q0 final ressult is 12.5 上面是我學弟的題目,不過他有傳一份他朋友的作業給我看,我本身不太喜歡用 scanf,我比較喜歡用 fgets,但是後來遇到要切割文字的問題,也就是 C 語言沒有 substr 取字串的函式,所以利用底下來實做:
[網路組] 電子專刊 3 月份
在去年9月入學的時候,阿伯就把工作交接給我了,那時候才知道組刊每個月有開會一次,在我接下這任務之前,都是阿伯在操刀的,然後在他們那時候成員小幹,蜂哥,還有阿伯一起弄好一個新的 journal 系統,之後就交接給我,也留下了一些 Bug 等我去解決,在我接手之後,我自己也有規劃了一下整個網路組的 Web 服務,目前是要弄成整合性的服務,就是先把所有 web 的網站整合在一台服務,然後後端跑 database 的服務一台,順便在對兩台伺服器做 data 的備份服務,rsync 3.0 已經修正了一個 bug,也不算 bug,但是這對單一目錄,很多檔案或資料夾有效能上重大更新,所以加快備份服務,不過在這系統上面不會看到這個效能,所以大家看看就好。
[生活日記]三月中剪頭髮
今天呢,跑去剪了頭髮,雖然說實驗室的同學都說我頭髮很短了,可是我已經留快1個半月的頭髮了,所以長得有點雜亂,就跟我們網路組的花圃一樣,都是需要修剪的,這樣才比較好看,底下了是我前幾天自己的髮型,還沒有剪過的,所以就留了一下紀錄來比較看看 宿舍拍的啦
[筆記][FreeBSD] 升級系統 upgrade FreeBSD 6.2 release to 7.0 release
今天在 Sayya BBS 看到 JoeHorn 的個人版,裡面寫到 “[筆記] remote upgrade FreeBSD 6.2 -> 7.0” 這一篇文章,裡面寫的作法,我自己實做到我自己的機器,就成功了,作法如下 首先修改 /usr/share/examples/cvsup/stable-supfile,找到
# Defaults that apply to all the collections # # IMPORTANT: Change the next line to use one of the CVSup mirror sites # listed at http://www.freebsd.org/doc/handbook/mirrors.html. *default host=CHANGE_THIS.FreeBSD.org *default base=/var/db *default prefix=/usr # The following line is for 7-stable. If you want 6-stable, 5-stable, # 4-stable, 3-stable, or 2.2-stable, change to "RELENG_6", "RELENG_5", # "RELENG_4", "RELENG_3", or "RELENG_2_2" respectively. *default release=cvs tag=RELENG_6 *default delete use-rel-suffix[Read More]
[PHP][Xoops] 外掛 AMS 系統 bug ?
上學期接任 CN Journal 組刊管理者,上任網管阿伯,留下一堆bug給我解決,不過還好去 trace 一下 AMS 的 code 之後發現一些 code 怪怪的,也不知道是不是 AMS 系統的問題
[BUG1]Preview button funcation error 修改AMS的編輯模組改為Koivi Editor,即可以解決無法正常預覽的功能 [BUG2]面板線上修改功能,只能看不能修改 這個問題是編寫該文章的作者,如要再次編輯修改該文章內容,需指定版本控制,否則無法修改 [BUG3]線上編輯有問題會PO上去出現空格過多()<預覽跟po上去網頁不同> 建議先轉換成html複製在筆記本上編輯,編好在貼回去比較安全 [BUG4]封面下文字(前言)無法對齊有不規律跳行或莫名的空格 建議把前言文字先用筆記本貼成一排然後在貼到編輯區裏,即可恢復你想要的排版 如果只要有裝 AMS 跟 使用他內建的編輯器 Koivi 會出現很多斷行問題,因為他使用 html 編輯,所以按一次 enter 之後,他會出現
一次,然後系統又使用 nl2br,所以等於斷行兩次,當然我檢查了一下 AMS 裡面的 code 修改:modules/AMS/class/class.newsstory.php
function hometext($format="Show")
{
$myts =& MyTextSanitizer::getInstance();
$html = 1;
$smiley = 1;
$xcodes = 1;
if ( $this->nohtml() ) {
$html = 0;
}
if ( $this->nosmiley() ) {
$smiley = 0;
}
switch ( $format ) {
case "Show":
$hometext = $myts->displayTarea($this->hometext,$html,$smiley,$xcodes);
break;
case "Edit":
$hometext = $myts->htmlSpecialChars($this->hometext);
break;
case "Preview":
$hometext = $myts->previewTarea($this->hometext,$html,$smiley,$xcodes);
break;
case "InForm":
$hometext = $myts->htmlSpecialChars( $myts->stripSlashesGPC($this->hometext));
break;
case "N":
$hometext = stripslashes($this->hometext);
break;
}
return $hometext;
}
[Read More][WWW] FTP 的主動模式( active )和被動模式( passive )
這一篇轉錄自 http://forum.icst.org.tw/phpBB2/viewtopic.php?t=79 目前 FTP 已經是大家必備的東西,那架站之前你必須先瞭解什麼是 主動模式( active )和被動模式( passive )
FTP 的主動模式( active )和被動模式( passive ) FTP 是一種檔傳輸協定 (File Transfer Protocol),它的連線模式有兩種﹕ 主動模式( active )和被動模式( passive )。以下說明 FTP 的連線是怎樣建立的﹕ 在 active 模式下 (一般預設的模式)﹕ 1. FTP client 開啟一個隨機選擇的TCP port 呼叫 FTP server 的 port 21請求連線。當順 利完成 Three-Way Handshake 之後,連線就成功建立,但這僅是命令通道的建立 。 2.當兩端需要傳送資料的時候,client 透過命令通道用一個 port command 告訴 server ,client可以用另一個TCP port 做數據通道。 3.然後 server 用 port 20 和剛才 client 所告知的 TCP port 建立數據連線。請注意:連 線方向這是從 server 到 client 的,TCP 封包會有一個 SYN flag。 4.然後 client 會返回一個帶 ACK flag的確認封包﹐並完成另一次的 Three-Way Handshake 手續。這時候,數據通道才能成功建立。 5.開始數據傳送。 在 passive 模式下 1.FTP client 開啟一個隨機選擇的TCP port 呼叫 FTP server 的 port 21請求連線,並完 成命令通道的建立。 2.當兩端需要傳送資料的時候,client 透過命令通道送一個 PASV command 給 server,要求進入 passive 傳輸模式。 3.然後 server 像上述的正常模式之第 2 步驟那樣,挑一個TCP port ,並用命令通道 告訴 client。 4.然後 client 用另一個TCP port 呼叫剛才 server 告知的 TCP port 來建立數據通道。此 時封包帶 SYN flag。 5.server 確認後回應一個 ACK 封包。並完成所有交握手續?成功建立數據通道。 6.開始數據傳送。 在實際使用上, active mode 用來登入一些開設在主機上及沒有安裝防火牆的 FTP server,或是開設於 client side 的 FTP server! Passive mode (簡稱 PASV)用來登入一些架設於防火牆保護下而又是開設於主機上的 FTP server! 如果您覺得太深奧而弄不清楚, 那就先用預設的 active mode 登入, 失敗改用 passive mode 登入就是了。 PS: 並不是每套 FTP 軟體都支援 passive mode 登入
[Read More]
[Java] 正規取代表示法
最近弄國科會計畫,所以都在碰 java 的東西,都在弄 sparql 跟 rdf 的東西,昨天弄懂一些基本的 sparql,然而利用 sarql 語法取出來的數值不是我想要的,所以利用正規表示,把字串取代了。 我想取代的字串如下:
( ?url = “LAB221″^^xsd:string ) 我只想要中間的 LAB221 的部份,然後我上網找了方法,總共可以使用兩種方法 第一種
String result = "( ?url = \"LAB221\"^^xsd:string )";
// compile pattern
Pattern p = Pattern.compile("[^\"]+\"([^\"]+)\"[^\"]+");
// get matcher
Matcher m = p.matcher(result.replaceAll("[