#
http://code.google.com/p/pubsubhubbub/
pubsubhubbub是google開發(fā)的一種Atom和RSS增強協(xié)議,能夠接近實時發(fā)布信息。
也就是說,如果blogjava支持了pubsubhubbub,我在這里發(fā)布了博客,你就可以在你的閱讀器里很快看到我的文章。
現(xiàn)在只有部分博客服務商提供了pubsubhubbub功能,譬如WordPress,F(xiàn)riendFeed,livedoor等。
pubsubhubbub的原理很簡單。它由3部分組成,pub,sub,hub(最后的bub不是的,hubbub是騷動的意思)。
pub可以看成是博客,sub是閱讀器,而hub是一個中轉站。通常是由sub向pub請求內容,而pubsubhubbub是由sub想hub請求,hub再向pub請求,多一層hub的作用是降低pub的壓力。hub收到pub的更新后,會向sub發(fā)布最新的內容。
因為不是pub直接向sub發(fā)布,所以這里說的“接近”實時發(fā)布信息。
那么如何讓博客支持pubsubhubbub呢?只需要建立一個hub服務器,然后在生產rss時加入
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>
http://pubsubhubbub.appspot.com就是hub服務器的地址。
<?xml version="1.0"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>

</channel>
</rss>
因此判斷博客是否正常pubsubhubbub,也很簡單,查看
http://www.tkk7.com/liwei/rss的代碼即可,沒有hub的影子。
再看一個支持的例子
http://rasjacobson.wordpress.com/feed/ ,里面有一句 <atom:link rel='hub' /> ,這個是支持的。
具體的hub實現(xiàn)請查看
http://code.google.com/p/pubsubhubbub/wiki/Hubs
我這里只是個人玩玩而已,沒實力自己搭hub服務器。不過可以借助他人提供的hub服務器,譬如剛才appspot的。
知道了原理,接下來就好辦。
因為要改代碼才能修改生產的RSS,所以blogjava這種博客服務商不提供pubsubhubbub功能的話,我們這些用戶是無能為力的。
但自建的獨立博客是能簡單支持。等咱啥時候有閑錢了,再去做吧……
deploy時會出現(xiàn)如下信息
WARNING appengine_rpc.py:399 ssl module not found.
Without the ssl module, the identity of the remote host cannot be verified, and
connections may NOT be secure. To fix this, please install the ssl module from
http://pypi.python.org/pypi/ssl .
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl

當打開上面的頁面時會自動轉到 http://code.google.com/intl/zh-CN/appengine/kb/general.html#rpcssl ,在這里看不到任何幫助,因為google還沒將這段幫助信息翻譯成中文Orz,可以到 http://code.google.com/intl/en/appengine/kb/general.html#rpcssl 查看。這里說明在用python appcfg.py update 命令時添加 --insecure
后就不會有問題。但我用GAE Launcher也無法修改命令。再讓我回到沒有Launcher,直接用命令行的時代,還真難適應。作罷。
我試著安裝了ssl 模塊,但無法編譯。網(wǎng)上找到了這個頁面,http://canofy.javaeye.com/blog/651968 ,該同學和我遇到了同樣的問題,并且裝了cygwin。
貌似之后還有其他問題。不談。
今天,我突然發(fā)現(xiàn),deploy時出現(xiàn)的ssl信息,完全可以忽視,對,可以忽視 ,之后仍會update成功的。
通常出現(xiàn)上述ssl提示后,console會沒有任何顯示,此時不要關閉console,再次deploy時會出現(xiàn)如下信息
Error 409: --- begin server output ---
Another transaction by user xxxxxx is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command.
--- end server output ---

