2007年12月29日 星期六

好久好久

沒有留言:
好久好久沒有上來寫文章

好久好久沒有聞到自由的氣息

自從入伍後一開始頂著一個大光頭

像木頭人一樣腦袋空空的

當兵真的會讓人變笨許多

腦袋放空到不知道怎麼跟人交談

只要想著今天要如何過

每過星期三就開始倒數週末休假日

鑑測終於結束了,辛苦的操課終於結束了

不用在每天打飯心裡還想等等要全副武裝的感覺,

不用再去做單戰和刺槍

人就是這麼的慵懶吧

剩下的是漸漸回復的言談

當兵可以認識很多不同的人

同班的感受最深

12週打飯生活發生了太多的事

也許是因為打飯辛苦,才讓新訓生活充滿一種特殊的惡趣

才會跟一些班長比較熟

剩下的則是重新再出發,通往下一階段

認識我們連的長官和幹部真的很不錯

認識我們連的同學真的很不錯

最後剩下一週的時間好好把握大家相處的日子吧

2007年12月2日 星期日

影片小知識 R5與TC有什麼不同?

沒有留言:
以下是轉錄某些論壇看到的

說明R5與TC有什麼不同!?
R5 即Region 5(DVD第5分區)意思,是官方授權電影工作室近年為了遏止當地盜版電影快速流入市場,而採用TC(Telecine) Machine去將電影底片(film)轉錄成DVD形式販售. TC轉錄方式比一般其他區正式釋出的DVD速度快,但缺少後製處理及一些附加的內容,使得影像品質比較近似或略差於DVD Screener格式電影. 所以R5只是一種由更專業人員使用更高等級的TC機器所轉錄出的TC格式的電影版本. 而早期所發布TC格式影片,真正屬於TC(Telecine)製作的影片比較少,很多人反而把TS(Telesync)格式影片誤認為TC格式. 要詳細的說明請參考wiki

2007年11月23日 星期五

採用Google Reader的聯播

沒有留言:
之前試用了一下採用Yahoo Pipes來做客製化的RSS訂閱聯播,不過其實也可以採用Google Reader 更方便的自動做成訂閱的聯播。
這樣不必再像使用Pipes那樣手動方式,且時間的排序要考量RSS或ATOM版本的不同,當然就不必再去寫的處理JSON的JavaScripts處理了,只要簡單的複製Google Reader自動產生的剪輯程式碼就搞定了。

2007年11月17日 星期六

最新迴響顯示標題

沒有留言:
原本看了曉@部落格的最新回應產生器,但後來覺得麻煩直接採用blogger的資訊提供元素去設定comments的url。但看了Blogger最新回應的優質作法的參考所提的程式設計 NEXT SERVICES: JSON 應用(2):最新迴響的標題
Josh's Note: 讓comments也能顯示文章標題後,決定直接採用他的方式

<script>g_szBlogDomain='xxxxx.blogspot.com'; </script>
<script src="http://js.writers.idv.tw/rc.js"></script>

最近真的發現Blogger的中文使用者越來越多了,拜Blogger Beta所賜,真是一大福音。

網誌更新

沒有留言:
今天花了一天,已經許久未動的blog一次做了許多修改。主要是察覺Blogger可以加上最新回應和文章聯播。其實Blogger有提供文章和回應的RSS連結。但是卻沒有主動提供直接的模組來加入。所以得利用Blogger所提供的"資訊提供"網頁元素,且不是加入別人的RSS,而是加入自己的文章或回應的RSS/Atom來產生最新文章或回應。

另一方面也可以新增javascript區塊,自己完成RSS資源的讀取程式,這就是今天的重點。另一方面利用Yahoo Pipes可以做出大家的資訊聯播彙整功能。Pipes是挺好玩的,後來他提供json的功能後,就可以自己手寫讀取聯播的功能了。這邊需要的就是熟悉JavaScript來完成。裡面有個重點是不同平台所提供的RSS或是Atom可能沒有Author欄位,要是需要讀到Author時,程式就可能跑不出來了。另外網路玩家有提到須先把所要用的RSS利用FeedBurner燒成Atom1.0後,日期的排序才能加以解決,不然日期可能出現英文字的月份,結果會造成按字母排列,須等以後Yahoo有無改善。

弄的同時還得順便把各位的Feed燒入FeedBurner,同時也觀察RSS和Atom各版本的欄位質差異。其結果就是把RSS轉成JavaScript然後貼上來而已。

久久沒看也發現現在使用Blogger Beta的人也越多了,應該是Beta出了之後改善以前不少陽春的功能,其中可以使用Label是一因素。現在相關的技巧出現了更多,補足之前看Blogger的功能說明看不懂又不知道如何始用的情況。

像是最新迴響的使用、隱藏完整文章、其他也越來越多是在Blogger加上留言、統計觀察、推薦方面功能、相簿等。不過這些互動功能加的越多,也象徵網站負載越高,速度會拖慢。

附上:My Friends Test1

2007年11月11日 星期日

服役中<一>

沒有留言:
入伍日子四週過了,兵還是實際進去當過才知道其中的甘苦。國防訓儲役,也許這是今年的最後一梯,也可能是國防訓儲的最後一梯。明年登場的是研發替代役。不管是哪種制度,好處是大家進來學歷差不多,相處上也比較容易。不過倒是會遇到年紀比較大的博士生。大家相處也蠻有趣的,遇到以前是成功高中畢業大我五屆的學長。這邊除了大家都是碩士畢業以上外,也常遇到些台青椒成的學生,而做電子機械類的比我們做資訊的人多一些,大家做的領域都有所不同。這裡怎還每個人都在放閃光。不是看到大夥們都在寫信給閃光,就是遇到已經結婚的。

軍中的規定實在是很多,入伍前應該先做好準備,突然覺得我如果是明年的研發替代役,只要一個月,那有多好,別人在前進,我們在虛度時光,回頭看到實驗室的學弟在前進的感觸。也許就像大家所說進去就是學習團體生活和人際關係吧。不過進來當兵後才會知道以前是過的多麼爽的日子阿。軍中抓的時間是很緊湊。

2007年9月12日 星期三

Bambino! 熱血

沒有留言:
今年夏
實驗室來了9位新生
可以感受到些微的熱血新生 有許因為有female
很有大學生的感覺
記得我大學經過許多鮮事後 漸漸的對一些東西已經缺乏新鮮感 和熱忱
碩一也曾幾何時有著新鮮感 但到了下學期一下就看透了研究生的生活 =.=
修課沒有大學時期多樣 研究也是門孤獨的路

想必他們大學經驗值練的還不夠高
到了研究所階段想來練等 解任務
雖然後面等著他們辛苦工作的考驗

不過還是想說 年輕真好!

2007年9月3日 星期一

MVP Baseball 2005 & 2007 for PC

沒有留言:
隨著台灣王建民在MLB的發光發熱,最近也熱血起來想玩塵封已久的MVP Baseball。
但因為種種的原因,目前EA的MVP Baseball停在2005有一段時間了
根據傳聞因為MLB版權被另一家公司買斷,PC Game至少要到201x年都不會出新版的MLB Baseball遊戲。幸虧由EA忠實玩家所組成的MVPMod社群,繼續在遊戲上幫大家製作遊戲更新和模組等,讓玩家可以藉由MVP 2005 繼續玩新的賽季和球員資料更新。另外在EAMod由官方專案製作,已提供新版的MVP2007安裝程式,讓玩家更新。

底下使用單純更新球員名單和照片,和對MVP Baseball 2005 最常更新檔案筆記:

玩家製作的更新檔,需到MPVMod並且註冊登入

球員名單Rosters--
位置 C:\Program Files\EA SPORTS\MVP Baseball 2005\data\database
可以到MPVMod上下載新的Rosters,目前熱門的版本有UR和KG兩種,推薦使用KG,目前釋出4.1版本,更新到2007/8/1日。下載
更新法:使用MVPedit 編輯匯入或dat覆蓋同樣位置

球員照片 Protraits --
位置C:\Program Files\EA SPORTS\MVP Baseball 2005\data\frontend\portrait.big
至MPVMod下載新版的如 Total Portraits 2007
更新法:使用EA Graphic編輯匯入或protrait.big覆蓋檔案位置

球員臉譜 Faces --
檔案 C:\Program Files\EA SPORTS\MVP Baseball 2005\data\models.big
更新法:使用EA Graphic工具編輯匯入或覆蓋檔案

注意:在檔案覆蓋更新之前,請先備保存好原始檔案,以上為簡易的方法,即可以玩新的球員和有照片

另外進階不只改變球員名單,也改變遊戲其他的如開始畫面、音樂、球場、轉撥、選單等方法,就請到
MVPMod網站上去查詢。而官方玩家已有釋出新版MPV2007的統一更新檔:MVP 07:MLB for PC。一樣需要註冊,此更新適用於英文版的玩家,而中文版安裝會有些微問題。安裝步驟請參考:http://www.mvpmods.com/Forums/viewtopic/t=27808.html

遊戲鍵盤設定筆記:
開啟編輯
C:\Documents and Settings\使用者\My Documents\MVP Baseball 2005\controller.cfg

使用keyboard 2 的設定 配對預設搖桿設定


