<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    邋遢居

    我的Java天堂

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks

    #

    在看《卓有成效的程序員》 迷你書的時候,發現gant這個小東西。一下子就被他鎮住了。心想原來還可以通過這種方式來使用ant。

    隨后在ibm的技術網站上找到了用Gant構建軟件 這個在線教程。簡單的過了一下,發現還真的好用。還有因為工作原因經常需要寫一點測試用的web service。而我對這個又不是特別屬性,想用Java來寫有怕太麻煩。所以想找一找有沒有什么動態語言很方便的能夠實現web service(其實重點是找python的)。最后還是發現GroovyWS. 通過這樣兩個小東西,我發現groovy真的很不錯。特別是對于java程序員來說。所以準備系統的學習一下他。特此記下。

    posted @ 2009-11-07 22:38 Jet Geng 閱讀(255) | 評論 (0)編輯 收藏

    刪除空行

    g/^\s*$/d                  : delete all blank lines

     

    這個里面使用了“:g”命令,Google了一下,找到了如下描述:

    :g is something very old and which is very powerful. I just wanted to illustrate the use of it
    with some examples. Hope, it will be useful for someone.
    Brief explanation for ":g"
    -------------------------
    Syntax is:
        :[range]:g/<pattern>/[cmd]
    You can think the working as, for the range (default whole file), execute
    the colon command(ex) "cmd" for the lines matching <pattern>. Also, for all
    lines that matched the pattern, "." is set to that particular line (for
    certain commands if line is not specified "." (current line) is assumed).
    Some examples
    -------------
    Display context (5 lines) for all occurences of a pattern
        :g/<pattern>/z#.5
        :g/<pattern>/z#.5|echo "=========="
        << same as first, but with some beautification >>
    Delete all lines matching a pattern
        :g/<pattern>/d
    Delete all blank lines (just an example for above)
        :g/^\s*$/d
    Double space the file
        :g/^/pu =\"\n\"
        :g/^/pu _
        << the above one also works >>
    Copy all lines matching a pattern to end of file
        :g/<pattern>/t$
    Yank all lines matching a pattern to register 'a'
        0"ay0:g/<pattern>/y A
    Increment the number items from current line to end-of-document by one
        :.,$g/^\d/exe "normal! \<c-a>"
    Comment (C) lines containing "DEBUG" statements
        g/^\s*DEBUG/exe "norm! I/* \<Esc>A */\<Esc>"
    A Reverse lookup for records
    (eg: An address book, with Name on start-of-line and fields after a space)
        :g/<patern>?^\w?p               "if only name is interested
        :g/<patern>/ka|?^\w?p|'ap       "if name and the lookup-line is interested
        :g/<patern>/?^\w?|+,/^[^ ]/-1p  "if entire record is interested
    Reverse a file (just to show the power of 'g')
        :g/^/m0
    Foot note 1: use :v to negate the search pattern
    Foot note 2: Some explanation of commonly used commands with :g
    :2,8co15 => Copy lines 2 through 8 after line 15
    :4,15t$  => Copy linesa 4 through 15 towards end of document (t == co)
        :-t$  => Copy previous line to end of document
         :m0  => Move current line to the top of the document
    :.,+3m$-1 => Move current line through cur-line+3 to the last but one line
                 of the document
    Foot note 3: Commands used with :g are ex commands, so a help search should
                 be,
                    :help :<help-topic>
                    eg. :help :k

    嘗試翻譯如下

    :g是一個非常老且很強的的命令。我只想通過一些例子來演示他的用法。希望對被人有用。

    “:g”的概述

             語法::[rang]:g/<pattern>/[cmd]

    你可以認為他是這么工作,在特定的范圍內([rang]確定,默認是整個文件)。他逐行逐行的用<pattern>去匹配,如果匹配成功就執行 冒號命令 (“cmd”來指定)。另外,如果<pattern>匹配所有行,那么只有對當前行執行 冒號命令。

     

    今后會不斷更新……

     

    --------------------------

    :%s/^\(.*\)\n\1/\1$/        : 刪除重復行 # 非貪婪匹配,\{-}

    一會來分析

    posted @ 2008-05-28 10:55 Jet Geng 閱讀(2481) | 評論 (3)編輯 收藏

    今天遇到了點事情,無法入眠。起來寫點小東西吧,突然想起前幾天就說的好好了解一下java中的Date這件事情來。剛好就這么順手做了吧!

     

    首先java.sql.Date是java.util.Date的一個子類。他擁有java.sql.Date的所有功能,他只是做了點擴展。這點擴展是為了讓JDBC能夠識別成date類型。就是這樣子的。

    image

    其實也真的沒什么好寫的。就這樣吧,作為一個記錄!

    posted @ 2008-05-27 00:43 Jet Geng 閱讀(516) | 評論 (1)編輯 收藏

           Birt這個項目開始已經很久了。先前一直沒有使用表報的需求,所以也就沒有對這個項目做太多的關注。就在前一段時間突然有了這一方面的需求,所以就開始在網上瘋狂的Google和Birt相關的信息。因為這個項目開始時間挺長了,而且越來越成熟。所以和他相關的資料挺多。efa在他的《[JAVA - BIRT]Birt 學習資料》已經給出了很多內容。

          除了這些內容外我還找到了三本書:

    1. BIRT: A Field Guide to Reporting
    2. Integrating and Extending BIRT
    3. Packt.Publishing.Practical.Data.Analysis.and.Reporting.with.BIRT

         第一本和第二本是在是基于 Birt 2.1。

          第三本書是基于Birt 2.2

        有了這些東西基本就可以上路了。但是我又一想,如果有點例子就更好了。例子肯定是有的。官方就有,還等什么呢還不趕緊去拿。

     

    birt

    到里面隨便找吧。肯定有你合適的。

    下面要做的事情就是分析好你的需求,好好用birt來表現你的內容了。

    posted @ 2008-04-04 10:01 Jet Geng 閱讀(1213) | 評論 (0)編輯 收藏

    關于《Developing Eclipse/OSGi Web Applications Part》一文中的例子

    近來看看點OSGIWeb開發中的應用。看到這個方面的東西肯定會搜到EclipseZone上面的一篇文章,他叫《Developing Eclipse/OSGI Web Application》。說實話這個文章寫的真的沒說的,淺入淺出的同時還給你真正帶來不少好東西。他的所有的內容是圍繞著一個叫Rsp的例子進行的。這個例子在http://sourceforge.net/project/showfiles.php?group_id=122298 處可以下載到。


    這里我下載了rspDemo-0.2.zip這個包。按照要求把包打開,并且運行。果然可以運行,并且能夠得到文中所說的結果。

    下面我們就來看看解壓后的文件夾:

    這個里面不光包括了示例代碼還包含了一個tomcat-5.5.15生怕被人機器上沒有裝tomcat。好了,把我自己的eclipseworkspace設置成c:\rsp\workspace。這樣我就得到了一個如下圖的工作界面:

    這個時候我不想使用rsp中自己帶的那個tomcat,我想自己已經有的tomcat。就在這個時候我遇到問題了。什么問題呢,我們來看看啟動時的log

    嚴重: Servlet.service() for servlet jsp threw exception

    org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

        很明顯是沒有找到urihttp://java.sun.com/jsp/jstl/core tld文件。不對啊,這個應該都是在web應用程序里面的啊。但是他自己帶的tomcat就可以。肯定是他自己加了。我找了好大一會兒終于在C:\rsp\apache-tomcat-5.5.15\common\lib多出兩個包他們分別是jstl.jarstandard.jar。查看了一下standard.jar所有真相大白。他包含了一個c.tld的文件。其中有這么一段

    <description>JSTL 1.1 core library</description>

    <display-name>JSTL core</display-name>

    <tlib-version>1.1</tlib-version>

    <short-name>c</short-name>

    <uri>http://java.sun.com/jsp/jstl/core</uri>

    好了,把這兩個包放入到我自己的tomcat中,所有問題都解決了。終于順暢的跑起來了。


    posted @ 2008-03-15 15:33 Jet Geng 閱讀(2452) | 評論 (1)編輯 收藏

    問題一:

    問:項目圖標報錯,Problems 試圖有一條錯誤顯示“Java compiler level does not match the version of the installed Java project facet.”

    答:這個是因為Facted Project中的Java版本設定與項目的Java版本設定不一致。

    Drawing 1: Modify: Modify Faceted Project中所示,這個時候項目的Java的版本為5.0。如果項目的Java Compiler的設置如Drawing 2: Java C: Java Compiler中所示的設置。就是會出現問題中所述的錯誤。修改的方式很簡單,只要統一一下他們的設置。讓他們保持一致就OK了。


    posted @ 2007-10-15 14:26 Jet Geng 閱讀(3870) | 評論 (2)編輯 收藏

    使用DTP時遇到一個很奇怪的問題。

    我所使用的DTP的版本是dtp-sdk_1.0_200612211。我通過Data Source Explorer來瀏覽數據庫是發現有的字段的類型不能正確顯示。


    這個數據庫是Mysql 5.0.

    這個數據表在Navicat中的設計視圖如下圖。


    這種問題不光出現在mysql數據庫中,在oracle 10g的數據庫中我也發現了類似的情況。

    發現他不能正常的顯示Clob和Blob這兩種類型。



    在Sql plus中這個表的描述為:


    知道怎么回事的兄弟們,幫忙告訴我一聲。先謝謝了。

    posted @ 2007-06-22 14:39 Jet Geng 閱讀(616) | 評論 (2)編輯 收藏

    這幾天在resin跑一個taglibcommon-controls http://www.common-controls.com/en/index.php)庫。發現很多東西不能用。下圖中的菜單全部變成了“logout”。其他的全部沒有了。


    這個頁面在tomcat下跑起來的效果是:

    怎么會是這樣。看上去是不是很奇怪啊。

    后來查看了一下cc-samples\WEB-INF\work\_jsp\_jsp\_template下的_header__jsp.java

    發現

    com.cc.framework.taglib.menu.MenuItemTag這個類只被創建了一次。而且在重復使用。

    if (_jsp_MenuItemTag_3 == null) {

            _jsp_MenuItemTag_3 = new com.cc.framework.taglib.menu.MenuItemTag();

            _jsp_MenuItemTag_3.setPageContext(pageContext);

            _jsp_MenuItemTag_3.setParent((javax.servlet.jsp.tagext.Tag) _jsp_MenuTag_2);

    }

    于是我就在猜想啊向com.cc.framework.taglib.menu.MenuTag這個類的實例中添加了那么多MenuItem肯定就只加了這么一個實例了。所以在最后顯示的只顯示出最后設置的參數了。

     

    最后查看有一個仁兄也遭遇了類是的情況。也用blog記錄下來了。下面的話就是他的結論:

    于同名標簽,引用10,Tomcat就會創建10個方法和標簽對象來做對應的處理。而Resin只會創建1個對應的標簽實例,如果后面再 引用,則不會創建新的,只操縱唯一的一個實例。所以在標簽的邏輯處理中,要注意屬性釋放和還原的情況。我犯的錯誤就是因為其中的一個屬性一直保存在該實例 中并沒有銷毀,導致后面再處理的時候發生沖突。

     

    http://b0r0j0.blogbus.com/logs/4028462.html


    posted @ 2007-04-05 16:36 Jet Geng 閱讀(1455) | 評論 (1)編輯 收藏

    今天終于把solaris的環境變量搞明白了。
    Solaris中設置環境變量和你當前采用的Shell有關,不同的Shell需要寫入到不同的文件中。

    如果你是Bourne Shell
    PATH=$PATH:/usr/bin; export PATH
    環境文件為.profile

    如果你是 C shell
    變量設置
    路徑變量:set path=($path /usr/bin)
    ?環境文件
    .login .cshrc

    這里有個問題是我如何能夠知道我自己用的是那種類型的shell呢?
    有辦法 使用cat /etc/passwd

    solaris-path.jpg

    你會得到如上圖所示的內容,看看你自己的那一行。在上面的文件中,我是有下劃線的那一行。后面的/bin/sh就表示我使用的是Bourne Shell。我只需要按照那個來設置就好了。

    ?

    有一點就是如果PATH已經被export過了,那么你就可以把“export?PATH?”這一段省略調了。

    solaris 9上跑通過了。
    在solaris上我還完全是一個新手,如果有什么說的不對的地方歡迎指正。謝謝了先。
    posted @ 2007-03-26 16:12 Jet Geng 閱讀(3980) | 評論 (2)編輯 收藏

    今天看到了Eclipse AspectJ這本書,小試了一下這個東西還真的不錯。
    posted @ 2007-03-06 14:48 Jet Geng 閱讀(448) | 評論 (0)編輯 收藏

    僅列出標題
    共7頁: 上一頁 1 2 3 4 5 6 7 下一頁 
    主站蜘蛛池模板: 亚洲黄色免费网址| 日韩亚洲一区二区三区| 久久亚洲国产成人影院网站| 亚洲最大在线视频| eeuss影院免费直达入口| 国产精品成人免费一区二区| 亚洲国产一区国产亚洲| 免费中文字幕视频| 日韩a级毛片免费观看| 亚洲国产精品网站久久| 免费午夜爽爽爽WWW视频十八禁| 亚洲欧美熟妇综合久久久久| 丁香花免费完整高清观看| 亚洲国产av高清无码| 国产成人免费在线| 久久影视国产亚洲| 97在线线免费观看视频在线观看| 牛牛在线精品观看免费正 | 免费一看一级毛片| 天天影院成人免费观看| 国产成人高清精品免费观看| 久久国产亚洲精品| 日韩高清在线高清免费| 曰批全过程免费视频播放网站| 日本高清不卡中文字幕免费| 亚洲人成激情在线播放| 国产精品国产亚洲精品看不卡| 又粗又硬又黄又爽的免费视频 | 免费毛片在线看片免费丝瓜视频| 韩国免费a级作爱片无码| 亚洲乱码日产精品a级毛片久久| 夜夜爽妓女8888视频免费观看| 久久久久亚洲av毛片大| 午夜高清免费在线观看| 黄色a级片免费看| 国产亚洲AV手机在线观看| 久久香蕉国产线看免费| 亚洲美女色在线欧洲美女| 欧洲美熟女乱又伦免费视频| 最好2018中文免费视频| 亚洲AV无码专区国产乱码不卡|