V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Kenyth
V2EX  ›  V2EX

如果一个机制,让用户发表主题时更容易、更随意、心理负担更少。

  •  
  •   Kenyth · 2011-03-07 22:25:41 +08:00 · 5162 次点击
    这是一个创建于 5010 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我最近可能发贴的频率稍微高一点,但是除了偶尔几次明显的提问外,我每次都拿不定主意发表在哪个 node 下面,即使想到应该在哪个 node 下面,也很难找到或者不确定是否存在这个 node 。所以总体的感觉是:不确定性带来的盲目感,以及担心发错 node 形成垃圾信息的心理负担感。

    一般地,在 Google Groups 这种地方你不会有这样感觉,因为目的非常明确,一般的邮件列表有 “General” 列表,论坛板块数量有限,你可以一目了然,而且一般也有“杂谈”一类的板块。但是 V2EX 非常不一样。

    stackoverflow 也会有类似的问题,但是它的解决方案非常好,可以用户随意加标签,但是如果标签不常用的话会提示你(希望我没有记错),而且 reputation 比较高的用户有权限编辑你的标签。

    也许这里需要更灵活 node 机制,也许 V2EX 这个阶段并不适合考虑这个问题。
    14 条回复    1970-01-01 08:00:00 +08:00
    domainname
        1
    domainname  
       2011-03-07 22:27:38 +08:00
    同意。寻找node也很困难,我有一个社区也有这个问题。但怎么解决这个问题呢?能提供几个方案么?
    第一个方案是你说的 tag
    Kenyth
        2
    Kenyth  
    OP
       2011-03-07 22:33:00 +08:00
    已经说的很明白了:
    1) 你社区的定位,如果是目的非常明确 (如 Google Groups 里面各种 group),则存在这个问题的概率非常小
    2) 如果你的板块很有限,则用户可以看到所有,非常有掌控感,也不会存在这个问题
    3) 如果1、2 都没有或者在 2 的基础上在醒目位置设置一个 “General” 或者 “杂谈” 板块收集这种帖子,以后管事的可以自己调整到其他板块
    4) stackoverflow 的方案,但我不认为这个是完全开放式的 tag 的意思,它有很好的控制机制,垃圾 tag 比较少,你可以自己去上面发个帖子试试看。
    Livid
        3
    Livid  
    MOD
       2011-03-07 22:35:17 +08:00
    一个主题对应多个 Node,通过各种 Node 找到同一个主题。

    目前 Quora 有这样的架构。

    而 V2EX 2 在开始做的时候确实没有在这方面考虑太多。数据结构和发贴之后的归类有一定挑战,GAE 的查询性能可能会让这样的页面生成时间超过 500ms(在大数据量的时候)。当然,可以通过 taskqueue 来做异步处理。但是如果在短时间内对一个主题进行大量的修改,taskqueue 也会有问题,因为如果 taskqueue 很拥挤的话,执行顺序会无法预料。

    现在看来:

    • 节点地图确实应该有
    • 节点搜索应该更强大

    等 Google SQL Service 出来之后,根据情况我会对多节点问题尝试解决。
    linsk
        4
    linsk  
       2011-03-07 22:51:53 +08:00
    @Livid 考虑一下google suggest类似的功能嘛,在搜索框中定位节点,就像在spotlight中启动程序一样
    Kenyth
        5
    Kenyth  
    OP
       2011-03-07 22:52:25 +08:00
    @Livid GAE 我也有一段时间没碰了,但据我所知,如果把所属的 node id (如 apple)以 List 的形式(100 以内的 size 应该没有明显性能问题,以前 limit 是 1000 还是多少?)存在主题的数据库表里面,则不存在归类的问题。

    而且如果把主题按一定规则分布在多个 transaction group (名字不确定是否正确)里面,查询的时候 datastore 也会并行处理,这样显示 node 应该不会有太大压力吧(是你说的 500ms 么?)

    至于“在短时间内对一个主题进行大量的修改”,按你的逻辑,应该是连接关系存储在 node 的数据库表里面吧,否则应该不会有什么影响,最多更改所属 node 列表,会需要更新 cache 而已。

    以上是我的理解而已,不太确定是否有错误。
    Kenyth
        6
    Kenyth  
    OP
       2011-03-07 22:58:25 +08:00
    @linsk 其实据我所知,这种 suggest 功能在 GAE 消耗 quota 的速度最快了。不知道最新的 PUSH API 对这个会不会有帮助,还没研究过。
    linsk
        7
    linsk  
       2011-03-07 23:07:57 +08:00
    @Kenyth
    技术上我是菜鸟,
    是不是可以用memcache缓存节点列表,
    并且把它缓存到客户端(Cookies),
    然后用JavaScript来实现。
    Kenyth
        8
    Kenyth  
    OP
       2011-03-07 23:10:30 +08:00
    @linsk 基本思路可行,具体呈 @Livid 批示,哈哈 :D
    est
        9
    est  
       2011-03-07 23:23:35 +08:00
    这个机制就是anonymous
    darasion
        10
    darasion  
       2011-03-07 23:42:33 +08:00
    我觉得干脆把节点当做 博客里边的 “标签” 其实就不错。
    chloerei
        11
    chloerei  
       2011-03-08 01:32:09 +08:00
    我做了个网站是基于tag的, http://codecampo.com/ ,不过是基于ror和mongodb。

    其实刚来v2ex时觉得奇怪,“节点收藏”点进去怎么不是主题列表。
    benzhe
        12
    benzhe  
       2011-03-08 01:51:57 +08:00
    支持 @linsk 的方法,不过用到cookie貌似多余了。最近弄了一个聚合站,分类问题通过简单语义分析解决了,虽然部分不是很准确
    Aether
        13
    Aether  
       2011-03-10 16:36:35 +08:00
    猫扑使用大杂烩来解决这样的问题么?
    Kenyth
        14
    Kenyth  
    OP
       2011-03-10 19:45:29 +08:00
    我忘了说比较重要的一点了,除了我上面提到的这些,中国的各种论坛上这样的问题都被极大的缓解了,因为有版主,会人肉搬运帖子:) cc @Aether
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:19 · PVG 03:19 · LAX 11:19 · JFK 14:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.