離弦之Ray

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks

          #

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

          首先當(dāng)然是環(huán)境的建立了,linux下不用管,都是自帶了,直接就可以編寫(xiě)Perl腳本去了。

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

          關(guān)于開(kāi)發(fā)工具,已經(jīng)存在一個(gè)Eclipse的插件,里面還帶有正則表達(dá)式測(cè)試等功能,但是不是很成熟。其實(shí)只用帶有代碼著色的文本工具即可,然后在命令行調(diào)用Perl yourPerl.PL就可以了。

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

          有少數(shù)的模塊里面并沒(méi)有Makefile.PL而是一個(gè)Build.PL,需要特殊的模塊來(lái)安裝,這個(gè)模塊叫什么記不清了,可以去上面那個(gè)網(wǎng)站去搜索一下。

          好了,環(huán)境工具都搞定了,找本書(shū)吧,O'Relly 的Learning Perl是很好的入門(mén)讀物,甚者那個(gè)駱駝標(biāo)志已經(jīng)成為事實(shí)上Perl的代言人了。

          然后就開(kāi)始你的Perl旅程吧。


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

          問(wèn):如何對(duì)私有方法進(jìn)行單元測(cè)試?

          答:重點(diǎn)在于,你不應(yīng)該有任何方法是從一開(kāi)始設(shè)計(jì)出來(lái)就是private的,因?yàn)槟愕拿慷纬绦蚨紤?yīng)該在單元測(cè)試的驅(qū)動(dòng)之下產(chǎn)生,而測(cè)試是不可能驅(qū)動(dòng)出 來(lái)一個(gè)private方法的。那么private方法從哪里來(lái)?只能從重構(gòu)而來(lái)。所以答案是:private方法是不需要測(cè)試的,因?yàn)樗侵貥?gòu)的產(chǎn)物,而 重構(gòu)是不改變程序可觀察之行為的。既然行為不改變,測(cè)試自然也不需要有任何改變,所以不需要針對(duì)private方法建立任何新的測(cè)試。

          問(wèn):但是,如果private方法確實(shí)出現(xiàn)問(wèn)題了怎么辦?如果確實(shí)希望用測(cè)試來(lái)弄清一個(gè)private方法里面到底發(fā)生了什么,該怎么辦?

          答:如果一個(gè)private方法復(fù)雜到你不能一眼看清它,那它就太復(fù)雜了,你應(yīng)該把它重構(gòu)成為一個(gè)獨(dú)立的class,然后針對(duì)這個(gè)class來(lái)建立單元測(cè)試。

           

           

           

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

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


          等待…………夢(mèng)想中的Gphone

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

          mysql的procedure不支持?jǐn)?shù)組參數(shù),在網(wǎng)上找了個(gè)強(qiáng)人的代碼,與大家分享。
          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='測(cè)試';

          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的技術(shù)天空 閱讀(2213) | 評(píng)論 (0)編輯 收藏

          剛才試圖搞mysql的存儲(chǔ)過(guò)程,被郁悶了一回,最簡(jiǎn)單的存儲(chǔ)過(guò)程,只要加上begin 和end就有莫名其妙的錯(cuò)誤。

          比如
          CREATE PROCEDURE p()
          BEGIN
            SELECT * FROM T;
          END;
          夠簡(jiǎn)單了吧?就是報(bào)錯(cuò),其實(shí)是分號(hào)的問(wèn)題,說(shuō)的正規(guī)點(diǎn)叫分隔符。

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

          第一行把分隔符改成雙杠,這樣到中間 FROM T的時(shí)候mysql不會(huì)認(rèn)為SQL命令已經(jīng)結(jié)束了;
          第七行把分隔符再改回來(lái),不然以后不習(xí)慣。
          posted @ 2008-03-06 19:35 離弦之ray的技術(shù)天空 閱讀(675) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共11頁(yè): 上一頁(yè) 1 2 3 4 5 6 7 8 9 下一頁(yè) Last 
          主站蜘蛛池模板: 温泉县| 呼玛县| 罗江县| 铜川市| 阳信县| 福泉市| 通州区| 双江| 荔波县| 罗甸县| 临颍县| 苏州市| 五大连池市| 于都县| 汉沽区| 威远县| 磐安县| 扎赉特旗| 张掖市| 桑植县| 金秀| 嵊州市| 安陆市| 广德县| 华宁县| 抚宁县| 昌乐县| 盐源县| 静海县| 衡水市| 南陵县| 泰和县| 永新县| 淄博市| 陆良县| 兰考县| 滨州市| 长治市| 泽普县| 边坝县| 奉化市|