profile= Keyboard_Profile_2
device= Keyboard_Profile_2
player= 2
number_of_buttons= 0
number_of_povs= 0
number_of_axis= 0
VPAD_VIRTUAL_BUTTON_START= key sc_esc //搖桿開始鈕
VPAD_VIRTUAL_BUTTON_SELECT= key sc_divide //選擇鈕
VPAD_VIRTUAL_BUTTON_CROSS= key sc_k //十字符號
VPAD_VIRTUAL_BUTTON_CIRCLE= key sc_l //圈圈
VPAD_VIRTUAL_BUTTON_SQUARE= key sc_j //方形
VPAD_VIRTUAL_BUTTON_TRIANGLE= key sc_i //三角
VPAD_VIRTUAL_BUTTON_L1= key sc_f //左上1
VPAD_VIRTUAL_BUTTON_R1= key sc_u //右上1
VPAD_VIRTUAL_BUTTON_L2= key sc_q //左上2
VPAD_VIRTUAL_BUTTON_R2= key sc_x //右上2
VPAD_VIRTUAL_BUTTON_L3= key sc_tab //左上3
VPAD_VIRTUAL_BUTTON_R3= key sc_b //右上3
VPAD_VIRTUAL_BUTTON_DPAD_UP= key sc_w //十字方向鈕
VPAD_VIRTUAL_BUTTON_DPAD_DOWN= key sc_s
VPAD_VIRTUAL_BUTTON_DPAD_LEFT= key sc_a
VPAD_VIRTUAL_BUTTON_DPAD_RIGHT= key sc_d
VPAD_VIRTUAL_BUTTON_L_STICK_RIGHT= key sc_d //向右撲球
VPAD_VIRTUAL_BUTTON_L_STICK_LEFT= key sc_a //向左撲球
VPAD_VIRTUAL_BUTTON_L_STICK_UP= key sc_w //向後跳躍或爬牆接球
VPAD_VIRTUAL_BUTTON_L_STICK_DOWN= key sc_s //向前撲球
VPAD_VIRTUAL_BUTTON_R_STICK_RIGHT= key sc_d //右側身滑壘
VPAD_VIRTUAL_BUTTON_R_STICK_LEFT= key sc_a //左側身滑壘
VPAD_VIRTUAL_BUTTON_R_STICK_UP= key sc_w //撲壘
VPAD_VIRTUAL_BUTTON_R_STICK_DOWN= key sc_s //一般滑壘
VPAD_PITCH_1= key sc_k //球種1
VPAD_PITCH_2= key sc_l //球種2
VPAD_PITCH_3= key sc_j //球種3
VPAD_PITCH_4= key sc_i //球種4
VPAD_PITCH_5= key sc_u //球種5
VPAD_FIELD_PICK_OFF_THROW_FIRST= key sc_l //牽制 一壘 (需按f)
VPAD_FIELD_PICK_OFF_THROW_SECOND= key sc_i //牽制 二壘
VPAD_FIELD_PICK_OFF_THROW_THIRD= key sc_j //牽制 三壘
VPAD_PITCH_OUT= key sc_k //Pitch out
VPAD_THROW_BALL= key sc_space //投壞球(搭配投球方向和球種)
VPAD_INTENTIONAL_WALK= key sc_g //故意保送
VPAD_INTENTIONAL_HITBATTER= key sc_h //投觸身球
VPAD_PITCH_HISTORY_OPEN= key sc_tab //觀看投球紀錄
VPAD_SWING_NORMAL= key sc_space //揮棒
VPAD_SWING_BUNT= key sc_b //觸擊
VPAD_CHARGE_MOUND= key sc_c
VPAD_FIELD_THROW_FIRST= key sc_l //傳一壘
VPAD_FIELD_THROW_SECOND= key sc_i //傳二壘
VPAD_FIELD_THROW_THIRD= key sc_j //傳三壘
VPAD_FIELD_THROW_HOME= key sc_k //傳本壘
VPAD_FIELD_SWITCH= key sc_f //防守切換人
VPAD_FIELD_RELAY_THROW= key sc_x //中傳
VPAD_FIELD_CUTOFF_THROW= key sc_x //攔截轉傳
VPAD_FIELD_FAKE_RUNDOWN_THROW= key sc_z //假傳
VPAD_RUNNER_FIRST_SELECT= key sc_l //選擇一壘跑者
VPAD_RUNNER_SECOND_SELECT= key sc_i //選擇二壘跑者
VPAD_RUNNER_THIRD_SELECT= key sc_j //選擇三壘跑者
VPAD_RUNNER_RUNFIRST= key sc_right //跑向一壘
VPAD_RUNNER_RUNSECOND= key sc_up //跑向二壘
VPAD_RUNNER_RUNTHIRD= key sc_left //跑向三壘
VPAD_RUNNER_RUNHOME2SCORE= key sc_down //跑向本壘
VPAD_BASERUNNER_ADVANCEALL= key sc_q //全部推進一個壘
VPAD_BASERUNNER_RETREATALL= key sc_e //全部回壘



---------------
牽制:( f + 傳球壘鍵 ) + 牽制壘鍵 (加傳球方向鍵才可集氣)
如牽制一壘 f+l+Num6 集氣牽制,Num6壓越久氣越滿 (快速 也可能暴傳)
f+Num6 無集氣牽制 (軟性牽制)
Tip:傳球方向和牽制可以設同一鍵 方便按

