主要是作了些页面上的调整,模仿m.flickr.com加上了标签,所以页面风格是google reader + flickr mobile,融合的还有点生硬,这种照抄过来的,坦白的说,我看的都有点恶心。另外添加了“搜索”这个比较常用的功能。其他倒没啥,欢迎批评指正。
总算在春节回家前改好了,因为明天晚上回武汉的火车,所以改的比较匆忙。回家结婚去了,哈哈,也预祝各位春节快乐!


主要是作了些页面上的调整,模仿m.flickr.com加上了标签,所以页面风格是google reader + flickr mobile,融合的还有点生硬,这种照抄过来的,坦白的说,我看的都有点恶心。另外添加了“搜索”这个比较常用的功能。其他倒没啥,欢迎批评指正。
总算在春节回家前改好了,因为明天晚上回武汉的火车,所以改的比较匆忙。回家结婚去了,哈哈,也预祝各位春节快乐!


场景是这样的:我写的手机客户端要从豆瓣上取出当天最受欢迎的书评和影评,这些数据我是到douban.com相关页面上抓取的,大概有20条数据;然后我在这20条数据中随机取出6条显示到手机客户端
Rails内置几种cache机制:1.Page Cache – Fastest, 2.Action Cache – Next Fastest, 3.Fragment Cache – Least Fastest, 4.ActiveRecord Cache – Only available in Edge Rails 。从前端到后端,这几种cache机制粒度都不同,但是都不能满足我的需求。page cache会使每次返回同样的页面,这样达不到“随机”的效果。我希望是这样的:
def get_pop_list
fetch_reviews.random
render...
end
def fetch_reviews
{1...20}
end
我只希望get_reviews这个方法返回的结果是cache的,Action cache好像符合,实验一番后无果,这里的action是指rails中的controller而不是一般的method。
google了下找到了这里,刚好满足我的需求:对method的cache。参考这里例 子:
require 'caches.rb'
class Spider extend Caches
def self.fetch_reviews
puts "---fetch_reviews"
Time.now
end
class_caches :fetch_reviews, :timeout => 10.minutes
end
这里只是一个测试的类,当我们调用Spider.fetch_reviews时,得到的时间每次都是一样的,10分钟后值会刷新,有了timeout我也不用写cron程序来刷新cache了。这个method cache可以对参数cache:不同的参数值会有不同的cache,这个倒是很方便,因为这是一个静态方法,不可避免的要传参数。这点和Page Cache的分页处理倒类似。一个要注意的是在development模式下,controller用load “spider”或者不显示引用(默认为load)不能达到cache的测试效果。
用Java的单例模式来完成这个任务也不太难,这里的self.fetch_reviews也是类的静态方法。不同的是ruby的做法让cache更加透明:加上或者去掉class_caches :fetch_reviews即可改变cache模式,客户端代码不用改变。
一直觉得Google Reader做的不错,Ajax的特则很适合用手机用户:比如bookmark一条记录不用刷新页面,这个对pc来说不是很关键,但是手机网路慢而且不稳定,可能一次刷新页面就再也回不去了,而用户前面一个页面还没有看完,所以“异步”对手机来说很重要。
于是有个这个山寨版的“Google Reader”- zudou.net,也可以说是向Reader致敬吧。主要特征就是“折叠式”的页面显示,我觉得Yahoo UI Pattern应该把这个加入它的库中。
主要功能有:
1)摘取douban主页上面的最受欢迎的书评和影评信息(还没有加上cache功能);
2)显示评论的详细信息,也可以收藏评论的书或电影,暂时还没有回应评论的功能,好像douban API还没有看放这个功能;
3)发表广播和现实友邻广播。
适合的客户端为:Android, iPhone。


1.15 add: 惊闻Google欲退出中国,痛心!何处为安身立命之所!向Google致敬!
1.15 add: 这个功能为什么不加入到Google Reader中呢?因为我想豆瓣也有“最流行书评”的RSS Feed,当热也可以加到Reader中,不过,Reader的“收藏”功能不能收藏豆瓣的书籍,或者说收藏功能只是在Reader中有效(评论也只能在reader的圈子中交流,这里Reader是一个信息孤岛)。douban API的有点像基于“RSS协议”的API,能否做个reader的插件(假如reader用这个功能),当在reader中操作时,可以反映到各个RSS的源,这样想发表评论也不用到真实页面去发表了?操作性比较差,很多网站都要登录后才能发表评论…
1.16 add:iPhone模拟器上的截屏
