星期二, 二月 23, 2010

MapReduce 是什麼 ?

這個 MapReduce 是一種演算法 ( Wikipedia 上是用  Framework )是源自 Google 在  2004 所發表的一篇叫做「MapReduce: Simplified Data Processing on Large Clusters」的論文,就如它的標題所說的一樣,這是一個用在大型叢集環境處理的大量資料的一種軟體架構,是 Google 用在它的搜尋技術的演算法之一。演算法 ?? 好遙遠的東西哩 ! 不過拜雲端運算興盛之賜,這種演算法己經充斥在我們的身邊,而且是快到了隨處可得的程度了。

星期六, 二月 20, 2010

Line-Of-Business ( LOB ) Application 是什麼 ?

把生產製造作業、會計作業以及供應鍊等之類的企業重要作業流程視成是組成企業的一條一條的線就叫做 Line-Of-Business ( LOB ),而應用在這些上面的軟體應用系統就叫做 Line-Of-Business ( LOB ) Application。
因為這些 Line-Of-Business ( LOB ) Application 大多指的是企業內重要的軟體應用系統,所以,後來就用 Line-Of-Business ( LOB ) Application 來代表企業重要的軟體應用系統,而不用一個個的把這些系統列舉出來哩 !

中華電信提供的免費 QR-Code 產生器

阿舍在找 QR-Code 的資料時才發現,原來中華電信已經有提供一個網頁版的免費 QR-Code 產生器個產生器提供了包括電話、網頁、簡訊通訊錄等的各類型 QR-Code 產生功能,而且還可以選擇產生的 QR-Code 圖型的大小,產生後按下面的下載條碼就完成了,很方便的哩 !

關於 LIME 輸入法的另類用法

雖然 LIME 輸入很麻煩,需要自已建立匯入輸入法對應表,而且匯入的時間也有點久,不小心還會失敗 ( 阿舍就是試了二次才成功的,而且真的花近 30 分鐘才能完成哩 ! ),不過這也是它的優點之一,就是可以完全的自訂輸入法,也就是說,使用者可以自定出另一種輸入法,或是建立更多自用的快捷輸入方式。
所以說,阿舍覺得 LIME 輸入法應該是真的比較像是一個純的輸入法平台,只要有各種輸入法對照表,那它就可以變成各種輸入法哩 ! 這是和一般輸入法軟體不同的地方....。
本圖片取自 LIME 官網

Goolge Android 手機的倉頡輸入法 : LIME vs HKIME

阿舍的注音是非常爛的,總是拼不出是第幾聲,所以就只好學倉頡了,可是,這些年來,大部分的手機都沒有提供倉頡輸入法,阿舍總是用的很辛苦,沒想到這個 Google Android 手機也沒有內建倉頡輸入法,真是令阿舍失望哩 !
還好,有二位心人事寫了輸入法的替代程式給 Google Android 的手機用,一支是台灣寫的 LIME ,另一支則是香港寫的 HKIME,這二支都可以從 Android Market 免費下載,不同的是,LIME 不含輸入法對應表 ( lime 檔 ),下載後,使用者要自己建立 lime 檔找人家建好的來下載,而 HKIME 就簡單多了,下載安裝後就可以直接用了,除了倉頡以外,還有速成和拼音哩 !
阿舍二種都裝來試了,阿舍很喜歡 LIME 的鍵盤設計,比較像傳統鍵盤,感覺很容易點的到,而且可以設定把數字鍵放在鍵盤的最上面,所以,敲數字就不用換鍵盤了,還有,目前只有 LIME 有提供 關聯字的功能。


而 HKMIE 的好處除了安裝設定容易和內建多種輸入法外,還有的就是在鍵盤上就有一個按鍵可以切換輸入法,很是方便的。

星期一, 二月 15, 2010

Flash 和 HTML5 的戰爭

