将多个Feed合并为一个Feed的小应用 FeedBundle

2011-05-25 13:53:27 +08:00
 lepture
website: http://www.feedbundle.com/

目前只完成了一部分功能:
1. 增加Bundle(Bundle 不能删除)
2. 增加Bundle里的Feed
3. 删除Bundle里的Feed
4. 展示Bundle (Browser View, ATOM Feed)


TODO:
0. UI
1. 多人共享Bundle的操作权限
2. 转让Bundle
3. Like Bundle


FeedBundle是架在AppEngine上的,昨天刚deploy上去的,然后就发现了问题。

因为需要cron fetch feed,所以写入数据量很大[db.put(list)],Log里每次cron request都会出现警告。我采用的解决方案是taskqueue , 使用的deferred这个库: http://code.google.com/appengine/articles/deferred.html 将db.put分解。

还有一个问题需要解决: google appengine datastore query 的 IN 的效率太低了,而我又有这样的需求: q = Entry.all() q.filter('feed IN', feedlist) q.filter('created < ', time)

暂时没有想到解决方案,不知道有什么好的用法可以避开使用IN。请GAE达人指教。

突然发现GAE的quote变了, memcache 调用没有上限了。好多东西的调用都没有上限了。 :)

PS: 支持VIM 方式操作网页的哦。 js现实的话请看 http://lepture.com/work/javascript-vim/
6057 次点击
所在节点    分享创造
17 条回复
lepture
2011-05-25 14:43:50 +08:00
原来已经有这样子的东西了。。 http://www.xfruits.com/

为何总是在写完后才找到呢!
mrkschan
2011-05-25 15:00:50 +08:00
vim control 可不可以加 '?' - print out the list of available shortcut keys.
claliu
2011-05-25 15:11:03 +08:00
@lepture 支持你的创造,如果处理速度足够快,并且能够在他人的bundle基础上生成自己的bundle,在此基础上有简单的Social更能的话,这个product还是很有吸引力的。

如果我的观察正确的话,xFruits的活跃度并不高
vayn
2011-05-25 15:34:17 +08:00
@lepture 漂亮的作品
lepture
2011-05-25 15:37:27 +08:00
@claliu 并且能够在他人的bundle基础上生成自己的bundle: 为了避免内容重复,是不允许再次bundle由 FeedBundle 生成的Feed的。 但是解决文案可以是复制一个他人的bundle,再在该bundle基础上增加删除feed。 xfruits的情况不太清楚,我刚看了一下,很多404,所以决定还是做下去。

你可以试着创建一个bundle玩玩,欢迎提意见。不要bundle新闻类的feed,不要bundle大流量的feed哦。

@mrkschan vim control 用vim的人都知道,不用vim的人就没有必要用这个快捷键了。如果你会js的话,可以自己加上,如果你不会又想要的话,可以告诉我。
mrkschan
2011-05-25 15:41:38 +08:00
@lepture 就是因為會 vim 的人便知道 vim shortcut, 但因為 javascript-vim 不是 support 所有 vim shortcut.. 多一個渠道了解 available (supported) shortcut, 不是更好嗎?
claliu
2011-05-25 15:43:06 +08:00
@lepture 坚决支持做下去,做的过程中会有很多收获的。我会试一试,看看效率如何。
tomyiyun
2011-05-25 17:03:03 +08:00
对啊,基于这个的思路很宽广的。xfruits几乎没有怎么开拓思路的。
social加上一些特殊的用法,应该会很不错的。
chouj
2011-05-25 17:17:03 +08:00
Feed Merge/Mix的早先挺多,但长久坚持的比较少。这个UI这么出色,要是能坚持很久就更好。
lepture
2011-05-25 17:37:07 +08:00
@keakon 对不起,先删掉了你的bundle。 因为希望bundle小流量的feed。 v2ex属于社区形式了,现在feed更新还可能接受,但是不知道以后更新会不会太快了。
lepture
2011-05-25 18:04:26 +08:00
@chouj favicon都是用 Gimp 画的。 UI怎么可能出色呢!
@tomyiyun social 在考试完后再考虑吧。

目前feed不多,所有cron job是隔3个小时。 随着feed的量增加,cron job的时间间隔会减小。

**重要** : 1.不要bundle新闻feed 2.不要bundle大流量feed(更新频率太高的站,他们本身就算是bundle了)
**建议**: 1. bundle个人的多个博客 2. bundle同一领域的个人博客 3. 最好是bundle全文输出的feed

大流量feed会被删掉的。
fanzeyi
2011-05-25 19:14:29 +08:00
= =
Yahoo Pipes 是这一类的杀手级应用....
= =
claliu
2011-05-26 15:16:10 +08:00
建议增加follow person功能 ^^
lepture
2011-05-27 11:47:06 +08:00
使用 appstat 来观测 api 接口调用,做程序优化: http://code.google.com/appengine/docs/python/tools/appstats.html

ReferenceProperty 这个东西太废了,每次引用都会产生datastore api调用。 于是将其替换掉。使用StringProperty和 @property 自己构建,走 memcache api。

删除一个 Model 的 attribute:
将继承 db.Model 改为 db.Expando ,Model里删除该attribute, 使用 delattr 删除数据, 保存。完毕后再将 db.Expando 改回来。
reloop
2011-10-12 10:44:32 +08:00
为什么这两个站我都显示重定向不正确呢。。。而且您的站超慢的~我不懂太高深~~就想合并。。话说RSS阅读器怎么不提供这样的功能,他们处理显示的问题就可以了,不用真的合并烧出一个feed地址
reloop
2011-10-12 10:52:13 +08:00
我又搜索了一下,找到一个能用的,速度也快
http://www.rssmix.com/
lepture
2011-10-12 16:16:32 +08:00
@reloop vps 出了点问题,刚刚突然不能连上twitter, 一看,原来timeout,连不上vps了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/13493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX