将多个Feed合并为一个Feed的小应用 FeedBundle - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lepture
V2EX    分享创造

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

  •  
  •   lepture
    lepture 2011-05-25 13:53:27 +08:00 6458 次点击
    这是一个创建于 5322 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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     Solana     2183 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:38 PVG 08:38 LAX 16:38 JFK 19:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86