Pitch Out: f + k
故意保送: f + g
觸身球: f + h
集氣抗議 : i


美技守備和滑壘需要搭配特殊鍵
鍵盤2 左 Ctrl + W,S,A,D
鍵盤1 右 Shift + + W,S,A,D

一壘離壘: Ctrl + W
二壘離壘: Ctrl + A
三壘離壘: Ctrl + S
若前面壘包有人 按離壘 ,前面壘包上的人也會一起離壘

2007年5月5日 星期六

IE watchInFlight Error ,當使用ajax讀取到 的情況

沒有留言:
昨天使用FF和dojo作查詢功能還好好的,今天用了IE後就發生 XMLHttpTransport error callback failed: [object Error] 錯誤 --

一開始沒有用evt full debug還看不出來上面的錯誤,後來才發現這是IE的一個bug
難怪昨天使用firefox還好好的,花了整個下午自己受不了,才慢慢找哪裡不同,最後發現真的是更新處理時放在tr 或 table裡面都會錯誤。最後還是改用div避免tr相關標籤。這次是因為我作查詢的頁面剛好有利用表格才會出錯,先前回傳更新都直接用div就沒問題了。。。

2007年4月22日 星期日

Use dojo for file upload

沒有留言:
最近這一兩天都在處理檔案上傳的部分,對於基本的檔案上傳功能利用Jakarta Commons FileUpload就可以達成,但是要使用ajax的時候我選擇了dojo作為我的web ajax框架。通常在看完dojo的demo後,真是另我感到驚為天人。這麼樣的方便,看起來是省下一些非同步呼叫的語法。

基本上一開始我直接參考的Ajax教學是IBM的一系列Ajax文章,當然你也可以有其他的選擇,像是ajax學習筆記。後來真的開始撰寫我的web form時,是直接使用dojo。dojo是個框架,他是個不錯用的框架,當然也提供一些widget可以使用。在看完dojo getting started的Hello World後,想必對dojo.io.bind();的使用有一定的了解。但是納悶的是如何才能使用upload的傳輸呢transport?很早 Alex's file upload with dojo 已經說明了一個簡單的方法就可以使用dojo.io.bind()來處理有file field的form了。這點非常不容易,他述說上只要加上
dojo.require("dojo.io.IframeIO");
的宣告就可以了。而為何只是一般的dojo.io.bind()無法處理有檔案傳輸的form這點可以參考dojo book Introduction to dojo.io.bind 或Alex所述, XMLHTTP transport無法處理file 傳輸,這點就可以透過dojo的 IframeIO來處理了。但事實上還是發生一些問題,在我實際的使用上發現,問題還有為解決。一開始未加入IframeIO宣告時,是按鈕下去連傳都沒傳就會說錯誤,但是簡單宣告IframeIO後,是可以傳輸給server去作處理了。結果檔案也成功接收獲得,但是在dojo 的callback處理時,就是一直出現error: [object ],這點在Alex上得留言也知道有些人發生,討論的也很熱烈。就是得不到一個完整的解決方式。其中也從

http://download.dojotoolkit.org/release-0.2.2/dojo-0.2.2-ajax/tests/io/test_IframeIO.html

測試IframeIO,結果也一樣有error [object] 回傳處理問題,最後也得知這是一個bug。可以手動從iframe讀取資料。不過當然還有一些細節,server response需要把minetype 從 text/plain 改成 text/html ,再來處理結果的回傳,在server還要以textarea包覆起來。而回傳成html之後,在從iframe中取出textarea的質處理即可。看起來就像:
dojo.io.bind({

formNode: dojo.byId( 'myForm' ),

mimetype: 'text/html',

load: function(type, doc) {
window.alert( doc.getElementsByTagName('textarea' )[0].value );
}

error: function(type, err) {
window.alert("Failure:" + err.message);
}

});
但不要忘了加上一個隱藏的iframe在網頁中,而form的target指向他。
如此就終於可以用dojo來正常運作了。

在此因為dojo跟 file upload有關的中文文章很少,一直沒有很好的實際 source code來參考。搞不好已經有新的解決方式,至少現在我可以正常的處理我的 file upload 和 IframeIO return 了。
而之前一直在傳輸完檔案後的錯誤,的確是因為minetype 設成 text/plain就不行了。

2007年4月7日 星期六

Semantic Web

沒有留言:
在 Semantic Web的研究裡,大家關注的是如何建立語義樹、推理查詢等,有效率的作語議分析。
在知識管理的觀念裡,要建立龐大的知識樹或是知識庫直屬不易。
然而其中佼佼者,Google的發展出來的研究是最成功的實例。

