[網路組] 電子專刊 3 月份

Click to view full size image 在去年9月入學的時候,阿伯就把工作交接給我了,那時候才知道組刊每個月有開會一次,在我接下這任務之前,都是阿伯在操刀的,然後在他們那時候成員小幹,蜂哥,還有阿伯一起弄好一個新的 journal 系統,之後就交接給我,也留下了一些 Bug 等我去解決,在我接手之後,我自己也有規劃了一下整個網路組的 Web 服務,目前是要弄成整合性的服務,就是先把所有 web 的網站整合在一台服務,然後後端跑 database 的服務一台,順便在對兩台伺服器做 data 的備份服務,rsync 3.0 已經修正了一個 bug,也不算 bug,但是這對單一目錄,很多檔案或資料夾有效能上重大更新,所以加快備份服務,不過在這系統上面不會看到這個效能,所以大家看看就好。

[Read More]

[生活日記]三月中剪頭髮

今天呢,跑去剪了頭髮,雖然說實驗室的同學都說我頭髮很短了,可是我已經留快1個半月的頭髮了,所以長得有點雜亂,就跟我們網路組的花圃一樣,都是需要修剪的,這樣才比較好看,底下了是我前幾天自己的髮型,還沒有剪過的,所以就留了一下紀錄來比較看看 Click to view full size image 宿舍拍的啦

[Read More]

[筆記][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. [Read More]

[Java] 正規取代表示法

最近弄國科會計畫,所以都在碰 java 的東西,都在弄 sparqlrdf 的東西,昨天弄懂一些基本的 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("[

  • ]","")); // test if match if (m.matches()) { System.out.println(m.group(1)); } else { System.out.println("error"); } /* 正規比對 */
    上面感謝 ptt qrtt1 給我的一點啟示 [Read More]

    [生活日記] 中正電機通訊網路組花圃

    上禮拜五跟這裡拜五整理了一下花圃,因為這花圃是大家網路組共同維護的,但是目前是由我的老師負責維護,好像其他老師都不太會管這方面的事情,所以我們老師很熱心的每個禮拜都跟我們一起整理花圃,這學期呢,交接給我們碩一這群學生,不過現在還是只有我們老師的學生下來整理花圃,希望以後可以號招更多人下來幫忙,底下就是我們的花圃照片 Click to view full size image 宗翰在整理花圃 Click to view full size image 我們的花圃跟後面的不太一樣吧,我們的比較整齊 Click to view full size image 我的老師在那邊整理,哈哈,被我偷拍

    [Read More]

    [Ubuntu] 安裝 apache php5 遇到的問題

    很奇怪的,今天在安裝 apache2 跟 php5 想說很簡單,可是安裝好,寫測試檔測試的時候,發現當會變成下載 php5 的檔案,然後我看了一下 apache2.conf 觀察到如下 AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps LoadModule php5_module /usr/lib/apache2/modules/libphp5.so 然後我去 /usr/lib/apache2/modules/ 底下看,也有看到 libphp5.so 這個檔案,但是就是不能執行 php,後來在 ubuntu 官網找到解答,解答方法如下

    檢查 /etc/apache2/mods-enabled 內有沒有php5.conf , php5.load若沒有, 請 sudo a2enmod php5 重新啟動 apahce2 sudo /etc/init.d/apache2 restart http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?viewmode=flat&type=&topic_id=5298&forum=9

    [phpBB2] 2.0.22 -> 2.0.23 安全性修正版本釋出

    我在竹貓星球看到這個消息的,自己本身有在玩 phpBB2 的系統,其實這套是我學 php 的開始,當初架設漫畫網站,就是提供給大家一個漫畫平台,不過後來倒了,因為自己 php 功力沒有像今天有基本的基礎,所以就沒在繼續經營了,不過我想這不會影響我用 phpBB 這套免費的系統,然而我還在這系統開發跟 Gene6 FTP Server 整合的外掛,自己無聊亂寫的,不過這不是正題,底下就是轉錄自竹貓星球的文章。 [Fix] Correctly re-assign group moderator on user deletion (Bug #280) [Fix] Deleting a forum with multiple polls included (Bug #6740) [Fix] Fixed postgresql query for obtaining group moderator in groupcp.php (Bug #6550) [Fix] Selected field on first entry by default for font size within posting_body.tpl (Bug #7124) [Fix] Adjusted maxlength parameters in admin/styles_edit_body.tpl (Bug #81) [Fix] Fixed html output in make_forum_select if no forums present (Bug #436) [Fix] Fixed spelling error(s) in lang_admin. [Read More]

    [Java] 判斷字串是否是整數

    有時候必須知道輸入的字串是否是整數,如果不是的話,就要重新輸入,這有兩種作法 第一種是使用 try … catch … finally 的方法,如下

    public class test
    { 
    	public static void main(String args[])
      {
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); 
        try{
          System.out.print("請輸入你要的數字:");
          int test = Integer.parseInt(buf.readLine()); 
        }
        catch(ArrayIndexOutOfBoundsException e)
        {
          System.out.println(e.toString() + "陣列程式發生錯誤");  
        }
        catch(ArithmeticException e)
        {
          System.out.println(e.toString() + "數學發生錯誤");  
        }
        catch(Exception e)
        {
          System.out.println(e.toString() + "程式發生錯誤");
        }
        finally
        {
          System.out.println("執行成功");  
        }
    	
      }
    }
    
    另外一種方法,是利用 while 然後利用 Character.isDigit 的方法 [Read More]