推文按鈕

收進你的MyShare個人書籤

2008年2月16日 星期六

HappyWeb 9 聚會

今天去了HappyWeb 9,主辦人tempo和cjin邀請了VeryXD的Xdite及訂便當的ingramchen

Xdite的簡報檔
http://blog.xdite.net/?p=543

http://blog.xdite.net/?p=548 技術文章

另一位ingramchen
http://www.javaworld.com.tw/roller/ingramchen/entry/happyweb_9_%E7%B0%A1%E5%A0%B1%E6%AA%94

分享一些筆記:

在網站效能優化的部份

1. 網站的瓶頸常常會發生在資料庫存取,所以可以用快取(cache)或將常用動態頁面轉成靜態頁面(static page)的方式
2. 搜尋程式(在我們網站上特別指關鍵字搜尋)因為演算法很複雜,會是網站loading的最大來源,所以可以獨立於一台主機上
3. 租用reverse proxy服務,可節省大量頻寬
4. 平衡負載(load balancing):訂便當的網站,設計時盡量以css而不用圖檔,因此以一台主機,平均Load不到1,ADSL 2M 上傳,加上平衡負載器,即可應付流量需求。

網站經營:

1. 網站服務最好維持核心的單一主軸,Simplest is best!不要confuse 使用者
2. 降低進入門檻,可以免註冊方式進行。
3. 對於工具型網站來說,Flash動畫的使用手冊及文件是必須的,而且最好快速的回應,讓網站有活著的感覺!
4. 動態的隨機出圖,可以增加page view

技術:

訂便當用到的技術以java為主,並用了許多套件,請參考。 http://dinbendon.net/do/pub/AboutPage

1. Wicket:一套java framework,可支援javascript,訂便當站長提了好幾次。
相關介紹
http://wicket.apache.org/introduction.html
http://nettrace.blogspirit.com/tag/wicket

2. log4j:設計給Java的日誌系統的framework。http://logging.apache.org/log4j/
(謝謝William的指正)

3. Lucene:java搜尋套件,另外有包成API(Solr),我有一篇文章介紹
http://lonelymisconception.blogspot.com/search/label/%E6%90%9C%E5%B0%8B

4. Quartz:java的工作排程套件,可以用來設計單一程式或者大型電子商務網站。http://www.opensymphony.com/
quartz/

5. JfreeChart:java的畫圓餅圖的套件 http://www.jfree.org/

6. ROME: 解析、產生、發佈RSS的java library

7. JUnit, EazyMock: Unit Test工具

8. JExcel API: java API 可做出Excel效果,http://jexcelapi.sourceforge.net/

今天ingramchen有提到ZK的授權方式,指出商業用途需要收費,我嚇了一跳,我現在正在進行的案子打算用ZK,若收費是不小的成本
後來查了一下ZK的licensing,採GPL與商業授權並行
http://www.zkoss.org/license/gpl.dsp
http://www.zkoss.org/license/cml.dsp

所謂的GPL,也就是MySQL的授權方式,可參考wikipedia的解釋
http://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%...

我們若要免費使用ZK或MySQL這些GPL的軟體在我們的網站上,就必須在網站上聲明遵守GPL,讓別人可以修改、複製、再發行;但是GPL並不禁止對服務收取費用,同時只要不要再發行,就不一定要公開或開放原始碼。

7 則留言:

tempo 提到...

對 GPL 我覺得並不是 "同時只要不要再發行,就不一定要公開或開放原始碼。", 一但使用了 ZK, 應該就是要公開你的程式碼才對, 因為 ZK 是一套 framework, 跟你的程式會結合在一起..

而 mysql 一般因為跟我們的程式沒有緊密結合, 我們是用一個使用且 mysql 可被抽換的角度, 所以我們的程式並沒有跟 mysql 有太大相關, 所以不會被 mysql 的 GPL 綁到需要一起公開程式碼..

所以, 若您想要開發 ZK 程式且不想要公開程式碼, 則需要買他們的商業 license..

william 提到...

log4j 並不是「設計給Java的登入系統的framework」,而是「日誌」framework。

William 提到...

to william
謝謝你的指正

to tempo
謝謝你的意見,但是如果網站純粹使用ZK Framework需不需要採GPL授權呢?
我看到wikipedia上有一段相關文字,指出GPL的copyleft只用於軟體而非output,如一個公開入口網站若是架在GPL的CMS上,不一定要公開原始碼。

Copyleft applies only when a person seeks to redistribute the program. One is allowed to make private modified versions, without any obligation to divulge the modifications as long as the modified software is not distributed to anyone else. Note that the copyleft applies only to the software and not to its output (unless that output is itself a derivative work of the program); for example, a public web portal running a modified derivative of a GPLed content management system is not required to distribute its changes to the underlying software.

http://en.wikipedia.org/wiki/Gpl

William 提到...

再補充一點出自GPL3的一段文字
http://www.gnu.org/licenses/gpl-3.0.html


在Definition時,GPL3提出了散佈「convey」的定義,指出僅單純的與使用者互動,而沒有傳遞副本的話,並不屬於散佈

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

tempo 提到...

那大概沒問題吧, 是我想錯了..
但, 隨著生意進行, 你有時候不太能確定未來會怎樣, 也許你的產品有企業市場, 你需要 deploy 到其他客戶那裡, 這樣就會有點麻煩..
基本上, 用 GPL licensed 的 library 都需要好好想一下, 可以看一下這一篇或是 google 一下 'zk gpl' 看看..

William 提到...

to tempo,
謝謝你的提醒,讓我有機會好好研究一下open source的授權。
看來open source也不是想像中的promising land!
GPL真是個病毒式的授權模式,用了就被捲進去了......

小蝦米 提到...
作者已經移除這則留言。