读书时间

浅谈曼波 (Mambo)

曼波(Mambo)是一套用PHP语言编写的内容管理系统(CMS, Content Management System)。以前我曾数次(1, 2)讨论过、提到过内容管理系统,尤其是用PHP语言编写的内容管理系统。不过那时候,曼波还不在我的注视之列。

6月中旬的时候,我在网上浏览书籍,翻到两本Packt出版社12005年出版的关于曼波的书,一本是《Mastering Mambo》,另外一本是《Building Websites with Mambo》(这两本书都可以在Amazon找到)。翻了翻这两本书后,又去网上浏览了一下曼波的相关资料。

令我新奇的是,在曼波的历史上,其版权问题始终让人模糊不清。于是,我颇花了一些时间去研究曼波的历史(123),总算大体搞清楚了其历史和版权方面的脉络。大致来讲:
  • 2000年,澳大利亚的Miro公司开发了曼波。

  • 2001年,Miro公司于四月份发布了基于GNU GPL开源协议的曼波 (MOS),同时开发商业版的曼波。

  • 2003年中期,由于曼波的版权被滥用,Miro公司撤出开源版本曼波的技术维护,原项目负责人Robert重新接管开源版本曼波的开发管理。同时,Miro公司继续开发商业版的曼波。

  • ……

  • 据我观察,目前Miro公司已经停止了商业版曼波的开发,但提供对开源版曼波提供技术服务的业务。

我并没有专门去测试曼波,也许以后可能会试试。另外,有2个(可能)比较好的关于曼波的中文网站:Manbo.cnMambo中国

[注1] Packt是一家最近几个月才引起我注意的出版社。它于2004年4月出版第一本书,其出书的特点之一是:专注于出版针对具体软件具体使用方法的书籍,例如上面提到的关于曼波的两本书。单就今年而言,这家出版社就出版了关于网站论坛程序vBulletin、虚拟主机管理软件cPanel、网络层安全软件Openswan、课程管理系统Moodle、内容管理系统Joomla、虚拟专用网软件OpenVPN等关于软件使用方面的书籍。

O'Reilly出版社的特色之一是其封面多采用各种动物的图案(非真实照片),而Packt出版社的特色之一是,其封面大多采用各种值得一赏的写实照片,尤其以动植物照片居多。


[补充说明1] 本文部分内容最初草稿于2006-06-17 12:11:35左右。
标签: 
类别: 

网站建设的可持续发展 (2)

所谓网站的可持续发展,可以理解为网站的可扩展性,也就是说网站是否易于升级、移植等。网站的可持续发展包括(各种)性能优化,但不仅仅包括性能优化。如果单单考虑性能优化,已经有很多很多的书籍在讨论各种web技术的性能优化、性能提升,包括程序语言(例如PHP)的优化、web服务器(例如Apache)的优化、数据库(例如MySQL)的优化等等。

本文主要讨论的不是具体性能优化技术,而主要讨论可持续发展(可扩展)的网站架构设计。

关于网站可持续发展的讨论并不太多。到目前为止,在Amazon网站上,大体上看起来也只有有限的几本书关注这一话题(目前我只看到两本)。

Theo Schlossnagle历时2年有余,终于在今年5月11日左右写完了《Scalable Internet Architectures》(可扩展网站架构)这本书。这本书早已在Amazon网站列出,但要到下个月24日才会由Sams出版社出版,所以我们目前还无法知道作者精心打造的这本书的可读性究竟如何。

Cal Henderson来自英国伦敦,是Flickr网站的主要开发人员(之一)。在上个月,他通过O'Reilly出版社出版了一本书:《Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications》(搭建可扩展网站:搭建、扩展、优化下一代网站应用)。

Flickr网站的建设过程涵盖了一个正规化、国际化、大中型网站建设的方方面面,也是最近两年人们热炒的“web 2.0”类型的典范网站。虽然我也曾说过“web2.0关程序员什么事?”,但相对于4、5年前的“web 1.0”时代的web技术,“web 2.0”时代所面对的技术环境、建站思路和“web 1.0”时代的确是有一些明显变化的。因此,如果依然沿袭几年前的建站经验,势必有逐渐落伍的趋势。就此看来,Cal所写的这本书实际上可以看成一个典型的、与时俱进的web网站开发过程中心得体会的总结,有相当的借鉴价值。

我大体翻了翻Cal写的这本书。

这本书共分11章。前三章“介绍”、“web应用架构”和“开发环境”没有太多需要在这里特别介绍的。

