2009年2月7日 星期六

判斷字串是否為全形的方法

/**
* 判斷字串是否為全形
* @param str
* @return
*/
public static boolean checkFullWord(String str){
  if(str != null) {
   char[] newchar = escapeNull(str).toCharArray();
   for(int j=0;j<newchar.length;j++){
     if(!Character.UnicodeBlock.of(newchar[j]).
       equals(Character.UnicodeBlock.BASIC_LATIN)){
      return true;
     }
   }
   /*此方法在UNIX環境下無效
    * if(str.length() != str.getBytes().length) {
     return true;
   }*/
  }
  return false;
}

DWR使用'scripted' Creator來初使化物件

使用DWR時,Creator標籤是少不了的,而如果你需要的不只是new一個物件,而是用某個靜態方法來初使化物件,就必須使'scripted' Creator,其dwr.xml的設定如下:

<allow>
...
<create creator="script" javascript="EmailValidator">
<param name=language value="beanshell"/>
<param name="script">
import org.apache.commons.validator.EmailValidator;
return EmailValidator.getInstance();
</param>
</create>
...
</allow>

其中,getInstance()是一個static method,類別EmailValidator使用它來初使化物件。
然後在jsp的頁面上加上這幾行:
<%String path = request.getContextPath();%>
<script type='text/javascript' src='<%=path %>/dwr/engine.js'> </script>
<script type='text/javascript' src='<%=path %>/dwr/interface/EmailValidator.js'>
加完之後,需要額外加上兩個jar檔,分別是bsf.jar與bsh.jar,可以到下面兩個網站找到相關的資源:
http://jakarta.apache.org/bsf/
http://www.beanshell.org/
如此,就大功告成了!

2008年10月9日 星期四

一覺到天亮

  一個普通的大人或小孩,一覺到天亮沒什麼了不起,但是若發生在一個出生未滿兩個月的小嬰兒,對爸媽來說卻是求之不得的夢想。
  一個初生兒,一晚起來個兩三次不算誇張,更有甚者,兩小時就餵一次的也是大有人在,這個人就是我老婆。她小時候非常的難帶,每兩個小時餵一次奶,然後晚上都不睡覺,所以讓我岳母在帶她的過程中痛不欲生。有鑑於此,為了不讓我老婆這樣的慘劇再發生一次,她們母女倆就去找了一些書看能不能以更輕鬆的方式來帶小孩,於是就找到了林奐均的"百歲醫師教我的育兒寶典"。
  這本書有什麼特別的呢?因為它顛覆了一般傳統上帶小孩的方式,譬如讓小孩哭是讓他運動,所以不要怕小孩哭。這點應該是大多數父母在帶小嬰兒最大的夢魘吧!有的時候當你餵完小baby,也檢查好尿布,正準備把他放下來讓他好好休息或自己玩的時候,突然放聲大哭,一般正常的做法就是趕快把他抱起來好好的安撫他,等他安靜之後再放下來,不然就是塞奶嘴,好不容易一切就緒,終於可以做自己的事情的時候,baby又大哭了,通常這樣的模式會連續run個好幾次,所以這本書裡面提到的丹瑪醫師的理論就是等你確定寶寶一切都OK之後,就儘量讓他哭吧。
  我老婆看了這本書之後就迫不急待的想要試試書中的理論,但因為一般長輩是比較不能接受小孩哭就放在那裡不管他,所以一開始在實行的時候,或多或少也遇到了一些阻礙,經過了一段時間的溝通興磨合之後,漸漸的上了軌道,但理論說來容易,真正實行起來除了外在因素要克服之外,自己內心的掙扎也是一大關卡,因為有時寶貝也越哭越慘烈,哭的越久越猛,你的信心就越有可能會動搖,”哭成這樣真的不會有問題嗎?”等疑問浮上心頭,於是在中途也用了一些折衷的方式,正覺得達成目標的一天遙遙無期的時候,大米一覺到天亮了!
  林奐均曾在書中給了"一覺到天亮"一個定義:連續睡眠七個小時。在這之前,我們也曾讓寶貝連續睡個六七個小時過,但這都是把你搞到兩三點才睡,所以我們也不覺得有達到目標,而昨晚很幸運的,我們從九點開始餵奶,然後換尿布,到了大概快十點的時間讓他上床睡覺,今天早上六點才醒來,整整睡了八個小時,我和老婆興奮極了。在這整個晚上,我們在床上聽到大米翻動的聲音,或沒事叫個一聲,都會很緊張,深怕他會中途醒來,一切的努力功虧一潰,沒想到的真成功了。之後我們得要把我們的作息調的更規律,希望可以一直維持這樣的狀態,就真的是太棒了!

2008年6月24日 星期二

運氣法1

昨天參加了老師進階氣功班第二堂課,這堂課延續了上一堂的逆式呼吸法,開始提到了運氣法中的捲浪法和震身法,而前者屬於一種無形的感覺,後者的展示會比較明顯,但就我個人看來,其實兩者的根本還是在於逆式呼吸法的能力,也就是能否做到氣沈丹田後,上提至膻中時,雙手也能有相應的感覺,做到這一步之後,開始練運氣法才有意義。
  而最近這幾次的課程,對我的影響最大的是,改變了我對於拳術的整個用力的概念,老師曾說,所有的用力,都是由丹田至膻中這一條中心線所產生,最近才更能慢慢的體會,而在行拳或對打的時候,利用此概念來牽制對手時,對方會覺得我沒出什麼力,但很自然的就被帶動、帶開了,就是能做到以輕馭重的效果,而發勁時,感覺也會沈重許多,所以現階段的我必須再依此基礎不間斷的鍛練,以求程度上的突破。

2008年6月18日 星期三

對於氣息重新的體會與認識