大家現在也許都和阿舍一樣,都已經習慣在瀏覽器安裝 Flash 的外掛,這樣才能播放一些有動態效果的東西,但是,如果可以不用另外裝外掛就可以播放這些動態的影片和動畫,那不是更好嗎 ?  新一代的 HTML5 標準將會加入撥放動態影片的功能,所以,只要使用的瀏覽器有支援 HTML5 標準,不用額外安裝外掛就可以播放影片了,這樣的作法就嚴重的影響到 Flash 的生計哩 !
不過,HTML5 的標準目前還在訂定中,各家瀏覽器對於支援 HTML5 標準的態度也有點分岐,但是,以目前的情況看來,HTML5 早晚也是會有個定局的,所以,有人會持續的支持 Flash,也有人會大力擁抱 HTML5 而摒棄 Flash這兩派人馬還會再纏鬥好一陣子吧 !
阿舍會支援那一邊呢 ? 呵 ! 阿舍還沒好好學會 Flash,所以,當然是會選 HTML5 囉 ! 只是...不曉得 支援 HTML5 的瀏覽器,何時會出現囉 !!

星期日, 二月 14, 2010

Lotus Domino/Notes 和 Microsoft Exchange 的不同 ?

為什麼要拿 Lotus Domino/Notes 和 Microsoft Exchange 相比呢 ? 因為它們都有提供當作郵件伺服器 ( Mail Server )的功能,而且,包括 IBM ( IBM 在 1985 年併購了 Lotus ) 自己也不知道為什麼的,常把 Lotus Domino/Notes 和 Microsoft Exchange 相比哩! ( 呵 ! 阿舍就是覺得怪... )
基本上來說,Lotus Domino/Notes Microsoft Exchange 是兩個完全不同的產品,Microsoft Exchange 的功能就是郵件伺服器,它只做作郵件管理這件事,而郵件伺服器對 Lotus Domino/Notes 來說,只是它眾多功能之一,Lotus Domino/Notes 的主要用途是拿來當做企業內部協同運作的一個平台,除了郵件以外,還可以快速開發應用系統,所以,Lotus Domino/Notes 除了有郵件功能外,它還是一部目錄服務伺服器 ( Directory Server ) ,網頁伺服器 ( Web/HTTP Server ),憑證伺服器 ( CA Server ),文件資料庫以及應用程式伺服器 ( Application Server ) ...。
所以說,如要選用 Lotus Domino/Notes 來用,當然是有考慮要應用它的協同作和整合的功能,不然,花那麼多錢買的那麼多功能,卻只拿來當郵件伺服器,那就真的不划算了,還不如用 Microsoft Exchange 或是 Linux 的郵件伺服器會比較省。

如何查看 svchost.exe 在跑些什麼程式... ?

阿舍知道有些病毒會靠 svchost.exe 來運作,但是,svchost.exe 不一定就是病毒,因為 Windows 有很多的 "服務" 都是靠這個 svchost.exe 在運行的,阿舍通常是在查看「工作管理員」時,如果感覺這個 svchost.exe 的數目太多時,就到 會到「命令提示字元」( 阿舍的那個年代叫做 「DOS 視窗」) 用下面的指令來查看這些 svchost.exe 到底在跑些什麼東東,減少一些被種病毒機會哩 !
tasklist /svc
如果覺得用上面的指令會看不清楚,那就用下面的指令來一行一行的看。
tasklist /svc | more

星期三, 二月 10, 2010

如何查看 Javascript 產生的 HTML 元件 ?

就阿舍所知,IE 內建的功能應該是沒有辦法的,所以,每次要  Debug 由 Javascript 動態產生的  HTML 原始碼就很痛苦,後來阿舍改用 Apple 的 Safari 瀏覽器之後才發現,這個  Safari 瀏覽器內建就有這個功能,叫做「網頁檢視器 ( Web Inspector )」,在 Javascript 執行完成後到上面選單的「開發人員」>「顯示網頁檢視器」,這樣就會跳出一個視窗,左邊出現的就是所有網頁的 HTML 元件了,點那個黑色三角型就可以一直往下展開了...。


不過,如果遇到是專門寫給 IE 的網頁,那就不行了....。

CKEditor 自定上傳 ( Upload )如何回傳網址 ?