第四章讨论“国际化、本地化和unicode编码”(i18n, L10n, and Unicode)。这是一个非常好的话题。我曾在《网志系统Serendipity评测 (2)》一文中提到“最近2年,在网页编码中,UTF-8被越来越广泛地使用”,“使用UTF-8将会比使用GB2312有明显优势”,但我从未展开讨论过UTF-8技术。这一章对“UTF-8”的应用做了相当详细的介绍。可惜这本书是英语作者写的,如果是东亚人写的话,可能能把相关技术细节写得更明确、更详细,例如对多字节字符的具体支持等。当然,这只是一个锦上添花的想法。

第五章讨论“数据完整性保持和数据安全”。这一章对数据校验、数据完整性保持方面写得比较具体,但依然不够丰满。对于任何一套(web)应用而言,非常重要的一点就是:数据。因此对于数据的处理、数据的可移植性等好些地方还有可以进一步细化、研究、注意的地方。在这些方面,Cal并没有细谈,有点遗憾。

第六章讨论“email”。这一章我没有详细翻,我也觉得这一章对我而言并不是特别重要。

第七章讲述“远程服务”。这一章可以和第11章“APIs”结合起来读一读,做相关开发的时候(例如web service开发)值得翻翻。

第八章讲述“瓶颈问题”,第九章讲述“扩展web应用”,第十章讲述“统计、监控和提醒”。有读者在amazon评价说这三章写得非常好,值得一读。

总体而言,Cal写的这本书也许还有可以再补充的地方,但其相关论述已比较全面,值得一读。当然,我们也可以期待以后去读读本文一开始提到的Theo写的那本尚未面世的书。

至少,这两本书填补了web开发书籍中的某些空白。

[补充说明1] 本文前三段对“网站的可持续发展”具体含义的描述不是很清晰。

[补充说明2] 今晚翻了翻文中提到的那本《Scalable Internet Architectures》,觉得写得相当不错。其涵盖了某些非常有意思的话题,例如页面静态化、缓存、分布式数据库、日志、在线统计等,只是某些地方没有作进一步的深入介绍和分析。这是一本相当值得一读的书籍。2006-09-15 20:47:41。
类别: 

Ajax书籍粗评

Ajax是2005年才正式出现的一项web技术,但却迅速风靡起来。在主流的英文IT技术书籍出版商中,Apress、O'Reilly、Manning、Wrox、Wiley等已经推出关于Ajax的相关书籍了,而其它著名/知名的英文IT技术书籍出版商像Addison Wesley、Prentice Hall、Sams、McGraw-Hill、Que、New Riders、Sybex等要么还没有出版相关的书籍,要么其出版的Ajax书籍尚未得到广大读者的认可。

本文列出Amazon网站5月份销售排行榜上关于Ajax技术书籍的前10名,并会对其中7本进行粗评。

本文并非正式书评,仅仅列出可能值得一读的Ajax书籍列表。本文也并没有(明确)指出这些Ajax书籍中哪本最好或者最值得一读。我只是(泛泛地)翻了翻其中部分书籍,但并未详细阅读全文,我也并不通晓Ajax,虽然我熟知web技术。

因此,本文读者需要注意的是:本文的分析可能不十分精确。因此,事实上,我在这里所展示的数据只是为后来者的需要而提供一些最初的资料分析工作而已。另外,本文列出的书籍都是英文的。

以下开始列表和粗评:

