成立 PCMan Facebook 專頁

之前常被許多網友要求加 Facebook,但是數量過多難以管理,大部分也都不認識,無法一一加入,所以成立 PCMan FB 專頁。未來長篇的文章還是會放 Blog 上,而平常的小動態會放在 FB。
另外,現在也可以使用 http://blog.pcman.im/ 來連到本網站
顯示具有 技術文件 標籤的文章。 顯示所有文章
顯示具有 技術文件 標籤的文章。 顯示所有文章

2015年8月15日 星期六

8/15 COSCUP 演講 - 用 "Python" 快速開發 Windows 的中文輸入法 (會後資料釋出)

今天早上在 COSCUP 2015 大會演講圓滿結束 :)
據朋友轉述,門外像是演唱會在排隊一樣排了兩圈
這麼無聊的題目,真感謝大家捧場 XD


專案的程式碼網址在:
https://github.com/EasyIME/PIME

這裡有編譯好可以直接下載安裝試驗的版本 (使用前需先安裝 python 3 和 python 的 pywin32 套件):
https://github.com/EasyIME/PIME/releases/download/v0.01/PIME-git-setup.exe

注意:目前安裝好後 python server 並不會自動啟動,所以無法打字,需要自己手動執行 server.py 才能進行測試

歡迎有興趣研究的朋友一起參與
之後會找時間包安裝程式釋出方便試用和測試

以下是這次 presentation 的投影片

PIME - 用 Python 快速開發 Windows 的中文輸入法 (COSCUP 2015)

程式的雛型都可以正常運作了,但目前文件還比較缺乏
有興趣有空的朋友也歡迎幫忙撰寫
Patches are welcomed!

2015年7月31日 星期五

8/15 COSCUP 演講 - 用 "Python" 快速開發 Windows 的中文輸入法

今年 8/15 將在 COSCUP 開放原始碼 2015 年會發表新專案
這次的題目是:PIME - 用 "Python" 快速開發 Windows 的中文輸入法


是的,你沒有看錯,真的是用 Python! 而且這能跑在 Windows 下。開源的中文輸入法框架,在Linux下選擇很多樣化,也已蓬勃發展多年,但在Windows 上則相對缺乏,尤其是 Windows 8 之後,新的 TSF 架構實做有相當的困難,使得很多開發者空有設計輸入法的構想,卻無法落實到很多人使用的 Windows 系統上。新的 metro mode 又加諸了許多限制,使得輸入法開發變得相當困難。本議程將介紹 PIME - 第一個嘗試在 Windows 上用 python 開發中文輸入法的架構,底層採用 C++ 開發的 LibIME (取自新酷音輸入 Windows 版),幫助有志於改善中文輸入環境的朋友,在不了解太多細節,也不用會 C++ 的狀況下,也能用 Python 語言設計新的輸入法。
有興趣在 Windows 下開發中文輸入法的 COSCUP 會眾,歡迎可以來參加!
將會現場 demo 實際使用的方式 :-)

2009年11月23日 星期一

[軟體] PCMan Telnet/BBS for Firefox 2009 全新套件

最近突然心血來潮,想學習怎樣寫 Firefox extension,
順便學習之前一直沒有學的 Javascript,於是,就重寫了 PCMan 作為練習
經過長時間的研究 + 三天密集 coding + 參考 FireBBS,目前已經初步可用了

PCMan Telnet/BBS extension for Firefox,誕生!
專案網頁: http://code.google.com/p/pcmanfx/

功能還不夠完整,但是該有的基本功能都有了,彩色顯示也很正常
重點是可以支援中文雙色字,顯示效果也很接近原 PCMan 系列。
當然效能和記憶體用量遠不能和原版 PCMan 相比,但是對於用純
Javascript 寫成的套件來說,目前的執行效率還在可接受的範圍。

歡迎大家測試或給予意見,或者是...最好可以有熱血的朋友加入開發,
小弟最近很忙,可能會沒有時間繼續寫完。
目前程式碼相當短,而且最困難的核心部分我幾乎都已經寫完了,
剩下就是許多小地方的補強。 這次是純 Javascript,
有能力改寫的人應該就很多了吧! 快加入吧!

主要特色:
1. 使用 Javascript + XUL + 少量 html 開發
2. 程式簡潔,可讀性佳,模組化,初版僅 1000 行,
易讀,易改,相當適合想學習 Telnet 程式撰寫的朋友,
作為學習的參考。
3. 雖然是使用 Javascript,執行效率仍在可接受的範圍,
操作上有接近原生軟體的表現。
4. 支援一字雙色的顯示,畫面呈現效果優良,接近原生軟體。
5. 跨平台,目前確定可運作於 Windows (優) 和 Linux (可),
Mac 及其他 Firefox 能運作的平台尚未測試,理論上可用,
但顯示效果會略有出入,中文輸入部分可能會有些小問題。
6. 開放原始碼,以 GNU/GPL V2 自由授權釋出。

想加入開發的朋友,請和我聯絡,加入這個專案。

2009年6月18日 星期四

glib/gio 研究心得

之前本來覺得 glib/gio 的 local 檔案系統實做有點問題
後來發現,其實沒有 gvfs,本地端檔案確實還是可以運作的,
只是會不太完整。 因為雖然 g_local_file_copy 裡面
只會顯示「不支援此操作」的錯誤,但 g_file_copy 裡面還暗藏了
fallback 的程式碼,而這部份是可以運作的。
所以大體而言,沒有 gvfs,glib/gio 的檔案 I/O 還是可以
對本地端的檔案提供最基本的支援。

不過,經過實地測試,gio 即使是操作本地端的檔案,
在某些操作上,效能都不是很理想...也比使用 POSIX
的 system call 要慢上非常多倍。看來 gio 還是需要加油啊。

2008年11月20日 星期四

騙人的 glib/gio

Glib 在新版當中引入了 GIO,作為檔案操作和 streaming 的 lib
官方網頁寫了一大堆的優點,並且宣稱得多好多好,其實...
雖然號稱是 Glib 的一部分,而 Glib 理論上是跨桌面跨平台,
但少掉了 GVFS,GIO 其實就完全的不會動了...
而 GVFS,其實前身就是 GNOME VFS。
GIO 雖然宣稱可以在沒有 GVFS 的環境下運作,其實真相並非如此
Volume management 的部份就不會動了,而且磁碟的掛載
內部是直接「寫死」呼叫 gnome-mount,沒有這些 gnome 的工具程式
存在時,相關的部份根本完全都不會動。
沒有 GVFS 它是可以「編譯」沒錯,但實際上幾乎所有功能都廢了...
另外像是檔案操作的部份,雖然文件上宣稱,少了 GVFS,GIO 仍然可以運作,
只是會剩下只支援本地端檔案,而不能支援各種通訊協定,但是...
讀過程式碼之後,就會發現這是謊言...

glib-2.16.5/gio/glocalfile.c, line: 2305

static gboolean
g_local_file_copy (GFile *source,
GFile *destination,
GFileCopyFlags flags,
GCancellable *cancellable,
GFileProgressCallback progress_callback,
gpointer progress_callback_data,
GError **error)
{
/* Fall back to default copy */
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "Copy not supported");
return FALSE;
}


所謂的沒有 GVFS 還剩下本地端的支援,只是秀個錯誤跟你說:「對不起,不支援這個功能喔...」
所以,雖然宣稱是 Glib 的一部分,雖然表面上作成跨桌面,不需要 GNOME,但實際上,
少了 GNOME/GVFS,基本上你很難讓 GIO 真正發揮功用,大部分的功能,其實都是故障的。

2008年10月14日 星期二

libunique, 協助撰寫 single instance application 的好物

之前沒有用過,今天才發現有這個,看來是個有趣的東西
透過這個小 lib,處理 single instance 的 gtk+ 程式
就變得非常的簡單了。
http://live.gnome.org/LibUnique

2008年6月17日 星期二

[程式] PCMan 私房密技 - 用 glib 的 GKeyFile 來處理 IPC

不知道我是不是第一個發明這樣搞的人,但這絕對是個有用的密技

在 C 語言裡面,處理程式的命令列參數,一直是很討厭的事情。
在 UNIX 類系統上,伴隨 GTK+ library 而來的 glib,很方便的提供了現成工具
GOption commandline parser

這在每一台 Linux 桌面的機器上都有,所以不用裝額外的 library
加上在寫 gtk+ 程式時本來就是直接用 glib 現成的工具比較方便
GOption 可以很方便的幫你把 argv 翻譯成各個變數的數值,大幅度簡化程式
不過,這樣方便的工具,還是有他的限制。

