【问题标题】:random feedback in web applicationWeb 应用程序中的随机反馈
【发布时间】:2012-09-11 05:12:39
【问题描述】:

我们会显示对应用程序的反馈,但我们只想显示 10% 的用户。 例如:如果用户总数为 1000 并且反馈应该只显示给 100 个用户。

有什么想法可以实现它的逻辑吗?

提前致谢

【问题讨论】:

  • 你想随机显示还是随机获取记录????这很重要

标签: java javascript jsp web-applications


【解决方案1】:

尝试使用random 方法:

if(Math.random()<0.1) {
    // show feedback
}

【讨论】:

  • 如果不行,Colin会亲自开车到你的办公室修理!
  • 确实,保证 98% 和 ¾%!
【解决方案2】:

在您的数据库中,您可以进行类似的查询

SELECT TOP X PERCENT select list
FROM TableName

通过这种方式,您只能从数据库中获取 10% 的记录并在反馈模块上显示它们。

希望这就是你要找的。​​p>

【讨论】:

    【解决方案3】:

    我以前发现有用的一种模式是在会话开始时“标记”一些用户(根据您所需的分布随机)。然后详细记录标记用户对您的应用程序所做的一切。他们给出的任何反馈都可以放在上下文中。至于机制,我会为初始会话标记使用过滤器,然后在屏幕顶部为标记的用户显示一个不显眼的栏,提示他们(很好地)提供反馈。确保栏有一个关闭按钮。

    【讨论】:

      【解决方案4】:

      此代码生成一个从 0 到 9 的随机数,如果随机数为 0(10% 的机会),则可以添加反馈代码。

      var randomnumber=Math.floor(Math.random()*10)
      if (randomnumber == 0)
      {  
         // do something
      }
      

      【讨论】:

      • erm - 为什么这比测试 random()&lt;0.1 是否更好?
      • oops.. 到我发布的时候有更多的答案.. 这几乎与 ColinE 的解决方案相同
      • 是的..同意。 stackoverflow 的更新太快了。看,当我输入我的时,我得到了你的评论:)。很抱歉
      【解决方案5】:

      如果您真的非常需要将其精确到 10%,而不是大约 10%,您可以保留一个静态计数器变量,每次新会话开始时递增。当它达到 10 时,询问用户反馈并将计数器重置为 1。

      但是,您可能需要同步对变量的访问,以防止不同线程上的请求同时对其进行操作,如果您要处理大量请求,这可能会成为性能瓶颈。

      除非你有充分的理由,否则使用其他人建议的随机数方法可能会容易得多。

      【讨论】:

        【解决方案6】:

        我认为您需要考虑清楚这一点 - 以后,您可能希望您做的不仅仅是“随机显示 10%”。

        如果您正在谈论使用经过身份验证的用户的应用程序,并且如果有任何潜在需要分析/理解这 10% 的响应,那么您应该执行以下操作:

        1. 在您的数据库中创建一个新的列或表,为您的反馈显示分配每个用户在 (true) 或 out (false) 中
        2. 将其用作查询的基础,以确定向谁显示消息
        3. 确保将该反馈请求的结果写回您的数据库。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-16
          • 2011-07-25
          相关资源
          最近更新 更多