從Web上有效率的搜尋自己所要的資訊,從以前的搜尋引擎,已經進步到利用tag來搜尋。拜Web 2.0所賜,因為多媒體(書籤、照片、甚至影音),除了文字格式外,難以用語義來搜尋,所以用tag附註變成一種新的方式。利用tag來標註,便可以替這些多媒體附加些語義,用以搜尋。並增加搜尋引擎的敏銳,達到正確性而過濾不必要的資訊。

在數位學習的語義研究裡,有一方面就是把教材內容加上註解,建進知識樹或語義樹裡,然而加上語義的分析和搜尋推理,一句問話把它拆解成各種辭類,並而依照辭性來做判斷推理,甚至註解的東西會變成搜尋的關鍵字,成為回答問題的搜尋關鍵。

如今再看看Google NoteBook 服務的發展,就知道 Google未來下一部想做什麼了...
利用 Web 建立全球的知識庫,未來網路是可以自動回答問題的,人工智慧底下一部份。
這也是因為他們已經有良好的搜尋引擎作後備支援,Google NoteBook 未來是可以加值的。

2007年3月27日 星期二

寫程式當思做文件之苦,作文件當思需求和程式架構正確

沒有留言:
最近忙於老師一個OpenSource的計畫,要引入CMMI
計畫已經到達期中階段,要交系統規劃報告書。
而延續上一份系統需求書所往下走,這份規劃書是份量最重的一個
因此讓我喚起大學所學,有感而發,當初也寫了不少文件。
當初在學習的時候,其實完全沒有系統架構的感覺,
因為沒有經驗加上老師批改的嚴厲,時常可能上台被電。
然而這次計畫至少有附帶另一個系統文件來參考,
加上沒有程式撰寫的時程壓力,在我經驗的累積下
現在寫起來確實比之前得心應手。

我忘了原來以前文件都是同學寫的,我都是在coding喔。冏

這次計畫剛好又是種反向工程,其實以前學長程式寫完了,我們把他文件化而已
不過卻發現為了畫比較好看的系統架構描述和分層架構,反而增加了原本程式原本沒有寫的地方。
這不是新增加使用者的功能,卻是開發者程式撰寫時應該需要劃分的架構。
也算是把他變得有介面架構一點的結果吧。相對而言類別多了一些。
基本上還是要有一點MVC的感覺。就只是有分一些子系統和模組了。

這次有仔細描述的文件,應該不至於被評審批改的太兇。
當然姑且不論需求規劃是不是寫的正確的。文件對應程式的正確性應該不差。
其他是編號和需求規劃描述的地方,只盼同學修改回上一份去了。

2007年3月15日 星期四

軟體園區

1 則留言:
最近忙於填選志願役的預官/士,弄的自己腦袋混亂
最終還是找上了國防役,就這樣跑到104 看看每天有哪些公司在徵人...

話說南港軟體園區,從我第一次見到時,就是一整塊園區,由許多聳立的高樓所組成
遠遠看過去就非常壯麗,很像新竹的大樓一樣。
特別的地方是大樓的電梯需要使用電子卡才能搭乘。當進到裡面的公司時,門禁安全管理非常多,需要配帶識別證才能進入,同一樓層進出的門,就需刷兩到三次。如果沒人帶還真出不了門。
這讓我想到n年前日劇 "發達之路",裡面所描述的大樓景觀一樣,搭配透明玻璃電梯營造出華麗大廈,越高樓層象徵權利越大,市井小民各個努力爬爭,希望到向上的樓層。而同樣是軟體公司的話,又讓我想到前鎮子的"為愛向錢衝"那番情景,一樣是從窮苦人家,懷抱志向一路向上爭游。
這又是很日本的宣揚主義,帶著日劇的宣揚,一邊告訴國人激勵向上,一邊向海外宣傳日本公司的敬業態度和壯麗的公司大廈。


日本六本木 森大廈













當然我們這邊樓層越高不一定代表權利越大...

2007年2月26日 星期一

回到桌面軟體~.~

2 則留言:
Vista
IE7
  • IE7Pro - 擴充你的IE7進階功能,改善安全性,追進Firefox
Google

好用工具
  • WikiPad - wiki風筆記本
  • Wink - 製作網路上 flash demo 好工具
  • Foxit - 免費的PDF Reader,比adobe 輕便
找新軟體

2007年2月12日 星期一

部落格玩漫畫-- Vamos

沒有留言:
最近看慣了Google的網路服務後似乎太過嚴肅
現在發現在 msn live 專家能量魔法介紹下也出現一個新的服務
也就是 Vamos ,教學使用可以參考輕輕鬆鬆自己做漫畫

似乎她是建立在Gallery live 的小程式,這個widget不需要特殊登入即可使用
也提供一個網路空間可以讓你分享作品Vamos

2007年2月4日 星期日

XMI mapping to XML, 用 XSLT

沒有留言:
預官考試結束了,別人正在放年假的時候,我剛好有時間可以趕工一下進度...
我的工作其實比較像XML 整合 整合 在整合,編輯器 存庫 檔案,真是名符其實的中介軟體呀