當你需要做 single instance 程式時 (我不知道正確的名稱,總之,就是讓
同一個程式多次啟動時,可以共用同一個 process,避免資源的浪費,
例如你打 firefox 指令,並且傳給他網址當參數,他會去找執行中的 firefox
process,然後把參數傳過去開新視窗,避免再重複執行另一個 firefox)
在這種情境下,GOption 變得不方便了,因為他無法處理由其他 process
傳過來的參數,只能處理 main() 裡面的 argv,而且只能處理一次。
第二次再傳給他另一個 argv,就會出問題了,所以無法用在這種用途。
這種設計上的缺陷,大大的限制了他的可用性。

於是,你有兩個選擇:

1. 不用 GOption,自己寫個函數來處理 argv 的參數,這樣從其他 process
透過 IPC 傳過來的參數,也可以用同樣方式處理。

2. 使用 GOption,但是在每個啟動的 process 都先用 GOption parse 過
把 argv 轉成你程式當中的變數,再透過你自己設計的方式,用 IPC
把這些變數傳遞給 single instance 的主 process

不管是哪一種,都很累,也很麻煩。
但是,透過 GKeyFile 的協助,第二種方式將變得簡單。以下是密技:

在 main 當中,先用 GOption 把 argv 翻譯成在程式內有意義的變數
然後,要透過 IPC 傳給主 process 之前,先把他寫成 INI 格式!
這樣一來,在主 process 收到的參數,就不再是一堆無意義的 argv
而是形同收到一個有 key/value pairs 的 ini 檔案。

這時候,透過 g_key_file_load_from_data 這個 glib 提供的 ini parser
可以很容易的,把收到的參數,轉回程式可了解的變數。
使用起來不但簡單,而且程式相當的可讀,乾淨。
比起實做自己的資料編碼/解析方式,透過 GKeyFile,以 ini 格式編碼
IPC 時傳輸的資料,要簡單的太多了,程式可讀性也會好很多。
因為是 UNIX socket 傳輸,而不是寫入 on disk 的 ini 檔
所以實際運作並不會有明顯的效能損傷,但會大幅簡化程式的設計。
適當使用手邊現有的工具,做讓人意想不到的結合,就可以創造出新的價值

以上是對很多人沒有任何用處的 PCMan 私房 GTK+ 密技,
亂無章法,隨手記下,也沒時間寫範例,但希望對看得懂的有緣人有幫助...

2008年5月20日 星期二

rdate & ntp servers

大家都聽說過用 ntpdate 或 rdate 指令,可以幫 UNIX 系統進行網路校時
不過,ntp server 到處都有,國內也很多,rdate server 卻非常的難找
在某些受到封鎖的網路環境下,可能會無法使用 ntpdate
這時候比較不精確的 rdate 就派上用場了
紀錄一下 Andrew 幫忙找到的 rdate servers:

stdtime.gov.hk
clock.psu.edu
ntp0.cornell.edu
salmon.maths.tcd.ie

原始資料來源:
http://pank.org/blog/2004/08/time-server-list.html

2008年5月3日 星期六

[紀錄] 4/26 到華碩總公司進行 EeePC 駭客秀的演說