01. Head Rush Ajax (O'Reilly出版于2006年3月, $39.99, 4.0/51, 未评)

没翻过,未评。

02. Ajax in Action (Manning出版于2005年10月, $44.95, 4.5/5, 粗评)

这本书写得非常详细,而且看上去感觉条理清晰,写得不错。

03. Professional Ajax (Wrox出版于2006年2月, $39.99, 4.5/5, 粗评)

这本书涉猎较广(也可以理解为废话可能比较多)。我尤其认为该书第九章综合PHP等技术以“AjaxMail”作为例子介绍Ajax技术的方式不是很好,浪费笔墨。

我不推荐该书。

04. Pragmatic Ajax: A Web 2.0 Primer (Pragmatic出版于2006年4月, $29.95, 5.0/5, 粗评)

这本书比较简略,可读性有待检验。Pragmatic最近出版的Pragmatic系列技术书籍我没怎么读过,对于其风格尚不很了解。

我个人不建议优先选择该书。

05. Ajax Hacks: Tips & Tools for Creating Responsive Web Sites (O'Reilly出版于2006年3月, $29.99, 3.5/5, 粗评)

该书并未按惯例逐步介绍Ajax技术,而偏重于介绍实战中的各种相关技巧。这也是O'Reilly出版社的Hacks系列书籍的一贯风格。该书适合在睡觉前阅读,或者闲的时候阅读。总之,值得有空的时候读读。

06. Ajax And Php: Building Responsive Web Applications (Packt出版于2006年3月, $34.99, 4.5/5, 未评)

没翻过,未评。

07. Ajax Patterns and Best Practices (Apress出版于2006年2月, $44.99, 5.0/5, 粗评)

从章节组织上来看,这本书很不错,明显比《Foundations of Ajax》的思想性强很多。我感觉这是一本很好的技术书籍。但是,如果你想速成学习Ajax技术的话,还是先读读别的Ajax书籍,而不(一定)要首选该书。

喜欢技术思考的人有空读读这本书很不错。

08. Pro JSF and Ajax: Building Rich Internet Components (Apress出版于2006年2月, $49.99, 4.0/5, 未评)

没翻过,未评。

09. Ajax For Dummies (Wiley出版于2006年3月, $29.99, 5.0/5, 粗评)

Wiley出版社的Dummies(傻瓜)系列技术书籍更适合在校学生或者技术新手学习时用,并不太适合专业技术人员使用。这本书也不例外。

10. Foundations of Ajax (Apress出版于2005年10月, $39.99, 4.0/5, 粗评)

这本书不太注重思想,是一本主要偏重于实战型的书籍。可以一读。

[注1] 这是Amazon上读者对该书的评分,4.0/5表示读者对该书的评价程度为4.0(总分5.0)。下同。

[补充说明1] 本文草稿于2006-05-21 19:55:46,文中所有数据(包括Amazon销售排行榜数据等)收集于2006-05-21,并非当前最新数据。

[补充说明2] 本文不大欢迎评论。
类别: 

Sams - MySQL Database Design and Tuning

Sams出版社 (Sams Publishing,一家非常有名的电脑书籍出版公司) 在2005年6月出了一本书:《MySQL数据库设计和优化》(MySQL Database Design and Tuning)。今天翻了翻,觉得写得不错。

这本书介绍了一些MySQL数据库设计、代码编写、维护方面的技巧,适合数据库管理员和中、高级程序员阅读。

MySQL方面的书籍多如牛毛,不同的书针对不同的目标读者。但就程序员个人能力水平而言,就可以分为初级、中级、高级这几种。对于PHP程序员,如果你懂Smarty,懂adoDB,你可以被认为是一个中级程序员。但这本书不是为(成为)中级程序员准备的,而只是为(成为)高级程序员准备的。

显然,这本书不会介绍MySQL的一些基础知识等等。

数据库设计人员适合阅读第二部分:高级数据库设计概念(Advanced Database Design Concepts);程序员适合阅读该书第三部分:优化应用代码(Optimizing Application Code)。

如果只是想靠一门技术而谋取一份工作的话,这本书没有读的必要;如果是对一门技术有职业兴趣、或者想把一个项目做好或做得出色的话,这本书才有读的必要。

最后说一个小插曲。上学期(2005秋季)我大概曾在520课程和558课程演讲中说到目前MySQL 5虽然已经支持stored procedures(存储过程)等,但还未能支持trigger(触发器)。实际上当时我说错了。从这本书中我们可以看到,MySQL v5.0.2 (2004年12月发布)已经开始对trigger有了初步的支持。
标签: 
类别: 

“读书时间”类别开篇

我打算开个新的网志类别,叫做“读书时间”,用来阐述我读了一些书籍(主要是技术书籍)后对相关书籍的内容介绍和个人感受。为什么想起来要开这么一个类别呢?因为我经常能够通过某种方式获得某些最新电子版的技术书籍,能够经常翻翻一些最新的技术书籍。有时候读得比较开心,就希望能跟别人分享一点自己的读后感。

实际上我更愿意把这个类别的名字叫做“囫囵吞枣”,因为我读很多技术书籍都是“囫囵吞枣”方式的,不会细读每一个部分。也就是说,我很喜欢用粗读的方式来读技术书籍。这种粗读的读书方式很省时间,而且在读的过程中,能使自己处于一个“跳出三界外、不在五行中”的状态,能够尽可能地脱离于书本本身、站在一个独立的角度来看待、来关联书中相关的技术和思考。在粗读的过程中,其实脑子也是处于不断的思索的状态的。

选择“粗读”还有一个原因,就是很多书籍所讨论的内容很好,但我暂时用不上。比如说我曾提到过一本书,叫做“如何打开现代的高安全锁”;我前一阵还看到一本挺有意思的书,就是讲“生物识别”技术的。这些书的内容很有趣,但和我的职业暂时没有关系,因此我没必要花费自己现在的时间去细读它们,翻翻、了解了解它们的大概内容就可以了。

我介绍、推荐的书籍跟我介绍、推荐的软件不一样。我介绍的软件很可能是非常出色、非常经典的软件,但我介绍的书籍不一定是最出色的书籍。但至少,我介绍的书籍一定不会是烂书。

这些书籍从哪里可以获得?途径有很多,其中的部分途径在“在海外读电子书籍”一文中我曾有所提及。
标签: 
类别: