日期: 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 ?哇哈哈哈哈哈~~