2008-04-26 下午我在北投的華碩公司總部,進行了 20 分鐘的英文演說
介紹了我和朋友一起開發的一套新桌面環境: LXDE ( http://lxde.org/ )

這個活動,是由歐洲團體 OHI 在台灣舉辦的 Open Tech Summit 2008 的一部分
與會的朋友來自世界各國,主要是歐洲、其次也有美國、甚至有印度的工程師
在一些民間單位和廠商的贊助下,他們來到台灣,和我們本地的社群交流
進行為期四天的 Open Tech Summit Taiwan 2008 活動。
http://wiki.openpattern.org/index.php/OpenTechSummitTaiwan2008

4月26 號的議程,是在華碩總部舉辦,而主要的主題是 Asus 最新產品 EeePC
下午的 EeePC 駭客秀,讓一些程式開發者展示在 EeePC 上的開發成果
(我後來才知道,原來有很多人沒有聽過華碩 EeePC.... orz
看來,是我和我身邊的朋友們太宅了啊... 不知道EeePC的請看:
http://eeepc.asus.com/tw/ <--- 華碩真應該付我廣告費
總之,這是一台目前最紅的迷你筆記型電腦。)

之前有幸在友人介紹下,免費拿到華碩贊助的低價 EeePC 701 機種,
在上面進行一些軟體的測試、修正和開發,最終有了一些成果
我們把先前開發的 LXDE 桌面環境,成功的裝上 EeePC,完全取代原本的系統
在硬體不做任何升級擴充的情況下,不論速度、系統資源消耗、或操作介面,
都遠比華碩原本搭載的 Xandros Linux 系統要優異許多。

這次受邀參加 4/26 下午的 EeePC 駭客秀,終於有機會讓大家看看研發成果
當天在場的,也有原先負責 EeePC 系統,加拿大 Xandros 公司派來的人員。
因為該公司的產品品質不良,但該公司的代表面對質詢又睜眼說瞎話
所以我們決定要好好嗆他,不給他們保留任何面子。
馬上跟華碩商借了一台未經改裝的原版 EeePC 701,搭載 Xandros 系統
然後我們借了另一台投影機,把我們的系統,和原本的 Xandros 系統
同時投影到畫面上,然後在會場,當場 Live! 進行非常殘酷的性能比較

一上台,我就對台下說:

"First, I would like to say sorry to the Xandros representative because
I deleted your system immediately after I got my EeePC!" (台下傳出笑聲)

(中文翻譯:首先,我想跟 Xandros 的代表說聲抱歉,
因為拿到 EeePC 後,我馬上就把你們的系統給砍了! )

不過顯然那時,Xandros 的代表,還在低頭做他自己的事情


這裡有某外國朋友當天拍的照片:

我正在台上,用破爛的英文,向來自各國的朋友,介紹我們開發的 LXDE
台下的聽眾主要是台灣人,但有許多來自其他國家的朋友,所以得用英文
坐在最前排,有 EeePC 部門的主管,和某位來自華碩其他部門的主管


在下面這張照片,右邊有一個外國人的頭
這位,就是 Xandros 公司派來的代表。原先不理我,低頭做自己的事情
但後來還是忍不住抬起頭來,看我們痛宰他們家的產品...
在最前面的是我們另一位開發者 Fred,由他幫我們操作原版的 EeePC 供比較


雖然我們的開機速度,因為沒調校過,比華碩原先搭載的 Xandros 系統慢一些,
但進到桌面之後,就輪到我們痛宰 Xandros 了。

首先比較的是記憶體用量,開機後我們用 100 ~ 140 MB,Xandros 早就超過 200 MB

接下來是啟動檔案總管,在 LXDE 上,我們的 PCManFM,在按下滑鼠的瞬間,
一秒內立即啟動完成,沒有延遲,並且載入目錄非常的迅速,介面又美觀。
而 Xandros 的系統,經過了 18 秒鐘的漫長等待,終於顯示出檔案總管視窗
這時候 LXDE 的記憶體用量幾乎沒有顯著增加,仍然只用一百多 MB

接著開始進行殘酷的 OpenOffice 連發測試,連續開啟多個 Office 檔案
可以看到,Xandros 的系統呈現一個極忙碌的卡狀態,而 LXDE 明顯較流暢
在開啟多個 Office 後,LXDE 仍然可以流暢的操作,系統完全沒有減慢
同時開啟龐大的 Firefox 瀏覽器,上網查詢資料,也還是游刃有餘
而華碩隨機搭載的 Xandros Linux 系統,不管做什麼操作,就是只能
「等等等等....等等等等....」 (請自行配上音樂)

接下來我用很短的時間,重點式的介紹了 LXDE 的其他元件
原先還擔心自己英文很破,但下台後朋友才跟我說,方才的演說相當熱血
當看到台下有許多雙來自國外的眼睛,在盯著我們的研發成果看,
台灣土產的東西,能受到國際有人的肯定,那種感覺,很難讓人不熱血啊。
來自一個地圖上找不到的國家,我們的努力,終於有人看到了。

講完之後,在現場有些國內外的朋友,很有興趣的提出了不少問題
我也很努力,也很吃力的,用我的破英文,嘗試著逐一回答。
雖然英文不好,講的結結巴巴,但這次真的是個很好的訓練機會

其中最讓我印象深刻的,大概是來自印度的工程師 Pradeepto 的提問
印度發音的英文,實在讓我很震撼。他講的每句都是英文,可我就是聽不懂。
會後我跟 Pradeepto 又進行了很多交流,還在他的 EeePC 上裝上了 LXDE
Pradeepto 自己是 KDE (另一個強大的知名桌面環境) 的開發者之一,
但是仍然願意跟我們交流,甚至還掏腰包贊助幫我們申請 http://lxde.org/ 的網址
這次參加這個大會,除了終於有機會在華碩總公司,展示我們的研發成果之外,
最大的收穫,就是交到 Pradeepto 這位印度朋友 (我好不容易才學會念他名字)

跟來自不同國家的人交流,真的是一件非常有趣的事情,尤其當大家有共同的興趣。
會後的晚餐,教了兩位來自美國和澳洲的朋友如何用中文數一二三四五...,
也試著跟他們解釋了正體(繁體)中文,以及簡體中文的差異所在。
這群老外也學著使用筷子。最後除了那位印度人以外,剩下的人筷子都用得很好
看這些外國朋友對我們的文化很感興趣的樣子,不禁覺得很感動。
有時候,連我們自己,都還不見得這麼關心自己的文化啊。

總之,我又很囉唆的,記了一大堆流水帳。
這次參加 OTSTW 2008,對我而言,主要的收穫,並不在資訊技術上
和外國友人的文化交流,以及練習如何用英文介紹自己的產品,
才是讓我很難忘,也覺得獲益良多的經驗。

2008年2月7日 星期四

[吉他] 自製窮人移調夾 2.0 版,大幅度改良!

上次因為 Capo 放在家沒帶來,用竹筷子和橡皮筋隨手做了窮人 Capo
可是經過實際試用,發現效果並不理想
而且...這次過年回家,我才發現,我的 Capo 不是放在家裡
而是已經搞丟了.... 完全找不到在哪裡,我才用過一次 = =

好吧,只好再自己做一個。
有鑑於上次的效果不好,這次我又研發了全新的製造方式,跟大家分享
綁橡皮筋我知道不少人用過,但這次這招我想應該就沒人看過了
不但便宜簡便,而且還是活動式的,可以隨時夾著或拿掉,完全不用綁!

我相信大家一定很好奇,依照慣例,有圖有真相:


材料:
壞掉的衣架一支,膠帶

製作方式:
1. 使用蠻力硬凹,把衣架上面彎曲的部份折斷拿下來
(秘訣是在「同一點」反覆凹不同方向來回,大概十幾次就可以凹斷)

2. 衣架本身就是彎的,所以可以好好利用他的彈性,形成自然的夾子
照著我圖上的樣子把他折成這個形狀,然後調整到可以夾住,
並且可以確實貼到絃上為止。

3. 為了怕折斷的金屬部份傷到手,同時為了美觀,從另一支衣架拔起上面的套子
套在折斷的那端,美觀、專業、又安全。

4. 因為發現和琴絃摩擦會導致表面的橡膠碎屑脫落,卡在絃上,所以纏上膠帶

5. 大功告成,試彈,然後找人炫耀 :-)

