離弦之Ray

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks

          #

          最近需要使用Perl,就隨便總結一下。

          首先當然是環境的建立了,linux下不用管,都是自帶了,直接就可以編寫Perl腳本去了。

          在Windows下需要去下載并且安裝一個Active Perl,可以到這個網站http://www.activestate.com/Products/activeperl/index.mhtml去下載。

          關于開發工具,已經存在一個Eclipse的插件,里面還帶有正則表達式測試等功能,但是不是很成熟。其實只用帶有代碼著色的文本工具即可,然后在命令行調用Perl yourPerl.PL就可以了。

          Perl最具特點是它有很多包含各種功能的Module可以被使用,你可以到http://www.cpan.org/去Search,downlads它們。
          這些模塊下載下來以后是一個壓縮文件,將其解壓縮以后,里面一般會有Makefile.PL,用perl命令去運行這個腳本即
          perl Makefile.PL
          接下來如果是在linux下,依次打入命令:
          make
          make test
          make install
          注意make test會提示你這個模塊所依賴的模塊是否已經被安裝,最好把它依賴的模塊也一起安裝了,否則后面可能會出問題。
          不知道有沒有ANT里面 fetch-depends類似的功能,暫時沒有找到。
          如果你在windows下,make就要換成nmake了。

          有少數的模塊里面并沒有Makefile.PL而是一個Build.PL,需要特殊的模塊來安裝,這個模塊叫什么記不清了,可以去上面那個網站去搜索一下。

          好了,環境工具都搞定了,找本書吧,O'Relly 的Learning Perl是很好的入門讀物,甚者那個駱駝標志已經成為事實上Perl的代言人了。

          然后就開始你的Perl旅程吧。


          posted @ 2008-07-13 14:29 離弦之ray的技術天空 閱讀(272) | 評論 (0)編輯 收藏

          問:如何對私有方法進行單元測試?

          答:重點在于,你不應該有任何方法是從一開始設計出來就是private的,因為你的每段程序都應該在單元測試的驅動之下產生,而測試是不可能驅動出 來一個private方法的。那么private方法從哪里來?只能從重構而來。所以答案是:private方法是不需要測試的,因為它是重構的產物,而 重構是不改變程序可觀察之行為的。既然行為不改變,測試自然也不需要有任何改變,所以不需要針對private方法建立任何新的測試。

          問:但是,如果private方法確實出現問題了怎么辦?如果確實希望用測試來弄清一個private方法里面到底發生了什么,該怎么辦?

          答:如果一個private方法復雜到你不能一眼看清它,那它就太復雜了,你應該把它重構成為一個獨立的class,然后針對這個class來建立單元測試。

           

           

           

          posted @ 2008-04-16 20:54 離弦之ray的技術天空 閱讀(2027) | 評論 (3)編輯 收藏

          瀏覽器徹底換成了FireFox
          編程用的是IDE是Eclipse
          Server用的是Jboss
          Office用的是Open Office


          等待…………夢想中的Gphone

          posted @ 2008-04-08 19:27 離弦之ray的技術天空 閱讀(159) | 評論 (0)編輯 收藏

          mysql的procedure不支持數組參數,在網上找了個強人的代碼,與大家分享。
          http://www.phpx.com/happy/thread-111759-1-1.html


          DELIMITER ;
          DROP DATABASE IF EXISTS PRO;
          USE MYSQL
          CREATE DATABASE PRO;
          USE PRO
          DROP TABLE IF EXISTS TEMP;
          CREATE TABLE TEMP (
            ID                        INT(8)                NOT NULL AUTO_INCREMENT,
            FOREIGN_KEY               INT(8)                NOT NULL,
            PRIMARY KEY (ID)
          ) TYPE=MyISAM AUTO_INCREMENT=1 COMMENT='測試';

          DELIMITER ;
          DELIMITER //
          DROP PROCEDURE IF EXISTS DNA  //
          CREATE PROCEDURE DNA (IN THE_CNT INT(8), IN THE_STR VARCHAR(10000))
          BEGIN
            DECLARE i INT(8) DEFAULT 0;
            REPEAT SET i = i + 1;
            INSERT INTO TEMP VALUES (NULL, SUBSTRING_INDEX(SUBSTRING_INDEX(THE_STR, ',', i), ',', -1));
            UNTIL i >= THE_CNT END REPEAT;
          END
          //
          DELIMITER ;

          CALL DNA(7, '231,24,1114,151,7831241,9134,989');
          SELECT * FROM TEMP;
          +----+-------------+
          | ID | FOREIGN_KEY |
          +----+-------------+
          |  1 |         231 |
          |  2 |          24 |
          |  3 |        1114 |
          |  4 |         151 |
          |  5 |     7831241 |
          |  6 |        9134 |
          |  7 |         989 |
          +----+-------------+
          posted @ 2008-03-06 19:44 離弦之ray的技術天空 閱讀(2214) | 評論 (0)編輯 收藏

          剛才試圖搞mysql的存儲過程,被郁悶了一回,最簡單的存儲過程,只要加上begin 和end就有莫名其妙的錯誤。

          比如
          CREATE PROCEDURE p()
          BEGIN
            SELECT * FROM T;
          END;
          夠簡單了吧?就是報錯,其實是分號的問題,說的正規點叫分隔符。

          應該這樣
          1.    delimiter //
          2.    CREATE PROCEDURE p()
          3.    BEGIN
          4.      SELECT * FROM T;
          5.    END//
          6.
          7.    delimiter ;

          第一行把分隔符改成雙杠,這樣到中間 FROM T的時候mysql不會認為SQL命令已經結束了;
          第七行把分隔符再改回來,不然以后不習慣。
          posted @ 2008-03-06 19:35 離弦之ray的技術天空 閱讀(679) | 評論 (0)編輯 收藏

          僅列出標題
          共11頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          主站蜘蛛池模板: 郑州市| 曲阜市| 吴忠市| 岳西县| 武宣县| 台州市| 屯昌县| 富平县| 宁安市| 含山县| 固镇县| 大余县| 滁州市| 休宁县| 如皋市| 高尔夫| 阿克苏市| 镇坪县| 光山县| 汾西县| 彭水| 茶陵县| 德钦县| 漯河市| 东港市| 从江县| 龙泉市| 巫溪县| 拜泉县| 陆良县| 江阴市| 酒泉市| 南安市| 万宁市| 中宁县| 磐安县| 宿松县| 沙洋县| 武穴市| 岳阳县| 广东省|