邋遢居

          我的Java天堂

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks

          #

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

          隨后在ibm的技術(shù)網(wǎng)站上找到了用Gant構(gòu)建軟件 這個(gè)在線教程。簡單的過了一下,發(fā)現(xiàn)還真的好用。還有因?yàn)楣ぷ髟蚪?jīng)常需要寫一點(diǎn)測試用的web service。而我對這個(gè)又不是特別屬性,想用Java來寫有怕太麻煩。所以想找一找有沒有什么動(dòng)態(tài)語言很方便的能夠?qū)崿F(xiàn)web service(其實(shí)重點(diǎn)是找python的)。最后還是發(fā)現(xiàn)GroovyWS. 通過這樣兩個(gè)小東西,我發(fā)現(xiàn)groovy真的很不錯(cuò)。特別是對于java程序員來說。所以準(zhǔn)備系統(tǒng)的學(xué)習(xí)一下他。特此記下。

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

          刪除空行

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

           

          這個(gè)里面使用了“: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è)非常老且很強(qiáng)的的命令。我只想通過一些例子來演示他的用法。希望對被人有用。

          “:g”的概述

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

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

           

          今后會(huì)不斷更新……

           

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

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

          一會(huì)來分析

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

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

           

          首先java.sql.Date是java.util.Date的一個(gè)子類。他擁有java.sql.Date的所有功能,他只是做了點(diǎn)擴(kuò)展。這點(diǎn)擴(kuò)展是為了讓JDBC能夠識(shí)別成date類型。就是這樣子的。

          image

          其實(shí)也真的沒什么好寫的。就這樣吧,作為一個(gè)記錄!

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

                 Birt這個(gè)項(xiàng)目開始已經(jīng)很久了。先前一直沒有使用表報(bào)的需求,所以也就沒有對這個(gè)項(xiàng)目做太多的關(guān)注。就在前一段時(shí)間突然有了這一方面的需求,所以就開始在網(wǎng)上瘋狂的Google和Birt相關(guān)的信息。因?yàn)檫@個(gè)項(xiàng)目開始時(shí)間挺長了,而且越來越成熟。所以和他相關(guān)的資料挺多。efa在他的《[JAVA - BIRT]Birt 學(xué)習(xí)資料》已經(jīng)給出了很多內(nèi)容。

                除了這些內(nèi)容外我還找到了三本書:

          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

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

           

          birt

          到里面隨便找吧??隙ㄓ心愫线m的。

          下面要做的事情就是分析好你的需求,好好用birt來表現(xiàn)你的內(nèi)容了。

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

          關(guān)于《Developing Eclipse/OSGi Web Applications Part》一文中的例子

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


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

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

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

          這個(gè)時(shí)候我不想使用rsp中自己帶的那個(gè)tomcat,我想自己已經(jīng)有的tomcat。就在這個(gè)時(shí)候我遇到問題了。什么問題呢,我們來看看啟動(dòng)時(shí)的log

          嚴(yán)重: 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文件。不對啊,這個(gè)應(yīng)該都是在web應(yīng)用程序里面的啊。但是他自己帶的tomcat就可以??隙ㄊ撬约杭恿?。我找了好大一會(huì)兒終于在C:\rsp\apache-tomcat-5.5.15\common\lib多出兩個(gè)包他們分別是jstl.jarstandard.jar。查看了一下standard.jar所有真相大白。他包含了一個(gè)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>

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


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

          問題一:

          問:項(xiàng)目圖標(biāo)報(bào)錯(cuò),Problems 試圖有一條錯(cuò)誤顯示“Java compiler level does not match the version of the installed Java project facet.”。

          答:這個(gè)是因?yàn)?font face="Times New Roman, serif">Facted Project中的Java版本設(shè)定與項(xiàng)目的Java版本設(shè)定不一致。

          Drawing 1: Modify: Modify Faceted Project中所示,這個(gè)時(shí)候項(xiàng)目的Java的版本為5.0。如果項(xiàng)目的Java Compiler的設(shè)置如Drawing 2: Java C: Java Compiler中所示的設(shè)置。就是會(huì)出現(xiàn)問題中所述的錯(cuò)誤。修改的方式很簡單,只要統(tǒng)一一下他們的設(shè)置。讓他們保持一致就OK了。


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

          使用DTP時(shí)遇到一個(gè)很奇怪的問題。

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


          這個(gè)數(shù)據(jù)庫是Mysql 5.0.

          這個(gè)數(shù)據(jù)表在Navicat中的設(shè)計(jì)視圖如下圖。


          這種問題不光出現(xiàn)在mysql數(shù)據(jù)庫中,在oracle 10g的數(shù)據(jù)庫中我也發(fā)現(xiàn)了類似的情況。

          發(fā)現(xiàn)他不能正常的顯示Clob和Blob這兩種類型。



          在Sql plus中這個(gè)表的描述為:


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

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

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


          這個(gè)頁面在tomcat下跑起來的效果是:

          怎么會(huì)是這樣??瓷先ナ遣皇呛芷婀职?。

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

          發(fā)現(xiàn)

          com.cc.framework.taglib.menu.MenuItemTag這個(gè)類只被創(chuàng)建了一次。而且在重復(fù)使用。

          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這個(gè)類的實(shí)例中添加了那么多MenuItem肯定就只加了這么一個(gè)實(shí)例了。所以在最后顯示的只顯示出最后設(shè)置的參數(shù)了。

           

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

          于同名標(biāo)簽,引用10,Tomcat就會(huì)創(chuàng)建10個(gè)方法和標(biāo)簽對象來做對應(yīng)的處理。而Resin只會(huì)創(chuàng)建1個(gè)對應(yīng)的標(biāo)簽實(shí)例,如果后面再 引用,則不會(huì)創(chuàng)建新的,只操縱唯一的一個(gè)實(shí)例。所以在標(biāo)簽的邏輯處理中,要注意屬性釋放和還原的情況。我犯的錯(cuò)誤就是因?yàn)槠渲械囊粋€(gè)屬性一直保存在該實(shí)例 中并沒有銷毀,導(dǎo)致后面再處理的時(shí)候發(fā)生沖突。

           

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


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

          今天終于把solaris的環(huán)境變量搞明白了。
          Solaris中設(shè)置環(huán)境變量和你當(dāng)前采用的Shell有關(guān),不同的Shell需要寫入到不同的文件中。

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

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

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

          solaris-path.jpg

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

          ?

          有一點(diǎn)就是如果PATH已經(jīng)被export過了,那么你就可以把“export?PATH?”這一段省略調(diào)了。

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

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

          僅列出標(biāo)題
          共7頁: 上一頁 1 2 3 4 5 6 7 下一頁 
          主站蜘蛛池模板: 灵丘县| 东阿县| 曲阳县| 新田县| 库尔勒市| 浮梁县| 田阳县| 息烽县| 囊谦县| 陇南市| 隆安县| 嵊泗县| 南阳市| 阳谷县| 分宜县| 页游| 柞水县| 潮安县| 准格尔旗| 广南县| 松溪县| 磐安县| 阿坝县| 溧阳市| 沾益县| 四子王旗| 九江市| 马山县| 陇川县| 同仁县| 祁连县| 尚义县| 呼和浩特市| 嘉祥县| 亳州市| 平阳县| 宁夏| 新建县| 昌邑市| 保德县| 若尔盖县|