後記:
衣架雖然也要錢買,但怎麼說還是比 Capo 便宜得多,尤其用壞掉的或撿來的衣架
自製移調夾,方便好用又好玩,不但省錢又樂趣無窮
這年頭油價上漲,什麼都貴,不過,善用巧手,窮小孩也是可以學吉他的!
(上次本來還有自製背帶,是背得住可是怕會斷掉,最後還是花錢去買了一條...)

2008年1月25日 星期五

[文件] curlftpfs 和 sshfs 掛載遠端檔案系統

今天首度試用了使用 FUSE 的 curlftpfs 和 sshfs
順利把 ftp 站和 sftp 遠端站台掛到本機 Linux 的目錄底下了

太久沒使用到這些東西,差點忘了 mount 指令怎麼下
最後發現

curlftpfs -o iocharset=utf8, codepage=big5 <本機目錄>
就可以正確顯示 big5 編碼的遠端檔案系統
以前常常在設定 fstab 的時候還記得,現在很久不用改那個,都忘光了...

FUSE 在 ubuntu 下預設無法用一般使用者操作,只能用 root
需要把使用者加入到 fuse 群組

有時可能會需要這個
sudo chmod o+rw /dev/fuse

好像還要這個
sudo chgrp fuse /dev/fuse

搞半天,也不確定最後是怎樣才會動的....
總之,需要一點小設定。

2008年1月12日 星期六

窮小孩玩吉他 - 自製窮人的移調夾 (Capo)

我說.... 窮小孩也是可以玩樂器的....
買不起 Capo,還可以自己動手做! 所有材料可以在便當店以及小吃攤取得 :P

橡皮筋 + 一支筷子 = 窮人的移調夾

有圖有真相:




我其實有一支便宜的 Capo,可是放在家忘了帶到宿舍 囧rz
今天臨時想試用,突然靈機一動!

自己動手做了窮人的 Capo,馬上可以用而且完全不花錢
除了看起來很醜以外... 用起來跟真的感覺不出差異 :P
跟大家分享一下

手邊急用 Capo 卻沒帶,或是買不起 Capo 的朋友,可以如法炮製 :)

