为四川人民祈祷! www.onefoundation.cn
logo of kjam.org
Archive: 2009-2

Google Account Authentication API

半年前研究过 Google Account Authentication API, 现在回头再来看, 发现又有更新.
Google Account 现在已经阵容强大, 由单一的 AuthSub 发展到 OAuth Federated Hybird 一共四种

AuthSub: 提供单独的 google service access, 比如gmail contact. 如果你要一次使用多个 google service, 比如同时需要读取 picasaweb 和 youtube 的数据, 那么用 authsub 就不那么合适了, 应为你需要让用户傻傻的登录google两次.
OAuth: 和 authsub 相比, 提供了 sign-on, 一次登录可以取得的 authtoken 可以 access 好几个 google services.
Federated: 本质上是 openid, 他是唯一可以让你在使用google account登录自己网站的同事, 拿到用户电子邮件的的方法.
Hybird: 集成了oauth 和 openid, 可以让你的网站可以同时拿到 google service 访问权限, 以及用户的电子邮件.

AuthSub 即将过时, 现在的好处是, 使用 authsub 不需要在 google 注册自己的网站.

建议Google 的 OAuth 能够对开发人员更加友好,比如可以在本地调试。
comments: 0  
by kernel1983

Xdebug on OS X

想要调试 PHP, 才发现原来 PHP 不像其他的语言, 只要有 IDE 就可以去调试自己的程序.
首先, 需要给自己的PHP加上一个插件 Xdebug. OS X 上下载源码, 编译安装, 都没有问题. 最后运行 phpinfo() 却看不到 xdebug 的信息.
在网上找到一篇 在 Mac OS X Leopard 上启用 Xdebug 的译文, 原文在 Enabling Xdebug under Mac OS X Leopard, 看过之后才知道原来 PHP 还有 zend_extension 这么隐晦的东西.
phpize
./configure
make
sudo make install

之后我没有按照文章中的配置方法做, 直接修改了/etc/php.ini, 添加了一行
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so

网页中运行 phpinfo() 中仍然看不到 xdebug 的影子, 但是 CLI 状态下可以看到不少和 xdebug 有关的信息.
[xdebug]
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

添加完上面几行, Netbeans 中可以调试了.
相信适当的配置以后 eclipse 的 PDT 也会开始工作.
comments: 0  
by kernel1983

Make OS X support NTFS

各位新年好! 这个新年假期第一次真正属于了自己, 玩的开心, 休息的也很不错.
这里分享一下新年里学到的小技巧, 在 OS X 上读写 NTFS 格式.

大家知道 NTFS 格式是微软专有的, 苹果 OS X 上只能读, 某些新一点的 Linux 发行版配置了具备读写功能的文件系统驱动程序.

说白了, 大家都是 UNIX. 只要加个文件系统驱动, 也就是说给内核加一个模块(一些常用的文件系统驱动是编译到内核里面去 的), 就可以直接通过 mount 命令来直接用指定驱动挂上设备.
这里所说的文件系统驱动, ntfs-3g 就是一个.

但是... 在 OS X 下面, 没人愿意通过命令行来挂载硬盘.
于是 Google 的一位工程师创建了一个项目叫 MacFUSE, 注意这个软件并不能让 OS X 直接支持 NTFS 文件系统, 但是他可以给 OS X 添加文件系统支持.

最后, 大家把前面的原理都忘记了吧.
先安装 MacFuse, 再去下载 macntfs-3g.
两个都是 dmg 安装文件, 安装完重新启动, 你的系统就可以向 NTFS 硬盘中写文件了.
comments: 0  
by kernel1983
1