練武至今已超過十年,而接觸氣功也至少有七八年的時間了,雖然在各個階段的練習,對於氣感有一定的掌握,但對於氣息對於武術上的應用,在觀念上及身體的感覺上卻始終沒有一個很有把握的方向,直到今年再聽老師的初階及進階氣功班後,有了非常大的突破。
  前一陣子總認為背部對於武術的發勁與力量的運始有著舉足輕重的地位,雖然它的確很重要,但最近練習運氣法時,發覺對於洪拳,利用由下丹田往中丹田提拉的力量,把身體內的空間由肋骨、胸腔至背部整塊拉起,而產生的重量,是洪拳在發勁,運勁,及招式運用時的最根本的力量來源,而十八羅漢聖手、十形虎、乃至於最基本的三度橋手,都是在鍛練身體內空間搬移的能力,若未練成這種氣息及身體空間的搬移能力,洪拳就只能成為只靠肌肉骨架力量的外家拳,但要練成這股能力很困難,就我個人的認知而言,背還是先要有感覺,這樣氣息在搬運的時候,能量才夠大,但目前也是稍微有感覺,再練過一陣子之後,說不定會有不同的體會。

2007年11月2日 星期五

功體的培養

最近這幾次的禮拜三例行練習,老師都會對功力拳的某些招式做一些應用上的講解,像是昨天的獨立步攔截手,或是上次的回身偷步捶,老師總是能夠用很輕的力量把其他師兄弟摔的亂七八糟,雖然目前我也能做到某些程度上的效果,但有些特定的招式真的是完全抓不到感覺,後來想想,我把它歸結到功體能力的問題。
  要怎麼去解釋呢?因為老師平常在講用法的時候,這時可以去試試感覺如何,如果真的做不到的時候,就不應該再浪費時間一試再試,因為除了還沒抓到這招的技巧之外,另外就是還沒有練出行使這招的"功體",所以即使老師把所有的細節都講了出來,沒有功體就是做不到。所以這個時候就要把老師所說的技巧記起來,自己在練習套路或是單練的時候,不斷的去抓感覺,這樣
才能把功體漸漸的練出來。
  而我最近練習的主軸是鶴形拳,不斷練習的感覺還是認為,不管是練習鶴形或蛇形拳,一定要建立在堅實的虎形基礎上,如此你的鶴或蛇才能在輕靈或是柔的外表之內,有一定的韌性。就以單鶴朝枝為例,它算是鶴形的第一套拳,不過其實就蘊含了很多非常實用的手法,在我大學期間剛接觸的時候,總是覺得好像不大實用,因為覺得招式打不出力量,而現在的感覺則是,鶴形
的力量真的打到人的身上也是非常剛猛的,只是感覺不若虎形之厚重,而是有點尖銳爆炸之感,再加上它的角度多變,真正練出來後是可以展現出很驚人的威力和威脅感,不過要練出來不大容易,而我本身目前也還在摸索的階段,希望不斷的練習之後能有更進一步的體會。

2007年9月20日 星期四

物件導向分析與設計

最近去文化中心借了一本書,叫"UML與樣式徹底研究(Applying UML and Patterns)"這本書也是矇矇的秘密基地裡面所推薦的系統分析與設計相關書籍的必讀經典之一,另外兩本則是"UML精華(UML Distilled)"和"使用案例寫作實務(Writing Effective Use Cases)",前一本看完一遍了,而後一本只有瀏覽過,還沒開始精讀,因為"UML與樣式徹底研究"算是蠻厚的一本書,所以現在還在研讀中。
  為何會開始想看這一類的書呢?其實是從現在這個專案開始蘊釀起的。回想起從最初學習有關"架構"、"設計"等議題是從接觸Struts開始,Struts以現在來說算是非常廣為人知的一個framework,學習它讓我初步了解MVC架構為何,以及如何去實現它,而接觸Hibernate則是讓我了解ORM這個主題是如何運作的,之後也陸陸續續學了一些技術,當然也包括了Spring,只是在投入目前的專案之前,對於Spring的IOC及AOP等概念僅止於理論上的了解,而且各項技術對我而言,也只是不連續的片斷概念,而無法產生整体的力量,直到今年年初投入這個案子之後,花了很多時間去閱讀和嚐試Spring的核心功能和它抽象層的功能,開始有了不同的體會。Spring最大的貢獻在於它提供了一個可以整合各項功能的框架,從前端的顯示層,中層的商務邏輯層,到後端的資料存取層,都提供了很方便的使用和抽換的方式,讓我當時有一個想法,就是學習東西的時候可以以Spring為核心,找到對自己有用的技術,再整合到Spring這個大框架,這或許並不是最佳的做法,不過卻是現階段的我比較偏好的做法。
  可是學習到一個程度之後,發覺自己遇到瓶頸了,就是不知道自己接下來的方向為何,正在茫茫然的時候,找到了矇矇的秘密基地這個部落格,算是給了我很大的啟發,他的文章大多著重在架構設計和系統分析與設計等概念的闡述,所以,習慣從最基礎開始著手的我,就從"什麼是物件"、"什麼是類別"等大多數人都會跳過的文章開始看起,從頭開始培養自己對物件導向分析與設計的概念,收穫真的很大,也讓我對未來如何提昇自己有了方向,才慢慢開始閱讀一開始所提到的書籍,閱讀之後才發覺,系統分析與設計真的是一門大學問,而且重點不在於你用了什麼工具,用了多少UML,或是實行了什麼開發流程,而是要能對於如何設計出低耦合力,高內聚力等的物件有一定的了解,所以現在對我而言,OOAD是開發時的基本原則、心法,而UML與實作技術如Java等則是工具、招式、實踐的手段,今後就暫時以這個想法來做為提昇自己的準則。