幾個可以查吉他和絃的好用網站

http://www.chordbook.com/guitarchords.php <- 使用 Flash,還有聲音,介面很好用,但沒有列出和絃的 variation
http://www.gootar.com/folder/guitar.html <- 好用
http://chordfind.com/ <- 好用但和絃常跟別的網站有出入
http://www.8notes.com/guitar_chord_chart/
http://www.all-guitar-chords.com/index.php
http://www.guitarchordsmagic.com/guitar-chord-finder.html

2007年12月23日 星期日

[文件] Linux 下轉換各種影音格式

HOWTO Convert video files
http://en.linuxreviews.org/HOWTO_Convert_video_files

HOWTO Convert audio files
http://en.linuxreviews.org/HOWTO_Convert_audio_files

RM、RMVB、RV、WMV9等媒体格式转换为FLV
http://www.toplee.com/blog/303.html

線上轉FLV
http://blog.xuite.net/napmas/worknote/10780352

範例 flv 轉 DIVX AVI 格式:
http://forum.shareget.com/sitemap/t-250651.html
mencoder -noodml source.flv -o target.avi -mc 0 -ofps 29.970 -vf-add
crop=0:0:-1:-1 -vf-add scale=640:480 -vf-add expand=640:480:-1:-1:1 -srate 44100
-ovc lavc -lavcopts vcodec=mpeg4 -lavcopts vbitrate=300 -ffourcc DIVX
-oac mp3lame -lameopts vbr=3 -lameopts br=64 -lameopts vol=0
-lameopts mode=1 -lameopts aq=7 -lameopts padding=3 -af volnorm

2007年12月8日 星期六

[文件] lighttpd + mediawiki

之前 http://free.ym.edu.tw/ 站因為硬體等級相當差,負擔又過重
經常導致伺服器停止回應的狀況,差點連我都無法遠端登入
最後終於狠下心,把 apache2 換成了 lighttpd
轉換的過程並不順利,需要若干小設定修改,mediawiki 才能正常運作

我總共改了:
/etc/lighttpd/lighttpd.conf
按照 MediaWiki 官方網站上提供給 Lighttpd 的設定說明
開啟 mod_rewrite 和 mod_redirect,寫下給 mediawiki 的 rewrite 設定
假設 mediawiki 是放在名為 w 的這個目錄下

server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_rewrite",
"mod_redirect",
"mod_evasive"
)

## 限制每個 ip 的連線數,使用 mod_evasive
evasive.max-conns-per-ip=2

## For MediaWiki

url.rewrite-once = (
"^/$" => "/w/index.php",
"^/wiki/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2"
)

#url.redirect = (
# "^/(?!w|wiki|robots\.txt|favicon\.ico)(.*)" => "/wiki/$1"
#)


/etc/php5/cgi/php.ini
加入一行給 lighttpd 的設定

; For Lighttpd
cgi.fix_pathinfo = 1


開啟 lighttpd 的 fast-cgi

# lighty-enable-mod fastcgi


又裝上了 xcache 這個 php 加速器

抓下 xcache 的 source code,之後 apt-get install php5-dev
接著解開 source tarball,進入 xcache 目錄
執行
# phpize
./configure
# make install
最後修改
/etc/php5/cgi/conf.d/xcache.ini
把 xcache.size 設定成想要的大小


然後修改了 mediawiki 的 LocalSettings.php

$IP = "/var/www/w";

$wgArticlePath = "/wiki/$1";
$wgScriptPath = "/w";


終於大功告成,mediawiki 順利在 lighttpd 上運作了。

2007年12月3日 星期一

[文件] 大型網站架設

這是 Pixnet 的 far 撰寫的文章,提醒如何架設大型網站
的確是相當值得參考....
好文一篇
http://blog.pixnet.net/far/post/17024

對於我們這種沒錢、沒機器、又沒技術的小人物來說...
還是在自己的小網頁空間寫個小丁丁就好了....
改天來把網頁換成紫色系好了,看有沒有加分 = =

架網站是個大學問,雖然有些程式寫起來很簡單
一些實務上的技術,只有稍微翻過 php 的書還是不行的 XD
例如這個丁丁網頁平台,我在寫的時候,就很清楚的知道...
當有大量使用者的時候,這個系統應該就會爆了
不過... 我們不是商業公司,也沒有那麼多的機器和頻寬可以拿來玩
所以.... Just for fun! 好玩最重要,
有達到練習寫 php 的效果,同時又能提供自己可用的網頁就好了 :)