V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lepture
V2EX  ›  分享创造

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

  •  
  •   lepture ·
    lepture · 2011-05-25 13:53:27 +08:00 · 6016 次点击
    这是一个创建于 4922 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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/
    17 条回复    1970-01-01 08:00:00 +08:00
    lepture
        1
    lepture  
    OP
       2011-05-25 14:43:50 +08:00
    原来已经有这样子的东西了。。 http://www.xfruits.com/

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

    如果我的观察正确的话,xFruits的活跃度并不高
    vayn
        4
    vayn  
       2011-05-25 15:34:17 +08:00
    @lepture 漂亮的作品
    lepture
        5
    lepture  
    OP
       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
        6
    mrkschan  
       2011-05-25 15:41:38 +08:00
    @lepture 就是因為會 vim 的人便知道 vim shortcut, 但因為 javascript-vim 不是 support 所有 vim shortcut.. 多一個渠道了解 available (supported) shortcut, 不是更好嗎?
    claliu
        7
    claliu  
       2011-05-25 15:43:06 +08:00
    @lepture 坚决支持做下去,做的过程中会有很多收获的。我会试一试,看看效率如何。
    tomyiyun
        8
    tomyiyun  
       2011-05-25 17:03:03 +08:00
    对啊,基于这个的思路很宽广的。xfruits几乎没有怎么开拓思路的。
    social加上一些特殊的用法,应该会很不错的。
    chouj
        9
    chouj  
       2011-05-25 17:17:03 +08:00
    Feed Merge/Mix的早先挺多,但长久坚持的比较少。这个UI这么出色,要是能坚持很久就更好。
    lepture
        10
    lepture  
    OP
       2011-05-25 17:37:07 +08:00
    @keakon 对不起,先删掉了你的bundle。 因为希望bundle小流量的feed。 v2ex属于社区形式了,现在feed更新还可能接受,但是不知道以后更新会不会太快了。
    lepture
        11
    lepture  
    OP
       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
        12
    fanzeyi  
       2011-05-25 19:14:29 +08:00
    = =
    Yahoo Pipes 是这一类的杀手级应用....
    = =
    claliu
        13
    claliu  
       2011-05-26 15:16:10 +08:00
    建议增加follow person功能 ^^
    lepture
        14
    lepture  
    OP
       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
        15
    reloop  
       2011-10-12 10:44:32 +08:00
    为什么这两个站我都显示重定向不正确呢。。。而且您的站超慢的~我不懂太高深~~就想合并。。话说RSS阅读器怎么不提供这样的功能,他们处理显示的问题就可以了,不用真的合并烧出一个feed地址
    reloop
        16
    reloop  
       2011-10-12 10:52:13 +08:00
    我又搜索了一下,找到一个能用的,速度也快
    http://www.rssmix.com/
    lepture
        17
    lepture  
    OP
       2011-10-12 16:16:32 +08:00
    @reloop vps 出了点问题,刚刚突然不能连上twitter, 一看,原来timeout,连不上vps了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1297 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.