2009年4月27日 星期一

歲月靜好

每次聽到動人話語,百分之五十是李叔同語句,另外百分之五十就是由JEAN應藝所張恬君老師留下,靜水深流,千江水月是其中,歲月靜好則是最近.我常常在想為什麼人能創造出這麼好聽話語呢?簡單幾個字就能營造出廣闊空間或動人氛圍.同時,人說物以類聚,人以群分,李叔同或張老師身邊,就能留下這些佳語,也能襯托出兩人精神.

歲月靜好典故,網路上隨手可得,倒是我還無聊的想知道胡蘭成和張愛玲後續發展,結果是結婚三年就以離婚收場(1944-1947),今後就別再祝福新人歲月靜好才是^_^ ,http://zh.wikipedia.org/wiki/胡兰成

台大男十三宿舍要拆掉??

午餐新聞看到台大男十三宿舍要拆掉??改建??

想來唏噓,在台大讀書時在這住過一年,非常非常喜歡這,雖然說建築物年代久遠,但從這張照片就可以看出,http://news.pchome.com.tw/newsdata/society/libertytimes/20090320/12375002246360125002.jpg,,這裡有挑高,又涼爽,超大空間分配四個人住,我室友始終只有二人,一人忘記名子讀食品營養常常留實驗室或陪女朋友較少出現,另一人也忘記名子,但記得綽號是怪龜,花蓮人,讀國企.

男十三舍還有個好處,出門就是醉月湖,單車上下課都是經過湖畔,尤其晚上回宿舍看湖濱樹影,球場照明燈反射,很愉快.

畢業至今過十年,雖然大半工作時間都在北市,也沒什麼機會到台大晃晃,更別說男十三舍了,只有幾次開車經辛亥路口看到男十三舍影子,但它附近同型宿舍一棟接一棟消失,換成現代化大樓,本來就狹小的男十三舍顯得不合時宜起來.

2009年4月23日 星期四

[技術]JAVA筆記

教學網站 http://www.javapractices.com/ http://www.exampledepot.com/egs/java.io/CreateFile.html 檔案運作,取得RESOURCE InputStream is = GroupLensRecommender.class.getResourceAsStream(resourceName); 如果輸入的文字沒有放入完整的檔案名稱,就會從RESOURCE中尋找有沒有檔案名稱相符 運用在類似斷詞或是包成JAR檔案的模式 暫存 目的應該是類似CACHE處理,避免重複讀取檔案浪費時間,但是實驗過程要注意常常要刪除掉 File resultFile = new File(new File(System.getProperty("java.io.tmpdir")),"taste." + (ratings ? "ratings" : "movies") + ".txt"); 單獨運作APP會讀取C:\Documents and Settings\KayjeanKu\Local Settings\Temp TOMCAT模式會讀取C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp 不同 暫時運作檔案 會產生代有亂數的名稱 File tempFile = File.createTempFile("taste", null); 語系 http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/I18NMessage.htm eclipse設定 hadoop -Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log -Xms512m -Xmx512m HADOOP執行似乎都需要whoami,如果是LINUX應該OK,但是WIN下面就要先安裝CGYWIN,並且把PATH指到;C:\cygwin\bin eclipse export jar file 全部勾選 export generated class files and resources C:\waggle-parser.jar options: add directory entries overwrite existing files without warning export class files with compile warnings generate the manifest file seal the jar eclipse啟動順序 啟動初期沒有辦法讀取到CONF下面的內容,研究hadoop程式碼並沒有conf這個目錄,原來是classpath設定問題 結論是,在ECLIPSE下面,BUILDPATH的SOURCE必須要加入CONF,然後移到最前面,這樣就可以運作了 如果是cgywin可以看BAT,有設定環境變數 因為是用ECLIPSE操作,要如何建立一個新的PLUGIN,就是在waggle-bee目錄下建立一個新目錄,拖曳到plugins目錄下,然後右鍵選擇改變成source folder TOMCAT LOG 系統啟動資訊catalina 程式中寫system.out.就會跑到stdout 程式中寫log,就會跑到localhost TOMCAT 語系 先前已經修改 Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" useBodyEncodingForURI="true"沒用 加入request.setCharacterEncoding("UTF-8");有效 svn 刪除一些目錄後和svn同步有些問題1.local目錄備份2.eclipse刪除專案3.重新建立目錄並且svn取得內容4.開專案,其他相同。