阿舍看了 FCkEditor 的範例來做 CKEditor 的自定上傳,於是就用了 windows.parent.OnUploadCompleted() 這個函數來回傳上傳檔案的網址,結果,怎麼試都不會成功,後來,在 Google 上找了許久之後才發現,原來,CKeditor 3.x 己經把回傳上傳檔案網址的函數改成 window.parent.CKEDITOR.tools.callFunction() 了,難怪阿舍怎麼試都不會成功。

星期一, 二月 08, 2010

可以用在商業用途的開放原始碼授權 ?

目前比較常見的開放原始碼授權 GPLLPGLApacheBSDMIT 等五大開放原始碼授權方式,如果要拿開放原始碼的軟體或程式庫來做商業用途或再授權的話,MIT 是風險最小和問題最少的授權,因為 MIT 只要求要保留原授權許可的聲明就可以了,再來是 BSD 和 Apache 這兩個,它們也都允許再授權,不過都有一些些的要求要符合 ( 請參考這裡這裡 )。
LGPL 是對 GPL 的修改,它針對程式庫的引用提供了商業用途的可行性,不過,如果是軟體或是需要修改原來程式的話,根據 LGPL 的規定,還是不適合商業用途的。最後的 GPL 就更不適合拿來做商業用途了,因為它嚴格的要求繼承授權和開放原始碼,所以對於商業的應用造成了一些阻礙。

星期日, 二月 07, 2010

OpenNTF.org : Lotus Domino/Notes 的開放原始碼 ( Open Source )

阿舍接觸 OpenNTF.org 這個 Lotus Domino/Notes 開放原始碼 ( Open Source ) 的網站已經很久了,只是在台灣似乎不太多人知道的樣子哩 ! 這個 OpenNTF,org 網站上有各種 Lotus Domino/Notes 的開放原始碼專案,它沒有在 IBM 冷落 Lotus Domino/Notes 的那個時期裡消失,而且越來越旺 ( 有超過 250 個專案 ),這是令阿舍滿高興和意外的事。
OpenNTF.org 除了提供各類 Lotus Domino/Notes 的軟體外,也有一些程式庫和框架 ( Framework ) 的東西,對有在玩 Lotus Domino/Notes 的人來說,是不錯的參考學習來源

註: OpenNTF.org 的專案採用 ApacheGPL 兩種開放原始碼的授權。

Lotus Domino URL 的 CreateDocument 和 SaveDocument 有什麼不同 ?

Lotus Domino 有提供 URL 給 HTML 的 Form 當 Action 來建立文件的功能,一個是 CreateDocument,另一個是 SaveDocument,這二個都可以產生文件,但是用途不一樣,CreateDocument 是用在建立一份全新的文件時用,而 SaveDocument 則是用在 EditDocument 之後,也就是用在編輯之後的存檔用的。
阿舍試過了,直接用 SaveDocument 來建立文件是不行的

星期六, 二月 06, 2010

Autonomic Computing : 自主運算

簡單來說, Autonomic Computing ( 自主運算 ) 就是希望把越來越複雜網路運算變的更容易控制與管理,希望可以達到和人類自主神經一樣的機制, 讓網路設備可以做到自我辦識及處理的功能,不同於現存使用一台專門的資產管理軟體來定期檢查每個網路硬體設備,自主運算可以做到更好和有效的管理,不過,要達成自主運算的功能需要更多的軟硬體機制才能達成。
Autonomic Computing 是在 2001 年時由 IBM 提出的,是  IBM Research 的一個專案,IBM 目前計畫將 Autonomic Computing  運用在為軍方建立的雲端運算中。

Python 的 .py 和 .pyc 檔有什麼不同 ?

Python 的程式是寫在 .py 裡,也就是說, .py 檔是 Python 的原始程式碼檔案,而 Python 會在執行 .py 檔時,將 .py 的程式碼編譯成中間程式碼檔 ( byte-compiled ) 的 .pyc 檔以加快下次執行的速度
所以,當你執行一支 .py 檔時,Python 會先看看有沒有這支 .py 檔的 .pyc 檔,如果有,而且 .py 檔的修改時間和 .pyc 檔一樣時,Python 就會讀 .pyc 檔,否則, Python 就會去讀原來的 .py 檔。
要說明的是,執行 .py 檔並不一定會產生出 .pyc 檔,通常是被來做 import 的 .py 檔才會產生出 .pyc 檔的