這表明之前的update仍在進行。請安心等待……
最后,好嘛,一個不是問題的問題,花了我不少時間……
這個不弄明白,代碼出問題了也不難以解決。
《learning Jquery 1.3》p15有一句 JavaScript code is generally run as soon as it is encountered in the browser
也就是說,瀏覽器遇到一個語句就立刻解析。貌似這個問題很快就解決了。
但javascript的寫法相當多,譬如網(wǎng)上很多人討論的$(document).ready(和<body onload= 執(zhí)行先后問題
在p16中,提到onload to run after the page is completely loaded.即onload在頁面完全加載完之后執(zhí)行
ready是firing once the DOM is loaded—without waiting for images 。ready在DOM加載完,圖片未加載時執(zhí)行。
也即ready在onload之前調用。
這里就涉及html頁面的加載順序問題。網(wǎng)上搜到2篇相關文章。
瀏覽器做了什么?
http://www.cnblogs.com/guilipan/archive/2010/01/06/1640145.html
Javascript在頁面加載時的執(zhí)行順序
http://dancewithnet.com/2007/03/22/order-of-execution-of-javascript-on-web/
看完之后,比之前明白了些,但具體的關系還是沒能理解。
一個html頁面包括head和body兩個部分,head部會調用外部CSS和JS文件,body部會調用圖片,音視頻等內容。
下載順序是html ->CSS JS ->圖片等。
解析順序是html(內部是按序執(zhí)行head->body)->DOM生成 ->ready執(zhí)行 ->圖片下載 ->body.onload
將以上兩者結合,html ->head(CSS JS) ->body->DOM生成 ->ready執(zhí)行 ->圖片下載 ->body.onload
其中head和body部都可能包含js,按代碼順序執(zhí)行。
這里就有一個疑問,瀏覽器會等待JS等文件下載完后,并順序執(zhí)行該JS后再繼續(xù)執(zhí)行之后的html代碼么?
按想應該不會,不然JS文件過大,會影響html頁面渲染的速度,兩者應該是異步的。
但這個異步就會將之前總結的順序攪亂。譬如onload都執(zhí)行完了,包含ready的JS還沒下完,此時會發(fā)生什么?
這里說得有問題,JS未下載完,onload是不會執(zhí)行的。
有待繼續(xù)總結……
[zz]30歲軟件工程師的迷茫和悲哀
http://bbs2.ustc.edu.cn/cgi/bbstcon?board=Job&file=M.1267231721.A
文章很長,就不轉載了。
其中有一段
---------------------------------------------------------
35歲左右還在從事軟硬件開發(fā)工作的仍有一大堆,分析這些仍然從事開發(fā)的朋友,
基本上都有以下特點:
1癡迷工作或者癡迷電腦,晚上八點到十二點的這段時間,基本上是在電腦桌或工作臺前
渡過的。
2不喜歡與人交住,朋友很少,常聯(lián)系的人不超過五個。
3與朋友交往時談工作多,但一般不主動談錢。
4體型偏胖或偏廋,不在正常區(qū)間。
5無未來計劃,對五年后自已生活怎么樣、從事什么工作說不清楚。
6儉省,從不亂花錢。
---------------------------------------------------------
和我很相似……嗯,我也確實想繼續(xù)做開發(fā),但人要生活,不可能一輩子這樣
迷茫和悲哀吧
試用了下heroku,結果安裝時就出問題了
windows環(huán)境,按照
http://docs.heroku.com/windows 裝了
msysgit和
1.8.6 one click ruby installer
D:\Ruby>gem install heroku
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
timed out (http://gems.rubyforge.org/gems/json_pure-1.2.0.gem)
大概是網(wǎng)絡不行,于是下載后本地安裝
D:\Ruby>gem install "C:\Documents and Settings\wli\My Documents\Downloa
ds\heroku-1.8.0.gem"
ERROR: While executing gem ... (URI::InvalidURIError)
bad URI(is not URI?): C:/Documents and Settings/wli/My Documents/Do
wnloads/heroku-1.8.0.gem
不行
D:\Ruby>gem install C:\Documents and Settings\wli\My Documents\Download
s\heroku-1.8.0.gem
ERROR: could not find gem C:\Documents locally or in a repository
ERROR: could not find gem and locally or in a repository
ERROR: While executing gem ... (RegexpError)
Invalid escape character syntax: /\ASettings\wli\My\Z/
還是不行,猜測是路徑空格的問題
D:\Ruby>gem install E:/json_pure-1.2.0.gem
Successfully installed json_pure-1.2.0
1 gem installed
Installing ri documentation for json_pure-1.2.0...
Installing RDoc documentation for json_pure-1.2.0...
OK,成功
如此
D:\Ruby>gem install E:/heroku-1.8.0.gem
Successfully installed heroku-1.8.0
1 gem installed
Installing ri documentation for heroku-1.8.0...
Installing RDoc documentation for heroku-1.8.0...