WORD2PDF

測試版的jofficeconvert會有廠商浮水印,改採用aspose-words,19.3版本(連結)。javac -classpath C:\tool\medical-portal\apache-tomcat-6.0.0\apache-tomcat-6.0.0\lib\servlet-api.jar;commons-fileupload-1.2.jar;commons-io-2.2.jar;aspose-words-19.3-jdk17.jar FileUploadServlet.java。轉換過程有些許版面"跑位"情形,浮水印並不是每頁都有。

修改JAR方式

  1. JByteMod瀏覽和修改JAR內容(有分析過jofficeconvert),但只要擾亂程度太高就無用。
  2. ECLIPSE下以MOCK方式(透過JAVAASSIST)覆蓋兩個函式,執行後產生新class,更新JAR中對應class刪除簽名檔以及準備license.xml,依照範例即可掠過license。(另19.1版本連結錯誤,缺少MOCK程序)。

2009年4月20日 星期一

村上春樹與海賊王

看到一篇有趣文章, http://blogs.myoops.org/lucifer.php/2009/04/19/iwantmusic ,講述年輕人追求理想遇到疑惑不知該怎麼辦.有兩個人回答.第一個人,引述村上春樹文章,認為不要太看重這件事情,最好可以放下[追求理想]這個意識形態框架,只聽內心的聲音行事,努力做,但最後做不到也無所謂.第二個人則鼓勵年輕人就是要有海賊王魯夫精神,打死不退,繼續進行.

為什麼提到這個呢?當然是因為我覺得我也想完成些什麼,自然也有迷惘時,第二個人的想法很積極,很適合年青人.裡面有一段話,很有見地.拍案叫絕.

你的問題,我也經常在演講的時候聽到觀眾提起.很多高中生會問我,如果我想要追逐的夢想不能夠賺錢怎麼辦?我想要當漫畫家,父母卻告訴我這個領域賺不了錢,將來不能夠養活自己,我該怎麼辦?我的答案一樣很簡單.誰不想要一邊追逐夢想,一邊又可以賺到錢,過著人人稱羨的穩定生活?但是,如果你的目標只是這樣而已,那你追求的並不是夢想.你追求的是一個幸運的人生.每個人都有夢想,但是幸運的人卻很少.每個人都有理想,但是能夠讓現實跟理想一樣的人卻很少.


只是年歲漸長,我較欣賞第一個人說法,這樣比較自然更純粹也更有樂趣.以最近看到兩個網站為例,休息一夏 http://qk.gokimo.com/ 真是個好網站.技術純熟內容豐富很有想法,硬要說缺點或許太工程師導向,像生硬旅遊手冊.這麼好網站,在台灣排名居然八千名之後.還有一個walkscore也很有趣 http://www.walkscore.com/ ,但流量同樣低.我相信這些負責人是想要做出什麼也很努力,只可惜不成功.

2009年4月19日 星期日

香山海邊健行

從台中回新竹途中,天氣佳,JEAN提議到海邊,高美溼地或香山都不錯,不過時間上香山比較適合.

香山範圍很大,這次來到海天一線南邊的南港區,上次在這放風箏十分成功,手一鬆風箏筆直飛天,完全沒有挑戰性可言,這次沒提風箏,一家三口往海邊前進,或許因為退潮,已經前進很遠很遠了,還看不見大海蹤影.我們邊走邊抓螃蟹,亂看,走了將盡兩公里也只能看到大海邊緣,西部海岸就是這麼空曠,小時候不能體會這種空曠感,最近每次到海邊空曠感越來越強烈,或許是新竹建築比台北少,或許是年紀.

水裡長出一些不知名管子,大約小指長度,吸管粗細,好像沒有根,很詭異.JEAN還抓了十幾個寄居蟹(兩個帶回幼稚園炫耀,被我養死),小螃蟹.最後回家前還沒漲潮,天色漸暗,一些大螃蟹爬出洞穴,JEAN抓到二隻,幾乎有TING手心大,大家驚呼不已.我就幻想著整片海岸都是這種大螃蟹群起攻擊我們怎麼辦呢?