Shelve 檔和 ZODB 的差別

Python 用的 Shelve 檔 ZODB 都是可以儲存 Python 物件的資料庫 ( 雖說是資料庫,但實際上都是以檔案的方式存在 ),但是, Shelve 檔ZODB 卻有很大的不同,ZODB 在功能上比較接近常見的資料庫ZODB 有支援多人同時存取 ( Concurrent )、交易 ( Transaction ) 以及快取 ( Caching ) 的功能,同時,也可支援 Client/Server 的架構,相對的,Shelve 檔的功能就比較陽春一點,前述的三項性都沒有,不過,不必額外安裝就會有的。

星期五, 二月 05, 2010

用 apt 和 dpkg 安裝軟體的不同 ?

阿舍雖然比較習慣用 apt ( apt-get install ) 來安裝軟體,但偶爾也會用 dpkg ( dpkg -i )來安裝軟體,這二支程式都可以用來安裝 Linux 上的軟體,但是有什麼差別嗎 ?
是的,它們是有差別的,apt-get 會下載和安裝相關的軟體,但是 dpkg 只會安裝個別的 deb 檔,所以,如果拿到的是單一的 deb 檔案,那就用 dpkg 來安裝,如果是放在遠端儲存庫的,那就用 apt 來安裝吧  !

星期三, 二月 03, 2010

Ubuntu 新增 Google 的 APT 儲存庫 ( Repository )

Google 有提供 APT 儲存庫 ( Repository ) 來提供 Google 自家軟體可以經由  APT 來下載和安裝,以下就是把 Google 的APT 儲存庫加到 Ubuntu 的方法:

1.使用 wget 下載  Google  提供的 APT 儲存庫的安全簽章並加入到 APT 的簽章列表中。
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub |  sudo apt-key add -  ( 後面這個 - 不可以漏 )
sudo apt-get update

2.將下列的 Google APT 儲存庫網址加到 /etc/apt/sources.list 的最後面。
deb http://dl.google.com/linux/deb/ stable non-free main  

3.更新 A再PT 的 Source 清單。
sudo apt-get update
上面的動作完成後就應該可以安裝 Google 的軟體了,不過,阿舍試了一下,Chrome 瀏覽器好像沒放在上面哩 !!

另外,如果想用圖型界面來操作的話,請參考這裡

如何清除 Ubuntu 的 APT 下載暫存區及方式 ?

當你使用 apt-get 安裝軟體時,或是使用更新管理員更新時, APT 會把下載的檔案放在 /var/cache/apt/archi/archves 這個資料夾裡來暫存,但是, APT 在安裝之後並不會主動刪除這些檔,所以,這裡就常常會佔用到一堆硬碟空間,卻不容易被發現,如果是像阿舍一樣用 16G 的隨身碟來裝 Ubuntu 的話,那就有點傷哩 !
所以,如果要減少硬碟,就要像阿舍一樣,每次安裝或更新後就來執行一次 Clean 的指令哩 ! 
sudo apt-get clean 

什麼是 Multi-tenant Application ( Multitenancy )?

如果你有一個應用系統 ( 程式 ) 用來服務不同的客戶,而這些客戶用的都是同一台主機,同一個資料庫,同一個應用系統 ( 程式 ) ,只有透過程式設計的方式來讓不同的客戶存取不同的資料,那麼就可以說這是一個 Multi-tenant Application ( 阿舍譯 : 多重租戶應用系統 )。
它的特色在於共用所有的資源,而僅就資料的存取進行控管,因此,相對於每個客戶個別使用一套應用系統來說,Multi-tenant Application 的安全控管會較為複雜,同時也會增加程式開發的負擔,不過,應該是會比較省資源的。

Maemo : Nokia 手機的作業系統

Maemo 的網站上在推銷 Nokia 的 N900 手機,大概就可以猜到這個軟體是和 Nokia 有關的,沒錯,它是 Nokia 用來當作高階手機用的作業系統,不過,它不是阿舍以為的 Symbian OS ,而是道道地地的 Linux 作業系統,所以,它是開放源始碼的軟體,不過,從操作界面看來,阿舍是認不太出來它是 Linux

