日期: 10.3.’05.
- 調整了網頁的樣式,儘可能去掉
<hr />
,改以 CSS 的邊框代替,以符合無障礙網頁規範的要求。
- 調整了首頁的樣式,黑貓改為 float 到右邊,讓下面的文字移到上面來,以便利閱讀。
- 調整了旅舍日記的樣式,改用一篇一篇白紙張貼的樣式。
- 加上無障礙網頁的導盲磚設計。
- 加上
直接跳到網頁內文區
的設計。
- 移除 magicat 下的樣式表,統一改用 magicat.css 代替。
- 移除 background: fixed 的設定。去除掉無聊的特效,網頁看起來比較正常。
要怎麼處理瀏覽列,才能讓它看起來簡潔,又能保持簡單呢?煩惱中。
日期: 6.30.’05.
- 將 Selima::Checker::Account 與 Selima::Checker::Content 的功能移到 Selima::Checker ,移除 Selima::Checker::Account 與 Selima::Checker::Content 兩個不必要的中層基礎類別。
- 加上 Selima::Processor 資料處理類別。
日期: 6.3.’05.
- Selima::List 加上 html_lists_switch() 以顯示多重列表。
日期: 5.27.’05.
- 內容管理系統存檔時(旅舍日記、更新日誌、繼續旅行等),加上正體中文轉簡體中文自動轉換,不需要再到簡體中文頁面編輯、轉換。
- 修正旅舍日記和更新日誌目錄頁,中文數字使用 big5/gb ,而不是使用 traditional/simplifide ,造成的編碼錯誤。
- 修正更新日誌目錄頁,連結到旅舍日記的錯誤。
日期: 5.11.’05.
- 加上 Selima::List::Actlog 與 actlog.cgi 以瀏覽網站活動日誌。
- 修正 $Selima::Logging::ACTLOG 之前一直沒有正確在程式執行前重設,導致一直都是記在第一個連線的活動日誌檔,沒有記在現行專案的活動日誌檔的錯誤。
日期: 5.7.’05.
- 內部全部改用 Perl UTF-8 解碼字串處理,輸出時才依所需字集編碼,以簡化內部一致性。
- Selima::GetLang 加上 getcharset() 函式,依 RFC 2616 HTTP 1.1 第 14.2 節規定的演算法,取得最適當的輸出字集。目前暫無用途。
- 修改 Selima::GetLang::getlang() 函式,以更加模組化,並更加符合 RFC 2616 HTTP 1.1 第 14.4 節規定的演算法。
- 取消使用 $MY_CHARSET 與 $KEY_ENCODING 兩個變數。
- Selima::SetL10N 現在會先行載入 Encode::Big5Common 和 Encode::HanExtra ,以確保系統有安裝 Big5-Common 和 GB18030 兩個字集,解決之前忘記安裝 Encode::HanExtra ,沒有 GB18030 字集,部份簡體中文留言無法正確處理的問題。
日期: 5.4.’05.
- 簡體中文在 Makefile 裏用 iconv 先做好 PO 檔,不再即時用 Encode::HanConvert 轉換。
日期: 4.27.’05.
- 網站上的
繁體中文
字樣更正為正體中文
。
日期: 4.5.’05.
- 修正 Selima::Logging::log_error() 與 Selima::Logging::log_warn() 裏 remote_host() 傳回值有可能是 undef 的錯誤。
- 修正 Selima::RemoHost::remote_host() 裏查不到時回傳 undef 的快取處理方式。
日期: 3.26.’05.
Perl 昇級到 5.8.6 版。
日期: 3.14.’05.
Selima::Form 類別加上 _val_scalar() 與 _val_date() 方法,移除所有 echovalue() 的參考; Selima::EchoForm 模組刪掉 echovalue() 函數。
日期: 3.13.’05.
編輯從過去旅人留言簿上,抓來的 12 篇更新日誌( 2003-03-31 到 2005-02-20 ),由隨筆留言的純文字格式,改為有段落結構標記的 HTML 格式,並加上英譯。
日期: 3.12.’05.
旅舍日記與更新日誌,加上部份檔案更新 rebuild_partial_pages() 的功能。
日期: 3.1.’05.
有空,我會把 Selima 1 和 Selima 2 的更新說明補上來。
現在的更新日誌其實不夠嚴格,沒有撰寫程式應有的標準格式。 ^^;
日期: 3.1.’05.
這兩天在寫 Selima 系統的網頁管理子系統。這大概是短期內, Selima 的最後一個子系統,也是 Selima 最重要的子系統。目前 Selima 的子系統有:使用者權限管理系統、留言板管理系統、相關連結管理系統、女聲電子報管理系統、網站日記管理系統、更新日誌管理系統等。然而,在網站管理系統中,這些都只是次要的部門。網站管理系統就是要管理網頁用的,不能管理網頁的話,就什麼都不是了。
網頁管理子系統需要圖片上傳,不過 Selima 的圖片上傳管理子系統,其實一直都沒有做出來。這兩天我從 PHP Monica 把圖片上傳子系統的程式碼移植過來,再改寫成 Perl 。移植的過程中,才發現這個工程,比我想像中大很多。 PHP Monica 的圖片上傳子系統經過多年蘊釀,早已發展成為一個非常複雜、非常成熟的子系統,這兩天改寫的時候,看到了之前寫的、現在快不認得的程式碼,好長好長。覺得自己好可怕,竟然能夠寫出這麼龐大、這麼複雜的東西。這種感覺就像爬山一樣,埋頭一直往上爬,半山腰休息的時候一往下看,才發現自己竟然已經走了這麼遠,爬得這麼高了。 PHP Monica 這麼龐大、複雜、成熟的系統,真的是我過去幾年來一個字、一個字寫出來的東西嗎?有種難已置信的感覺。 ^_*'
Selima 的圖片上傳管理子系統,還有很大一部份還沒移植好。然後是原來的目標—網頁管理子系統,然後是把相關連結、日記管理等等子系統,一起整合進來。想想還有好一段路要走。加油~
日期: 3.1.’05.
- 寫了 Selima::Form 裏的 _html_col_pic() 方法,顯示圖片設定欄位。
- 補上 Selima::Picture 裏的 picurl() 、 picinfo() 、 picstyle() 、 check_pic_ratio() 、 best_pic_ratio() 、 newpicx() 、 newpicy() 、 echopic() 、 picpos_label() 等函數,及 PIC_MAX_WIDTH 、 PIC_MAX_HEIGHT 、 PIC_MAX_RATIO 、 @PIC_VALID_POS 、 %PIC_POS_LABEL 、 PIC_POS_DEFAULT 、 SHOWPIC_SCRIPT 等常數等等。
日期: 2.27.’05.
寫出了網頁管理用的 Selima::Page 與 Selima::PageList 兩個類別。
日期: 2.25.’05.
重做了關於旅舍依瑪
,寫了一段旅舍的簡介。
日期: 2.25.’05.
這是 Selima 2.13 。我把旅舍更新日誌管理程式寫出來了
旅舍更新日誌程式,基本上跟旅舍日記程式差別不大,都是單向的留言板系統:後台管理界面是留言板程式,而前端則是網頁製作輸出程式。
比較辛苦的是舊日誌匯入工作:旅舍更新日誌不像留言板或旅舍日記一樣,原本就存在類資料庫格式的 XML 檔中。原來的更新日誌只是一個普通的 HTML 網頁。我沒辦法寫程式直接整批匯入,只能叫出檔案,手動一段一段編輯、輸入。
不過也因此,重讀了整個更新日誌。呵。看著以前的自己決定這樣做那樣做的理由,碰到種種的困難並苦思解決之道,很有趣呢~ ^_*'
2000 年 11 月 5 日以後,因為不易編輯,我就沒有再寫更新日誌了,有更新都公告在旅人留言簿上。因此 2000 年 11 月 5 日以後的部份,是從旅人留言簿上找來的,有點零碎,可是語氣比較生活化,讀起來比較有趣。
以後要勤快記日誌。記日誌是撰寫程式的基本工夫。基本工夫要做扎實。嗯。
日期: 2.20.’05.
這是 Selima 2.12 。旅舍日記編輯系統終於完成了。荒廢了四年沒寫的旅舍日記,終於可以開始動筆了。以後我有地方可以自言自語,不用什麼東西都來寫旅人留言簿了~ ^_*'
日期: 11.3.’04.
今天完成了一件大事:相關連結/繼續旅行的管理界面,終於完工了。好幾年無法管理維護的相關連結,終於又可以正常維護了。 ^_*' 雖然還有幾個晦瑟不明的 bug ,不過大體上已經可以正常管理了。
這是 Selima 2 的大事: Selima 終於向一個完整的內容管理系統,邁開了第一步,實作出了第一個內容管理的功能~ ^_*' 呵呵。
接下來要趕期中考了。終於安心了,放下心中的一塊大石。我要暫時把 Selima 擱著了~ ^_*'
日期: 10.24.’04.
終於擺脫了 Selima 1 的奇怪舊程式,把旅舍、女聲和各個網站的程式,全面昇級到 Selima 2 的資料庫系統。舊 Selima 1 麻煩又不好維護的程式碼都一一刪掉了,心情超好中~ ^_*' 呵呵~
日期: 10.24.’04.
旅人留言簿新程式上路。目前核心是搭配 PostgreSQL 資料庫的第二代 Selima 系統。留言簿頁數會重排。速度會稍微慢一些,不過功能更強。
若有任何問題,請隨時告知。
日期: 3.22.’04.
我正在考慮把旅舍的 Selima 系統資料庫化。資料庫系統方面,可能會採用 MySQL 。
日期: 9.26.’03.
剛剛修正了旅人留言簿 Selima 系統的一個小問題。
之前留言時,ТАТУ
不知道為什麼,俄文顯示出來變成亂碼,當時我也未加深究。剛剛留言,尼羅河女兒的ヒッタイト(比泰多王國)
日文又變成亂碼,我進去查了一次。原來是 Big5 編碼標準混亂的問題。當初五大中文商共同訂定的原始 Big5 大五碼裏,不包含日文及一些擴充字元。後來倚天中文為了方便起見,自己在 Big5 加了日文、公文符號及一些擴充字元。可是後來微軟 Windows 所用的 Big5 裏,沒有加上那些擴充字元,形成了另一個版本的 Big5 。倚天擴充版的 Big5 俗稱 Big5-ETen ,微軟的 Big5 自己取了一個名字叫 CP950 。 Perl 的 Encode 裏的 Big5 ,取的是 Big5-ETen ,日文和俄文,都在 Big5-ETen 裏有碼位,直接對映到 Big5-ETen 的字,可是 Windows 下的 CP950 裏沒有這些字,所以就變成亂碼。
我現在改映到 CP950 ,日文和俄文不映到 Big5 下的碼位,會正確以 Unicode 表示法顯示。雖然很討厭微軟,不過在 Unicode 時代,日文和俄文對應到 Unicode 而不是 Big5 ,應該是比較正確的做法。
日期: 6.4.’03.
最近突發奇想,想自己寫一個 web mail 。本來以為很簡單,但是現在看樣子是卡住了。
看樣子, Selima 系統的彈性似乎還不夠大,蠻失敗的。
Selima 的前身,公司的 Monica 系統,也面臨了同樣的問題。想從 Monica 做出圖檔上傳,和專案管理的功能,卻碰到了瓶頸。系統太大,也太硬了,沒什麼彈性,難以擴充。
頗煩。
日期: 5.13.’03.
旅舍/女聲的線路已昇級為雙向 512Kbps ,以後網站連線速度會提高很多。此外,因為頻寬變大,不怕為了收信癱瘓家裏的網路,我也開始在公司收家裏的 E-mail 了。加上現在的 Selima 系統的留言郵件通知,對於留言的回應會比以前更即時~ ^_*'
當然,也要我想得到該怎麼回應才有用。處女座的即時反應是很差的。 ^^;
日期: 4.26.’03.
解決了一個留言本的 bug ,呵。 ^^;
之前改了一些基本的設計,可是有個小地方沒有跟著改。那麼多天了都沒發現… :p
日期: 4.18.’03.
今天晚上實驗了一下,旅人留言本所用的 Selima 系統,因為多語切換用到 GNU glibc 的 gettext ,所以應該很難在 Windows 下跑(要裝 cygwin )。應該說,要在 Unix 之外的作業系統上跑,難度不小。
我有考慮過,多語切換用 Perl 專用的 Maketext 。 Maketext 是目前 Perl 的多語標準,不需要 GNU glibc ,可以在任何作業系統上跑。不過 Maketext 工具太少,而且撰寫介面頗複雜,整體設計不如 gettext 簡潔方便,所以還是算了。
另外, Selima 因為用到 Encode ,所以一定要在最新的 Perl 5.8.0 以上跑,無法在之前的 Perl 上跑。
我一直以為 Selima 可以跨平台作業,相容性很高,沒想到條件其實很嚴苛~~ ^^;。
日期: 4.10.’03.
Selima 的留言板系統,差不多撰寫完成了。留言通知也改用 Sendmail 幕後寄信,加快程式本身反應速度。該要的功能都做出來了。
整個 Selima 系統,都是用純 Perl 寫的。在這個 PHP 當道的時代,我要證明一件事: Perl 遠比 PHP 優秀,遠比 PHP 強。
Selima 是一套特別針對 mod_perl 的特性強化的系統,在很多地方做了效能強化處理,可是還是儘量保持 Perl/CGI 的相容性。我甚至把留言板的資料庫索引整個快取在 Apache 的記憶體中。以目前的旅人留言簿留言數量來說,在 Perl/CGI 模式下執行,顯示頁面約需 0.26 秒,
在 mod_perl 下快取執行,顯示頁面可以加速到 0.03 秒,如果配合瀏覽器本身的快取的話,反應時間甚至可以縮短到 0.006 秒!
在 Selima 上,妳可以真正感覺到快。除了頻寬以外,妳感覺不到任何停頓。 CGI 程式跑起來像靜態網頁一樣。這才是真正的 Power ^_*'
PHP 哪有這種 Power ?哇哈哈哈哈哈~~