對了,今天人煙稀少,我還大叫了一陣子.

麵包(饅頭)DIY

繼前幾週牛奶糖風車後,TING對烘培興致不減,週五幼稚園借回書居然是,自製麵包..書裡面就是兩個小朋友玩弄一些材料完成美美麵包,完全是誘騙小孩,爸爸雖然沒做過麵包,少說也看過很多烘培王漫畫,做麵包怎麼可能這麼容易.不過寶寶都這麼HIGH了,爸爸怎麼能說不呢?

趁經過市區,到培英國中附近烘培專賣店買奶油,高筋麵粉,乾酵母粉,晚上接近九點開始進行,媽媽以為我們有萬全準備也被騙來一起行動.首先遇到問題就是材料份量無法掌握,麵粉300克,究竟是多少呢?水1/2杯,是多少呢?一切只好因陋就簡,且戰且走.左手拿著100cc的水,右手如果差不多重量就是100克,最後水量也是憑感覺.也因此心中始終有揮不去陰影.TING揉搓麵粉倒是很帶勁,連拍打都用上,麵粉在TING,爸爸,媽媽三個人輪番上陣虐待後,居然也神奇的像是團狀.

這時大家也累了,還好也到了將麵糰靜置發酵階段,爸爸媽媽紛紛休息,TING則看起故事書,可憐麵糰只能獨自膨脹啦.四十分鐘後,麵糰果然膨脹兩倍大,我們也依照書本指示繼續進行.媽媽和TING負責型塑,陸續完成了老鼠,羊頭,熊頭,蝸牛,兔子,棒子,葡萄,魚,烏龜,圓球,爸爸負責用家裡陽春無法設定溫度,空間狹小,每次只能烤三個的烤麵包機烘烤.

第一次成品吃起來感覺很像饅頭,賣相也不佳,之後雖然有嘗試塗抹蛋黃,以及用雙層錫箔避免焦黑,看起來美味,吃起來還是很像饅頭.只能說比上次經驗好多啦.

[技術]GWT

GWT是GOOGLE AJAX套件,一般提到AJAX普遍缺點就是呈現速度慢,優點則是畫面生動.我使用GWT原因很簡單:1比照SWING用JAVA開發,人家說老狗學不了新把戲,真是說對了,只要不再和無聊JSP,SPRING WORK奮戰,我都願意.2GWT會持續更新.3GWT和地圖整合很方便.

地圖功能 原先學習CALMAP採用一個地圖套件,不過這個套件不更新就改用google元件(現在覺得版本更新真是很重要)

資料庫功能 以前嘗試SPRING聯結DAO,最近看到個專案rpgmap很容易了解.目前沒有使用資料庫.

autocomplete功能 資料太多後,就參考http://development.lombardi.com/?cat=7&paged=2 http://development.lombardi.com/?p=39 改從後端TRIE結構拿資料

DRAG功能 曾參考http://code.google.com/p/gwt-dnd/使用一陣子(gwt-dnd-2.5.6.jar,搭配gwt1.5.3),目前拿掉,為了WISHLIST可能會加回來.

一些範例

筆記

projectCreator -eclipse MyProject
applicationCreator -eclipse MyProject com.mycompany.client.MyApplication
File -> Import menu. Choose "Existing Projects into Workspace"
產生出來的是Application
com.google.gwt.dev.GWTShell
-out www com.mycompany.MyApplication/MyApplication.html
-Xmx256M
這個找不到com.google.gwt.dev.GWTShell
class path 要加入gwt-dev-windows.jar 這個應該是在GWT下面
並沒有放入RUN的環境中,可是為了不要佔用太多SVN空間,直接連結單機位置
com.google.gwt.dev.GWTShell
-out www tw.idv.kayjean.waggle.gwt.Maps/Maps.html -whitelist ^http[:][/][/]maps[.]google[.]com 後面這幾個的原因忘記了
-Xmx256M -Xmx800m
另外classpath要加入advanced -> folder -> src [重要] 要記得加入