Maemo 5 是目前最新的版本,所以,它不是一個剛發展出來的 Linux 發行版本,而是 Nokia 已經有用它出過幾支手機的作業系統,只是賣的不好,而且台灣也沒有賣,因此,有注意到的人,應該不多,阿舍那時就沒有聽到過哩 !

如果有興趣開發 Maemo 的軟體的話,可以到 maemo.org 研究研究,Maemo 的軟體也是可以放到到 Nokia 的 Ovi 市集來賣的

星期一, 二月 01, 2010

使用 Google Public DNS 的考量

去年底 Google 提供了位置為 8.8.8.8 和 8.8.4.4 的公開 DNS 服務 ( Google Public DNS Services ),據 Google 自己的講法是說會增加瀏覽的速度,但是它沒有告訴你說會保留你的資料多久,會不會對你的瀏覽資料做保存,這些東西阿舍在 ZDNet 的這篇文章裡都有看到,也許在使用之前應該先看一下,當然啦 ! 如果你是 Google 的重度使用者,那...那就算了...。

星期日, 一月 31, 2010

啟用 CKEditor 的檔案/圖片上傳功能

預設的條件下,CKeditor 是沒有啟用上傳功能的,沒有啟用的原因是因為上傳功能需配合伺服器端的程式才能運做,也就是說,需要有程式來接收上傳的檔案才行,所以,要啟用 CKEditor 的上傳功能只要指定給它這個處理上傳檔案的程式路徑就可以了。
指定的方式是就是在呼叫  CKEDITOR.replace 時,後面除了要有要取代的欄位名稱外,還要再加入上傳程式的路徑設定,以阿舍的後端是連到 "/ckeditordemo.nsf/ckupload?createdocument" ( 這是 Lotus Domino/Notes 的程式 ) 這支程式的範例來說,應該是寫成下面這個樣子的:


CKEDITOR.replace( 'Body', 
{
         filebrowserUploadUrl : '/ckeditordemo.nsf/ckupload?createdocument',
         filebrowserImageUploadUrl : '/ckeditordemo.nsf/ckupload?createdocument'
});

這樣設定之後,再按圖片那個圖示時,跳出的視窗就會多一個 "上傳" 的 TAB 了

星期六, 一月 30, 2010

HTTP Web Server : File Upload Not Allowed Exception

Lotus Domino 的檔案上傳元件 ( File Upload Component ) 都是要用 Domino Designer 來拉的,如果自己在套表 ( Form ) 上用 Pass-Thru HTML 加入 <input type="file" name="%%File.xxxxx"> 來手動增加檔案上傳元件的話,一般情況下都是會發生 500 的錯誤,然後,在 Domino Server 的 Console 裡就會跳出  HTTP Web Server : File Upload Not Allowed Exception 的錯誤訊息。
要解決這問題不難,就是要在 Domino Server 的 notes.ini 裡加入下面這個參數後,重新啟動 Domino Server 就可以了,只是要重開機有時候是不太方便的....。
DominoDisableFileUploadChecks=1

sources.list 的 deb 和 deb-src 有什麼不同 ?

deb 後面接的網址提供的是已經編譯過的軟體套件 ( pre-built packages ) ,就是可以直接拿來執行的版本,而 deb-src  指的是只提供原始程式碼的軟體套件,所以這個是依據 APT 儲存庫提供的軟體類型而定的。

星期四, 一月 28, 2010

使用 blogger.com 增加流量的官方作法

阿舍在研究部落格的 Ping 功能時,找到了一篇放在 Google Blogger 官方網站的文章,叫做「宣傳您的 blog」(中文版),裡面有提到一些 Blogger.com 設定上的建議,如果和阿舍一樣是用 Blogger.com 來寫部落格的話,可以參考考...

Ubuntu 所提供的軟體分類方式