xsl 是 XML Style Sheets,當要使用xsl ( XML Style Sheets)的轉換時,一般用網頁瀏覽器支援的xsl 轉換已可,即是像css幫html着裝一樣,撰寫xsl然後依附在xml檔案連結來着裝。
詳細可以觀看 w3school的範例如: http://www.w3schools.com/xsl/cdcatalog_with_xsl.xml
本身是讀xml檔,但是會載入xsl 樣式來呈現。這個簡單的做法是靜態的,好處是不用寫到程式,而只要寫一個style sheets即可透過IE 或 firefox 瀏覽器來讀取樣式顯示。

但是xsl的使用不僅僅於此,利用其中的xslt甚至可以把xml給轉換成另一種形式,不過這個轉換所需要就是支援xslt的parser和程式工具才能隨心所欲的利用 xsl 轉換。這點跟使用 dom 、SAX不同,因為你只要xml和 xsl檔 丟入程式,就可以依據xsl的檔案去轉換,不是直接把 xml編輯過程寫在程式裡。例如我們使用 apache Xalan Project 來幫我們做轉換的工作,它必須支援xslt、xpath等。你只要寫幾行轉換程式就可以利用xalan 來幫我們工作,xalan之好用jdk 1.5之後就有內入其中了。

接下來要使用UML/XMI了,依照發現目前支援XMI工具雖多,但是XMI內容無法規定到完全依樣的格式,所以每家的tool 轉成XMI都會有些微格式不相容,大概是XMI還在訂定的關係。以下是些 XMI支援的工具:
  • rational rose 2002/2003 需要安裝xmi addins,只支援到 UML 1.3 XMI export,有1.4的無法匯入
  • Eclipse 建模框架(EMF)但xmi格是挺怪的,找不到直接匯出成
  • netBeans MDR (自從3.6版後就找不到了更新的樣子)
  • hyperModel
  • Poseidon for UML
  • Codagen
  • jdeveloper 10g
感覺支援最好的是rational rose和 jdeveloper 10g,不過後面四項還沒實際用過。

有個原來會做的SVG ,似乎可以用了

相關網址:
Working XML: UML, XMI, and code generation, Part 1~3
UML SVG
在 Oracle JDeveloper 中通過 XMI 開發 UML 圖表
http://xml.apache.org/xalan-j/samples.html
Using JDOM and XSLT

2007年1月25日 星期四

就叫它 預官的一週吧!

沒有留言:
正巧,當每次有閒的時候,準備預官考試都只剩下整整一週
當初如此,想不到這次想早點準備都不行,今天開始就叫它
預官的一週吧,垂死掙扎的一週吧 XD。

不過剛發現Blogger的"文章標題" 變成了 "書名"????












這挺怪的,反正google有時候用語已經大陸化了,不管它。

懶人包的懶人包
由 bbs ptt 上鄉民用語產生而來的名詞
多重觸控
看過者 無不稱奇跟 iphone 有關,彷彿是關鍵報告電影一般
提到這個是剛好實驗室有人要買觸控式螢幕 . . .
eXist
Java based 的 XML File 資料庫 是 opensource 的
使用XQuery語法,實現了w3c的XML 資料庫理想。
其實只要是以Java 而有釋出的套件 通常是open 的
不必強調 opensource 因為binary code關係,
本身無法防治decompile source code被瀏覽
大家釋出套件時,基本上會附帶原始檔
除非是商業使用的套件軟體,他們會盡可能保護。

伊蘇之始源
最近突然在玩的遊戲,極好玩的ARPG,講求故事據情和過關,
這次交代了歷史前半段的緣由,伊蘇迷不可錯過。


昨天有兩位在職的數位學習班口試完,
老闆要我們來整理一下一位做的office addins的相關東西。
另一位作blog註解的,好像不太work,只架一個blog全班用實在是不夠力阿
每人一個blog,全班再利用 web rss reader來匯集訂閱才是王道,最好自己能寫個
web rss reader系統,直接大家使用來訂閱每個人的blog就更強了,
最好有支援OPML來分享訂閱,要分散式有分散式,要註解就加到reader系統上的功能就好了。

2007年1月14日 星期日

網摘 2007-1-14

沒有留言:
Wiki
宜蘭縣自由軟體推廣 Wiki
使用MediaWiki(php)。此外裡面有個東西太神奇了--遊戲版,這怎好像沒人管理。
台大 CSIE Wiki
有web 2.0風格的wiki ,樣板還蠻多樣漂亮的,使用doku wiki (php)。有空可以玩玩看

為何 Java 7 要加入 Closure Xexex
這樣寫起來彈性好像變大了,不過跟我認知的數學的 Closure 不太一樣。

