为 Mozilla/Firefox 增加 children 集合
以下代码使用 Mozilla/Firefox 独有的方法,增加 children 集合(仅处理对象和长度属性,未处理 item, tags, urns 方法,但已能满足基本使用需求):

  1. HTMLElement.prototype.__defineGetter__("children",
  2.     function () {
  3.         var returnValue = new Object();
  4.         var number = 0;
  5.         for (var i = 0; i < this.childNodes.length; i++) {
  6.             if (this.childNodes[i].nodeType == 1) {
  7.                 returnValue[number] = this.childNodes[i];
  8.                 number++;
  9.             }
  10.         }
  11.         returnValue.length = number;
  12.         return returnValue;
  13.     }
  14. );
Current language: 中文 (简体)
又有一段时间没写了
对近来遇到的问题做一下总结:

设计 passport 时,发现在 Firefox 下提交的 hmac_sha1() 过的数据都是错误的。最后发现是由于属性书写不规范,img 标签中的 src 属性没有值,即“<img src width=...”。为 src 属性加上值后一切正常。
如果设置的 Cookie 的存活期很短,需要特别注意一下。因为设置 Cookie 的头是由服务器发出的,到期时间是由服务器时间加上存活期得到的。如果客户端的时钟比服务器端走的快,而存活期又很短,Cookie 可能会直接过期。
动态加载 CSS 文件可以使用 styleSheet 对象的 addImport 方法。
动态加载 JS 文件可以通过向 HEAD 中添加 defer 属性值为 true 的 script 对象。(See Also)
Current language: 中文 (简体)
用 PHP 写离线浏览程序
借助 XMLHTTP,我们可以很快速地制作一个离线浏览程序。步骤如下:

1. 发送请求,服务器端下载网页代码,生成 MHT 文件的头部信息和首网页的数据并写入文件。解析出所有图片及链接文件的 URL,返回给客户端。

2. 客户端收到 URL 列表后,建立 N 个 XMLHTTP 对象,并依顺序发送请求,补充网页中包含的文件的内容。

3. 所有 URL 处理完毕后,MHT 文件中的数据也已添加完整,离线浏览用的文件就生成了。
Current language: 中文 (简体)
总结
对编写 Files 的过程中遇到的问题,总结与记录一下:

尽量不要搞特殊。文件名中不能含有 * ? | : " 等字符的常规最好还是要遵守,即使现在不会引起错误。
目录最好单建一个表存储,有利于操作。若只在文件信息的表中记录路径,空文件夹会带来很多问题,通常会使问题变得很复杂。
Current language: 中文 (简体)
文件系统函数库和目录函数库仿真类基本完成
现在支持 basename, copy, dirname, file_exists, file_get_contents, file_put_contents, filemtime, filesize, filetype, is_dir, is_file, is_writable, mkdir, rename, rmdir, unlink, opendir, readdir, closedir, scandir 这些函数。函数的参数及返回值与 PHP 内置的函数基本相同。

数据库部分共使用 4 个表: cache, file_index, file_storage, path_index。其中 cache 表存储缓存,加速列表的速度;file_index 表存储文件索引,包含文件所在文件夹的ID、文件大小、最后修改时间等信息;path_index 表存储文件夹的信息。对于比较小的文件,程序默认将其保存在数据库中,加快读取速度;比较大的文件则保存在磁盘上。均使用 MD5 HASH 值作为标识符。
Current language: 中文 (简体)
在数据库中存储文件
最近 Files 的功能一再增加,情况也越来越复杂。面对着越来越多的函数和 SQL 查询,脑子越来越乱。

终于下决心写一套使用方法和 PHP 内置的文件系统函数一样的函数了。

这也是更改存储结构的一次机会,所以动手之前需要先总结一下教训,改进一下结构。
Current language: 中文 (简体)
Gender Guesser has been published
Gender Guesser:

http://www.phpclasses.org/browse/package/2701.html

All classes I published on PHP Classes:

http://www.phpclasses.org/browse/author/168501.html
Current language: English · 其他语言: 中文 (简体)
MySQL 5.0.15 has been released
5.0.15 是 MySQL 5 的第一个生产版本。

看了一下 What's New 发现改变还真不少,对我来说还是其中的性能优化比较有用。但 4.1 和 5.0 在某些地方有矛盾,想升级还得先仔细检查一下。
Current language: 中文 (简体)
Guessing the gender by name
Today I collected 5000 names with gender and then wrote a program that guess the gender by name.

In the test, the accuracy rate is pretty good, near to the result human guessed. I will publish it on phpclasses.org in several days.
Current language: English · 其他语言: 中文 (简体)
从头再来
今天听“从头再来”,感觉歌词像是在说我啊~~~

只不过不是“勤勤苦苦已度过半生”,我还没成年。
Current language: 中文 (简体)
More entries: [1] ... [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
« Previous page · Next page »