打開 /etc/apt 裡的 sources.list 檔可以發現,每一個網址的最後面都會有 main 或是 restricted 等字眼,這個是在說明這台 APT 儲存庫 ( Repository ) 上所存放的軟體類型,Ubuntu 把軟體分成下列四種類型,主要是以 Ubuntu 的維護支援和軟體的開放程度來區分的 :
  • main : 這一類的軟體是 Ubuntu 維護小組有支援而且一定是可以免費分發的軟體,一般來說是安裝 Ubuntu 起來後就會預設安裝的軟體。
  • restricted :  這一類的軟體是 Ubuntu 維護小組有支援的,而且是大部分的 Linux 發行版本都會包含的軟體,不過,不一定是完全免費的軟體授權。
  • universe :  這一類是包含在 Linux 上最新版本的軟體,但是不保證是安全的,也不受 Ubuntu 維護小組支援 ,同時,軟體授權授也不一定是免費的。
  • multiverse : 這一類的軟體不一定是開放程式碼或免費軟體的授權,也且沒有任何的支援,使用這一類的軟體要自已承擔風險的。

星期三, 一月 27, 2010

30 種增加部落格流量的方法

阿舍在逛網路的現了這篇時候發現了這篇叫做「Blog Project: 30 Traffic Generation Tips」的文章,阿舍花了時間把它看完了,得到了一個結論,那就是,網路上的行銷方式其實和實體的方式相差不遠,那就要透過各種方式不斷的去把去自己的產品 ( Blog ) 推銷出去,只不過,在網路上進行這些事情會比實體來的簡單很多,在網路上的作法就是不斷的在外部網站上創造連結,只要你肯花時間去做這 30 個方式,應該是都會有成效的哩 !

星期二, 一月 26, 2010

CSS 的 Display 和 Visibility 屬性有什麼不同 ?

這個屬性都可以把 HTML 的元件給隱藏起來,但是效果上有點不同,Display 屬性隱藏時,會把整個元件給隱藏掉,也就是說,連該元件原來所佔的位置也會消失,但是,Visibility 屬性就不一樣了,它只會隱藏那元件的東西,但是原來元件所佔用的位置會變成一個空白區域,只是上面的東西不見了。
所以,要看是不是要讓整個元件消失無踪,如果是,那就要用 Display 屬性,不然就用 Visibility 屬性,讓人家知道那裡有個東西,但是看不到東西的。

星期一, 一月 25, 2010

Code Monkey 是菜鳥 PG ?

Code MonkeyJonathan Coulton 寫的一首歌,內容是在描述程式設計師 ( PG: Programmer ) 的悲若工作心情,後來就被用來形容會寫程式但是不懂的系統架構和系統分析的程式設計師,其實,不一定是指菜鳥的程式設計師,只是,菜鳥的程式設計師大多不懂的系統架構和系統分析的。

The Linux Game Tome : Linux 遊戲大集合

The Linux Game Tome 是一個專門收集 Linux 遊戲的網站,資料更新的速度也滿快的,重點是裡面的遊戲都還不錯,而且有很多玩家都會回來寫一些評論可做為下載的參考,同時,網站上的遊戲也會針對下列項目列出其遊戲支援的功能:


  • Sound ( 支援音效 )
  • Play in X ( 視窗遊戲 )
  • Play in Console ( Console 遊戲 )
  • Multiplayer ( 支援多人 )
  • Network Play ( 支援網路連線 )
  • 3D Acceleration ( 支援 3D 加速 )
  • Source Available ( 提供原始程式碼 )

如果想找一些 Linux 上的遊戲就可以到 The Linux Game Tome 去找找看,不過,阿舍覺得它的網站做的實在是有點陽春而且阿舍操作起來,不太順哩 !!

星期日, 一月 24, 2010

Ubuntu 官網提供的幾個好用網站

          提供搜尋可使用在 Ubuntu 各個版本的軟體資訊。
          提供 Ubuntu 官方說明文件。
          提供 Ubuntu 相關的教學影片。
          加入 Ubuntu 的郵件列表 ( Mailing List )。
         Ubuntu 的郵件列表備存 ( Archive )。


        Ubuntu 註冊使用者的 Blog 合集 ( Aggregate )。

工商服務