自刨自吃,闲云野鹤,眼净心净,天宽地宽。
TranslatioN
Read It Later 集成到 Google Reader
1November 5, 2008
by 净空无道
in TranslatioN
洒家阅读新闻用的两个最重要的工具:Read It Later 和 Google Reader 终于能够直接集成了。实在是美哉。 Read It Later Comes To Google Reader
真实世界让你很沮丧吗?IBM 邀请你到超越时空的紫禁城一游。
0October 13, 2008
by 净空无道
in TranslatioN
原文:Real World Got You Down? IBM Invites You To A Virtual Forbidden City.。 想去中国游览紫禁城又买不起机票?现在,你只要有台计算机就行了。IBM——虚拟世界最忠实的信徒——和中国故宫博物院共同把这个占地 178 英亩的紫禁城在虚拟世界里重现。在三年时间里,他们非常细致的重建了所有的建筑物和数以千计的重要文物,现在,“超越时空的紫禁城”已经可供下载(有 Windows、Mac 和 Linux 版)。这个软件可以免费下载,不过先提醒你,Mac 版的可是一个实实在在的 275M 的安装包。 当你进去后,你能够选择你的形象、穿上清朝的服装、进行虚拟的浏览、和计算机控制的角色玩耍、查找地图、浏览建筑物和里面的文物,你还可以点击这些建筑物或者文物以得到进一步信息。这个虚拟世界构建在名为 Torque 的游戏平台,这个游戏平台来自 Garage Games。(我估计是因为 OpenSim 不够好,因为没有评论说虚拟时空紫禁城时候会和第二人生进行互动) 如果你想找个地方躲避现在金融风暴,但是有没钱真的出去旅游的话,那么你可以来 IBM 的超越时空紫禁城里闲逛上几个钟头。
地图聚合的数据格式前三名:KML、GeoRSS 和 GeoJSON
1August 28, 2008
原文地址:3 Top Data Formats for Map Mashups: KML, GeoRSS and GeoJSON。 随着地图聚合给最终用户提供的一系列更广泛的工具和应用程序,它在完善程度和功能性两方面逐渐走向成熟。 因此,我们需要一些预定义好的方法在传统的地理空间数据和新一代的地图聚合之间交换、发布这些地理空间数据,并且使用一种对 web 友好的方式使用这些数据。 为了满足这种需求,出现了一些新的地理空间数据格式,这能够让更大范围的用户和开发者来聚合地理相关的信息。 下面是当前可供从事地理信息聚合的开发者使用的三种主要数据格式的一个概括: KML 你知道 Google 地球的前身,那个流行的名为 Keyhole 的三维地球浏览器吗? 如果你知道,那么这个基于 XML 的,Google 地球自己的文件格式被叫做 KML,意为 Keyhole 标记语言,就不值得惊讶了。 在地理空间相关的网站上,KML 无处不在,KML 支持从类似 Google 地图、微软的虚拟地球这样商业化的地图 API 和 OpenLayers 这样开源的地图 API 中导入、导出数据。 今年早些时候,Google 把 KML 作为一种开放标准发布,并且被开放地理空间联盟 (OGC) 采用。 你可以研读最新的 KML 规范 (当前是 2.2 版) 或者学习如何让 KML [...]
做好准备迎接新的平台大战。Google Gears 直指微软领地
0June 16, 2008
原文:Get Ready For A New Platform War. Google Gears Drives Straight At Microsoft’s Profits.。 Google 在去年五月发布了 Gears,之后的一年里 Gears 被认为是一个小众产品,只会有很少开发者和用户用它来开发能够离线访问的 web 程序。兴许你还能回想起当年的争论:在到处都有网络连接的情况下,究竟谁需要离线访问功能,而且还没有足够的程序支持,等等。不到一年的时间,就在几周前,Google 亮出了他的王牌:Gears 助力 MySpace 加速邮件系统。其实 Google 早就加入了这场提供新 web API 的比赛,但是居然一年了都没有人注意到。 将来的浏览器很可能会变成运行所有程序的虚拟机。在这种情况下,操作系统会变的透明,就像 Adobe 所作的,它的 Flash 技术是现在使用的最普遍、最统一的 web 虚拟机,而微软则要自保(它的利润的来源)了。Google 不隐瞒他们想瞄准并且攻击微软的野心,他们知道,要做到这点的最好方法就是上移一层把操作系统架空,让浏览器成为标准且强劲的应用程序虚拟机。 很难在一片评论里表达清楚 Gears 如何改变并且增加 web 程序的功能。以前使用基于浏览器的 Javascript 脚本,MySpace 中的一些类似邮件列表和排序、根据好友列表过滤这样的功能会让人感觉很慢,而当浏览器向服务器发送多个请求时,进度条还可能会定住,沙漏图标在不停的旋转。而现在,安装 Gears 只要在确认框点击一下并且等待几秒钟,安装之后,以前让用户抓狂的那些功能现在感觉起来就好象是浏览器自带功能一样。Google 给我们秀了一把 Gears 与 MySpace 集成后的能力,这唤醒了大部分人关注他真正的意图:不再仅是离线浏览,而是直接针对 Adobe 和微软所采取的行动。 [...]
下一代 web:HTML5——我们能等到真正的标准吗?
2June 9, 2008
原文:The Next-Gen Web: HTML5 – Will We Ever See A Real Standard?。 本地存储相关的 API 作为最新的 HTML5 规范草案的一部分,我们在上个星期看到一些浏览器和插件已经开始采纳这些 API。虽然 Gears、Opera 还有 Webkit 都已经实现了结构化存储部分的 API,但是 HTML5 规范里其他的部分当前还都没有怎么实现,而且前途不明。HTML5 尽了最大的努力来让所有的浏览器都统一在一个单一且标准化的标记语言和一系列 API 下——但是 微软、Adobe 和 其他的领先者们都有了自己的下一代 web 技术,那么我们还能看到真正的 HTML5 标准吗? 历史的教训 在适用范围和成果方面,HTML5的成果与历史上早期的 HTML 3.0 规范 有所相似。返回到 1995 年 4 月,开始起草 HTML 3.0 规范,其目的是向后兼容 HTML 2.0 并且添加新的特性(例如表格)。当时 W3C 刚刚成立,这个新工作组要完成的第一批规范之一就是 HTML 3.0 [...]
下一代 web:浏览器存储支持
0June 7, 2008
原文:The Next-Gen Web: Browser Storage Support。 下一代的 web 已经开始上路了,就在这个星期,MySpace 集成了 Google Gears,雅虎发布了新的 BrowserPlus,Google 的浏览器版三维地球也上线了。类似 AIR、Silverlight、JavaFX、Gears、XUL、Web Applications 1.0 (DOM5, HTML5 等) 这样的技术和格式让开发者能够超过 AJAX 加速冲向下一代的,有着更好的性能、更多的功能,而且和桌面集成的更加紧密的 web 程序。 现在,因为各个公司都急于展示他们自己的下一代 web 的样子,导致开发者和用户都被前所未有的超多 web 技术所压迫;“DLL 地狱”也被“插件地域”所取代。但是在 web 上,这样过多的选择会导致用户和开发者的成本增加。第一次 web 格式大战已经过去十多年了,那个时候微软、网景、苹果、美国在线还有其他公司都在浏览器标准、脚本语言、web 服务等方面成立了不同的基金会。这次大战的影响一直持续到现在,例如 Javascript 来发展需要依赖整套的代码库来开发跨浏览器代码,CSS 开发者需要一系列 hack 才能让他们的站点能够在不同的浏览器中看起来都一样。 现在新一代的富 web 程序技术还都在开发阶段,所以还有机会采用基于标准的态度,来避免重蹈覆辙。幸亏有了过去十多年的教训,现在连微软这样的公司都在以更加开放的姿态来接纳开放标准、数据迁移还有跨平台支持。不管是用户还是开发者,对开放标准的广泛支持都能简化他们用到的技术,但是明显的,并不是所有当前发布的新技术都能支持开放标准。 在 Techcrunch 这一系列帖子里,我们来看看这些组成新一代 web 的各种元素,并且评估可用的选项,当前支持的标准以及对标准的采用情况。由于 MySpace 刚刚宣布他们在程序里面使用了 Google Gears,那么我们的第一篇就来评估基于浏览器的本地缓存。 基于浏览器的本地存储 随着基于 [...]
PHP 基准测试
0June 5, 2008
原文:The PHP Benchmark | Web Resources | WebAppers。 创建 PHPBench 的目的是让你看到每一个 PHP 代码段的运行速度不都是一样的。看到 PHPBench 生成的结果,你很可能会大吃一惊。这个网站还有一个目的就是让你自己去发现一些规律,然后在你自己的服务器环境里,使用示例代码重新运行这些测试来验证你的发现。而且你还可以看到一些 PHPBench 测到的有趣的结论: 很奇怪的结果表明,如果你执行sizeof(),那么是否预先计算循环的次数基本上没有什么区别。 事实上,each 和 print 执行的功能完全一样,因此都适用于同样的代码段。有一小点需要注意的就是,当你使用逗号分隔输出列表并且使用 echo 输出,则会运行的稍微快一丁点。 while 循环在 90% 的情况下确实能够快一点点。 需求: -演示: http://www.phpbench.com/协议: 自由协议
10 件(也许)你不了解 PHP 的事情
0February 25, 2008
来源:10 things you (probably) didn’t know about PHP PHP 是我用过的语言中,最令人恼火的但同时也是最有趣的语言。我之所以说“令人恼火”主要是因为函数命名极其不一致。尽管我每天都要用到这些函数,我还是要想一下“究竟是 str_pos 还是 strpos?是 str_split 还是 strsplit?”。另一方面,有时候可以用一行简单的代码就能解决一个难题。 下面是一些很酷的特性,很可能你也没有注意到: 使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。 在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的 email 地址是 “joeuser@wwwphp.net” 而不是 “joeuser@php.net” 的家伙们,这个方法可以很方便的抓住他们。 如果你使用的是 PHP 5 和 MySQL 4.1 或者更高的版本,考虑抛弃 mysql_* 系列函数改用改进版的 [...]
PHP Security / Sessions / Session Fixation
0July 1, 2007
Session Fixation 会话固定攻击 Session security is a sophisticated topic, and it’s no surprise that sessions are a frequent target of attack. Most session attacks involve impersonation, where the attacker attempts to gain access to another user’s session. 会话安全是一个老生常谈的话题了,会话作为一个常见的攻击目标一点也不稀奇。绝大多数的会话攻击都用的是会话伪装,攻击者要试图用这种方法访问另外一个用户的会话。 The most crucial piece of information for an attacker is the session identifier, because this is required [...]
PHP Security / Databases and SQL / SQL Injection
0June 19, 2007
SQL Injection SQL 注入 SQL injection attacks are extremely simple to defend against, but many applications are still vulnerable. Consider the following SQL statement: SQL 注入攻击很容易就能防范,但是很多程序在这方面还是很脆弱的。看下面的 SQL 语句: 123456789<?php $sql = "INSERT INTO users (reg_username, reg_password, [...]
Recent Comments