Feeds:
文章
留言

Archive for 九月 6th, 2005

耶穌的僕人哲學

最近看「中信月刊523期的"爭相為大"-沈萌華」覺得有些感想,寫此篇文章留做註記。
 
本篇文章最有感受的是引用聖經太20:27"誰願為首、就必作你們的僕人",這句話說的白話一點,就是如果你要當一個領導者,就必須預備心為眾人服務,也就是管理學上的僕人式領導風格。這個領導風格在於不是命令管理下屬,而是以僕人對待主人的方式供應下屬所需,使他能夠甘心為你賣命,也就是攻心為上。耶穌為門徒洗腳就是一個相當好的典範,他不以老師的身分高高在上,而謙卑自己細心為他的學生服務,使他的學生能夠感受到耶穌的用心。
 
 
 

Read Full Post »

分離與耦合

近來工作上的技術已經能夠掌握,也比較能夠以自己的設計思維來設計系統,另外,也因為發現Javascript可以使用OO來設計(雖然不像C++嚴謹),所以,我一直再嘗試將部分常用的元件以 Javascript 來包裝,使得 DHTML 的設計可以如同Windows設計上靈活彈性。舉個例子來說,如果我需要一個按鈕和一個標籤,我可以利用CButton 和 CLabel 類別來完成,如下:
 
<label for = ‘btnAdd’ id = ‘lblMessage’></label>
<input type = ‘button’ id = ‘btnAdd’>
<script type = ‘text/javascript’ src = ‘OOHTML.js’></script>
<script type = ‘text/javascript’>
<!–//
var btn = new CButton(‘btnAdd’);
var lbl = new CLabel(‘lblMessage’);
btn.setText(‘hello’);
btn.OnClick(
  function (){
    alert(‘hello, javacript OO’);
  }
);
lbl.setText(‘click button’);
//–>
</script>
 
 執行結果
設計一個簡單的程式,點按鈕就會出現訊息 ‘hello, javascript OO’
從這個簡單範例中可以看到,這個程式的設計和一般 Windows (ex: C#)上的設計風格很相像,當然Windows上有 Form,上面的範例沒有,基本上我也實作了 CForm,不過還尚未達到我的想法,但仍堪用如下
<form id = ‘frmTest’>
 <fieldset>
  <legend>OO測試</legend>
  <label for = ‘btnAdd’ id = ‘lblMessage’></label>
  <input type = ‘button’ id = ‘btnAdd’>
 </fieldset>
</form>
<script type = ‘text/javascript’ src = ‘OOHTML.js’></script>
<script type = ‘text/javascript’>
<!–//
 CFormEx = function(id){
  this.base = CForm;
  this.base(id);
  var btn = this.getButton(‘btnAdd’);
  var lbl = this.getLabel(‘lblMessage’);
  //var btn = new CButton(‘btnAdd’);
  //var lbl = new CLabel(‘lblMessage’);
  btn.setText(‘hello’);
  btn.OnClick(
    function (){
   alert(‘hello, javacript OO’);
    }
  );
  lbl.setText(‘click button’);
 };
 var aform = new CFormEx(‘frmTest’);
//–>
</script>
 
 
 
以上的範例只是說明,我個人覺得相關元件包裝成類別後,可以有效的重複利用,協同作業也會比較方便,開發上也較為彈性。而且元件包裝後,要組合建立一個新的元件也更容易,以我目前案子中常用的日期選擇(由三個ComboBox組合),我以 OO 的方式包裝成 CCalendar,我使用上只需要
var aDate = new CCalendar(‘begnDate’);
aDate.initComponent(); // 產生 UI
aDate.setToday();// 將日期設定為今天
alert(aDate.getValue()); // 取得目前的日期 yyyy/mm/dd
 
var aDate2 = new CCalendar(‘endDate’); // 第二個 Calendar
aDate.initComponent();
 
上面的範例是連同 UI 的部分一同包裝,使得設計上可以輕易的建立多個相同物件。充分達到’重複使用’的效益。且包裝後的網頁大小也能縮小,在網路傳遞所需的頻寬也能降低。
 
上面說明包裝後所帶來的效益,但是負面影響呢?
第一個副作用也是一般OO的副作用"效能",不過我覺得這個問題會漸漸的不存在,因為Javascript是屬於Client端的技術,且現在的硬體技術又相當的發達,這個OO的效能將會逐漸不存在。
 
第二個是元件的設計需要花費而額外的時間來設計,不過從長期的角度來看,這個投資是值得的,但是有個前提是這個元件的重覆使用率很高,如果使用率不高,是否需要發費時間去特別包裝城物件,這個是需要評估的。舉個例來說,如果你只是需要點選按鈕時將網頁導向 http://www.google.com.tw,是要採用下面哪一個呢?
1. 寫一個繼承 CForm 的類別,並在其中包裝這個按鈕
2. 直接使用 CButton 包裝這個按鈕
3. 用傳統的 DHTML 寫法,<input type = ‘button’ onclick = ‘document.location.href=http://http://www.google.com.tw’&gt;
 
從開發時程的角度來看是 3 最快/2次之/1最慢。但是從系統維護的角度來看,1是最具有彈性/2次之/1最差。所以,並沒有那一個好那一個差,只是很單純的看你的考量如何。
 
分離好還是耦合的好呢^^
 

Read Full Post »

摘自 toget 軟體週報
 
 GreatNews - 智慧型 RSS 閱讀利器

軟體:GreatNews(版本:1.0 Beta)
類別:News閱讀
性質:Freeware(921 K)

【編輯/王國淵】

你知道什麼是 RSS 嗎?如果還不清楚它是什麼,那麼就讓筆者來告訴你吧! RSS 是一種網路新聞發佈格式,它能夠將每一則新聞以簡短的標題搭配時間發佈,當 RSS 閱讀器來更新時,就能夠經由快速地比對為使用者取回最新的資料,如果使用者對於索取回的某一則資料感到興趣,只要進一步點選就能夠再為使用者取回完整的內容。而這麼方便的新聞發佈格式目前正被推廣到新聞、網頁、部落格以及郵件之上,目的就是要讓使用者在這資訊爆發的時代能夠迅速吸收新知。

想要閱讀 RSS 資訊,你當然得要有一款好的工具,筆者所要推薦的 GreatNews 就是 RSS 閱讀工具中的佼佼者。它除了是一款完全免費的工具外,還具備了綠色軟體的特性,讓使用者不需要安裝,只要解壓縮後就能立即使用。而 GreatNews 具有良好的操作介面,讓使用者能夠快速上手,且即使你已經累積了數十萬筆資料,它也能夠迅速地啟動與閱讀,這些特性可不是每款 RSS 閱讀器都做得到的喔。

此外,GreatNews 還具備了頻道匯入、匯出、定期整理資料以及內建瀏覽器等功能,讓使用者只要在 GreatNews 中就能夠完成所訂閱頻道的閱讀,不需要透過一堆工具麻煩地互相切換。而這麼方便的工具還具有多語言支援特色喔,使用者可以依照自己的需求來選擇所要使用的語系。如果你還沒有選定一套 RSS 閱讀工具,那麼 GreatNews 絕對是一款不容你錯過的好工具喔!

下載:
http://toget.pchome.com.tw/intro/network_news/24344.html

Read Full Post »