iphone
Apple iPhone
iPhone 與使用感
iPhone 雜感1--好設計,不是廠商說了算
iPhone雜感2-- iPhone其實並不iPod
這真是太神奇了,可預見某老師推出後一定會買
重點是他是電話,這比ipod買的人應該還要多
因為每個人都需要電話,而他還能聽音樂的話....

[影片]施主席的轟趴_落跑的人
這...

google password 為你密碼打分數
有人討論原理 但不管怎樣為了你密碼安全 網址列因為用get傳遞,最好不要亂試自己的密碼

披著Yahoo皮的Google首頁
大概是某個google 迷的巨作

Vista的服務強化機制

最近4i很紅,不過我認為除vista外,
其他wii wimax iphone 短期還見不到能影響我們的感覺,
除非股票族。
因為距離上市最近的vista 月底就會登場
wimax技術講很久 還沒有看實際的產品
iphone台灣上市 據說要到2008年了?
wii則台灣目前沒貨

2007年1月10日 星期三

微軟Vista

沒有留言:
今天中午沒事閒閒來到lab剛好遇到微軟Vista的演講,當然抱著好奇的心理跟同學跑去聽看看。
講到vista一開始以為只是漂漂亮亮幾個吃資源的介面所組成,沒想到微軟受到 google desktop之競爭,備感壓力竟然也改善了怎個作業系統的介面,重點之一就是他無所不用其極的加入search 有如 anywhere的功能,不只文件可以快速search(就像看到內建的 google desktop 的影子一樣,且也是靠建立index),連程式也可以用它的 search 功能快速開啟,開始列變成了命令列一樣強。

文件預覽的效果更是不用說了,我想先加個1G ram和更新顯卡再來玩玩。另外windows slidebar這個東西,簡直跟google desktop的sliderbar異曲同工之妙? ,而黑色小小的玩具程式,彷彿簡直看到Yahoo widget 了。還好講師有說Yahoo的比較好。。。果然微軟喜歡整合各家的優點

其他重點一樣是圍繞在作業系統的功能,我比較喜歡的是文件搜尋的功能,因為好像是內建了google desktop一樣,而搜尋結果可以存成檔案,下次再用。另外Vista據說他改善了執行程式執行的效能,讓你的背景程式資源占比較少,而正在跑的程式會比較快,這大概是記憶體的分配。
而據說他還採用了新的技術可以使以後的隨身碟接入後變成你的cache,這真是傑克太神奇了,不過他有說要你的flash disk傳輸達10mbps,這大概就是微軟概念股的產生了。促進硬體生產??

其他還有介紹就是融入了MCE的功能、IE7的特殊功能和wmp11的功能等,另外Vista可以整合xbox360控制等。

我想重點是大家期待的校園授權版何時可以拿到?計中大約是二月囉,不過先是一波記憶體和顯卡的升級大戰,NB則需要有貼相容Vista 升級的才可裝的起來。

2007年1月8日 星期一

NetBeans 5.5使用心得

3 則留言:
今天一早就看到hate版上有人說 師大工業科技教育系的網站 http://www.ite.ntnu.edu.tw
出現怪怪的頁面 http://www.ite.ntnu.edu.tw/index.htm
看起來很有趣吧,大概被駭了。連首頁都看到asp的vbscript模樣。
師大還真是容易被駭的對象 =.=

題外話結束還是來寫寫NetBeans使用心得吧...
說起NetBeans 最近真有比較進步了。擺脫3.6版那時候難看的模樣。痾,應該說還在開發階段。
從4.0版到5.5版,進步真是蠻多的。如果說已經在用eclipse了,未何還用netbeans呢?
我只能說是興趣吧。當初選用IDE時,我第一個使用的是 JCreator,
這是最容易上手的IDE,預設的語言highlight,看起來最漂亮,用起來順眼。
執行效能,比方說開啟一個檔案比起其他的軟體都快很多。因為它是用c++寫的,
比起 java based的 ide ,整體感覺都比較快。不過隨著專案發展的複雜度變大。
IDE發展的進步,有支援ant、cvs 和 code template、 code complete和code folding等
需要的設定變的比較複雜,這時候就換Eclipse或NetBeans上場了。
當然IDE發展最快的巨大怪物JBuilder也是佼佼者。但是因為JBuilder系統需求關係,
所以使用 Eclipse 變成熱門的開發工具。既是IBM丟出來,又提供良好中文化和擴充支援。

當初想找比JCreator功能更好,程式碼色彩顯度漂亮的IDE是主要考量,再來才是一些功能。
像是那時候當紅的code folding功能等等。

說到NetBeans跟Eclipse最主要的不同,我覺得最主要的不一樣是他們的專案開發方式。
Eclipse跟大部分IDE最大不同是,他使用jre驗證錯誤,在寫的過程就會自動編譯來除錯。
這把編譯式的Java 變成直譯式的感覺。且通常寫完無錯誤時,.class 也自動產生了。

使用NetBeans的不同是,當初用起來比eclipse好上手。在classpath或程式庫的支援上,
當初只要掛載目錄就很方便抓到所有的 jar檔。而現在他們進階改成用 ant 部署為基礎
來開發,讓你沒有IDE時 ,也能透過 build.xml 來編譯和產生jar、javadoc等等。
這點是我一直想在eclipse尋求方法時,找不到完整支援的方式。除非取消他的 pre-compile
而我想在不同IDE找到一個相容平衡點,就是利用build.xml 方式部署。甚至可以有支援
圖形化介面讓自己編寫客製化的 build.xml 方式最好,不一定都是要完整複雜的build.xml檔。

當java最麻煩的package classpath 部署解決,IDE好用的地方就是其它他的輔助功能。
以下列出IDE 常用的輔助功能

基本

程式碼自動完成
程式碼範本
程式碼摺疊
Javadoc查詢
程式碼自動排版
錯誤提示修正 code assistant

進階

自動產生get/set methods
快速加入註解
快速加入 import 所需 package
快速加入 try catch 例外處理的呈述式
快速加入繼承、實作覆寫方法

其他

新增J2EE Project (Web 專案等)
圖形化編寫 xml、properties、GUI等
設定server 、tomcat runtime環境等
連結至資料庫設定含查詢功能

NetBeans很多功能預設就已經有了,不需像 Eclipse每次都要自己另外裝擴充
專案放置的位置也不必一定要放在workspace。彈性比 Eclipse好許多
而使用方式可以參考NetBeans 幾分鐘 demo
Abbreviations
Edit Hints
Code Completion
Navigation
Source Tools

有些code template和code assistant
有起來是不是很神奇呢? 大概受到 Ruby on rails 刺激吧
說起NetBeans唯一缺點大概就是目前還沒有繁體中文版吧。

2007年1月4日 星期四

security-constraint - tomcat

沒有留言:
Security Constraint 是 tomcat 一種有趣的設定方式,
這是tomcat 他 container 內建的安全機制。
使用預設BASIC的可以是

<security-constraint>
<display-name>Security constarint</display-name>
<web-resource-collection>
<web-resource-name>Java Application</web-resource-name>
<url-pattern>/folder/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tomcat</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>OnJava Application</realm-name>
</login-config>


登入利用tomcat-users.xml

Tomcat Web 限定IP存取

沒有留言:
再又一次回到 Tomcat 來玩它的安全性設定時 ,
發現有一個不錯的功能,也就是Valve
tomcat configuration 文件也有相關說明,
他可以方便你 filter 特定的主機存取
使用設定還蠻簡單的,他可以在(Engine, Host, or Context)加入設定,
例如只要在Context裡加上
<Context path="/path/to/secret_files" ...>
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
    allow="127.0.0.1" deny=""/>
</Context>

這樣就只能在127.0.0.1 IP下存取該資源。
如果沒指定 deny 樣式,則只會允許符合allow的樣式,而拒絕其他的樣式,反之亦然。

2007年1月1日 星期一

Java 物語

2 則留言:
有人說 Java 就是一堆名詞 ,這道盡了走入 Java 世界後有多麼繁多的專業技術要學習。
或許有些不是那麼重要。不過慢慢跨入 Java 世界的同時,一堆障礙一一浮現漸漸擋在你眼前。

如果拿求學的階段來比擬 Java 技術的養成學習的話,基本語法算是小學低年級。你可以寫 applet、awt、 swing 當回家作業,繼承、封裝、多型是告訴你世界的長相,存取scope教你怎麼交朋友。而執行緒是你的體育課。最後SCJP就是你的期末考試。

接著學習Jsp/servlet 使你從小學跨到中學,J2EE會成為你的學校,你學的東西比小學想像的還多,Java beans、java mail、jdbc、Design Pattern 這些都會成為你的回家作業,你總是有寫不完的回家作業,考不完的試;你需要學得隱含物件、EL、JSTL這些字彙,然後你還是要準備SCWCD期末考試。

當你想再往前跨入大學時,這時候你會跑jakarta project補習班,
另外SCJP、SCWCD是你的準考證,進到大學後 struts 老師就開始考驗你的耐心,
你會覺得 spring 學長是多麼受新鮮人歡迎的,hibernate 好像你的女友,改變了你的想法。
再來你可能會想修 jwsdp 輔系,面對 thinking 、effective可能是你啟蒙老師,有時候修課老師會突然丟個像 JSF、EJB 的東西當你的苦作業,而當你發現 json、ajax、ruby on rails 後,這會讓你驚訝懷疑得說, "他們作弊!" 。 最後老闆內心偷笑,才會跟你講,有個叫 POJO 的東西。

關於EJB,你的老闆說,想作學術研究的再來吧。

以上是看到下面文章後的出發奇想,其實不怕新名詞,只是怕沒時間學
這時候我想,怎沒人要出一本 Java 辭典。

《POJOs in Action》最佳J2EE減肥寶典