问题标签 [voting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 如何使用 Grails 框架实现 ajax 投票应用程序?
有什么好的代码示例或文章可以提供帮助吗?
sql - 选择并显示排名项目和用户的投票,例如 reddit、digg 等
从数据库中选择排名对象时(例如,用户投票的文章),最好的显示方式是:
- 项目的当前页面
- 用户对每个项目的评分(如果他们已投票)
粗略的架构:
是否更好/更理想:
- 选择当前页面的项目
- 选择用户的投票,将他们限制在带有“IN”子句的项目页面
或者
- 选择当前页面的项目,然后从用户投票表中“加入”投票数据
或者,完全不同的东西?
理论上这是在高流量环境中,并使用像mysql这样的rdbms。fwiw,我看到这一点是“在做之前想清楚”而不是“过早的优化”。
谢谢!
open-source - 用于创建基于用户的评分系统的框架或库,例如 Digg、Reddit 等?
正在寻找一个好的客户端库,我可以使用它创建一个 reddit 投票赞成/反对、评论等系统?
框架越成熟越好,因为它会立即在生产站点上运行。
algorithm - 最简单的投票/同步算法
一个或多个人可以用来决定他们中的谁应该执行某项任务的最简单算法是什么?有一个任务,只需要完成一次,一个或多个人。人们可以说话,也就是互相发送消息。沟通必须最少,所有人都使用完全相同的算法。
一个人说“我在做”是不够的,因为可能有两个人同时说。
我想到的最简单的事情是每个人都说一个数字然后稍等片刻。如果有人在那段时间内做出回应,则数字较低的人“获胜”并完成任务。如果没有人回应,人们会说她正在做并且做。当她说她这样做时,其他人都退缩了。这应该足以避免两个人同时执行任务(因为有等待/握手期),但如果两个人说相同的数字,则可能需要“第二轮”。
有没有更简单的?
对于那些好奇的人,我正在尝试同步多个 SecondLife LSL 脚本副本,以便只执行一次。
security - 同态加密算法的实际应用?
密码学中似乎发生了一些有趣的事情:最近出现了第一个同态加密方案(解释,HT)。粗略地说,它是一种编码方式,即使您无法轻松恢复x
and (对于 也是如此),您也可以轻松f(x)
计算。f(x+y)
f(x)
f(y)
x
y
f(x*y)
这种类型的方案有哪些实际应用(一旦建立了安全性)?对我来说,它们似乎可以使编写用于操作私人数据的算法变得更加容易。
这是我的想法:
- 电子投票
- 检查私人数据的完整性
- 是否有机会总体上有助于保护隐私?
示例:我在 A、B、C 银行有账户。实体 X 想确认我的总金额超过 1000 美元;它会很乐意接受银行 A、B、C 或 D 的对帐单,但不幸的是,我在任何一个帐户中都没有足够的钱。A银行用我的公钥加密了我500美元的信息;同样,银行 B 和 C 分别加密了我有 200 美元和 300 美元的信息。他们将这些数据发送给 X,X 将它们添加到某个数字上,我证明这个数字实际上是加密的 1000 美元(通过用我的公钥加密 1000 美元并证明结果是相同的)。我已经证明了一些事情,但没有透露X
我每个账户里有多少钱。
另一个例子:好公民 X_1, ... , X_n 正在联手选择两名候选人中的一名,其中一名是喝拿铁的自由人A l,另一名是持圣经的枪支爱好者(所有名字都是虚构的)。他们决定他们希望投票是私密但快速的。他们将投票以(1, vote_A, vote_B, vote_None)
加密的矢量格式发送给选举委员会,选举委员会公开添加它们并以表格形式获得结果(count, count_A, count_B, count_None)
。查完之后count = count_A + count_B + count_None
,官员宣布其中一名候选人获胜,之后法官因某种与电子投票无关的原因宣布选举无效,并在接下来的 10 年里在法庭上进行斗争,但是,嘿,那不是我的反正问题。
注意: - 我相信这些特定的例子甚至在以前也可以使用 RSA,因为它只需要一个操作中的同态性。希望我们可以通过更多的操作得到更有趣的东西——所以,拿出例子!
我特别希望看到包含代码和/或开发框架的答案,它们有可能在实践中使用,原因是 SO 不是理论计算机科学讨论板。
同态算法,重复下面在评论中所说的内容,允许创建一个在不知道数据的情况下管理数据的程序。
if (x=0) ...
不幸的是,程序的类型有些有限:因为是加密的,所以你不能拥有x
,而且每一步都很慢(涉及一些格子)。
asp.net-mvc - 在图片评级 Web 应用程序中限制同一个人的多个投票
我正在尝试在 ASP.NET MVC 中编写一个 Web 应用程序,该应用程序允许每个用户为多张图片投票,但不允许他们为同一张图片多次投票。用户未经过身份验证。我应该在数据库或 cookie 中保存什么?
algorithm - 排名算法
我需要根据用户评分对一些产品进行分类。
假设我们有 3 个产品 { a , b , c } 并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(如果您熟悉,这个问题与相关过滤无关 - 用户兴趣不是这里的情况)
以下每一行都是用户尝试比较这 3 种产品时的反馈:
a 150 分- b 0 分(该用户刚刚告诉我们他对 2 种产品 a 和 b 的看法,比较 a 和 b,他认为如果他给出 150 分,那么 b 值 0 分)
a 150 分- c 20 分
c 200 分- a 10 分(尽管前一个用户认为 c 优于 a)
a 200 分- b 40 分- c 100 分
a 150 分- b 50 分
a 150 分- b 20 分
(这些评级只是一个样本,在现实世界中,产品和评级的数量比这大得多)
现在我需要一种算法来根据用户投票找到产品的排名。在我看来,最好的方法是用相关图来描述这个问题,并将所有产品相互连接起来。
任何形式的帮助或提示表示赞赏。
/************************************************* *******************************/
您不能只添加分数并计算产品分数的平均值,因为它如何获得他的分数很重要。假设a对b得 800 分,然后c对a得 10 分,如下所示:
a 200 - b 0
a 200 - b 0
a 200 - b 0
a 200 - b 0
c 10 - a 0(这意味着 c 优于 a)
所以绝对a比b好,但只有 10 分,c从a中获得了更好的排名
/************************************************* *******************************/
math - 产品排名
我需要根据用户评分对一些产品进行分类。
假设我们有 3 个产品 {a,b,c} 并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(如果您熟悉,这个问题与相关过滤无关 - 用户兴趣不是这里的情况)
以下每一行都是用户尝试比较这 3 种产品时的反馈:
a 150 分 - b 0 分(该用户刚刚告诉我们他对 2 种产品 a 和 b 的看法,并且在比较 a 和 b 时,如果他给出 150 分,那么 b 值 0 分)
a 150 分 - c 20 分
c 200 分 - a 10 分(尽管前一个用户认为 c 优于 a)
a 200 分 - b 40 分 - c 100 分
a 150 分 - b 50 分
a 150 分 - b 20 分
(这些评级只是一个样本,在现实世界中,产品和评级的数量比这大得多)
现在我需要一种算法来根据用户投票找到产品的排名。在我看来,最好的方法是用相关图来描述这个问题,并将所有产品相互连接起来。
任何形式的帮助或提示表示赞赏。
/************************************************* *****************************/**
您不能只添加分数并计算产品分数的平均值,因为假设 a 对 b 获得 800 分,然后 c 对 a 获得 10 分,这很重要:
a 200 - b 0
a 200 - b 0
a 200 - b 0
a 200 - b 0
c 10 - a 0(这意味着 c 优于 a)
所以绝对 a 比 b 好,但只有 10 分,c 从 a 中获得了更好的排名
/************************************************* ******************************/
python - Django 投票赞成/反对方法
我正在制作一个小应用程序,让用户可以向上或向下投票。我正在使用 Django(并且是新手!)。
我只是想知道,向用户展示投票链接的最佳方式是什么。作为链接,按钮或其他东西?
我已经用不同的框架在 php 中做了类似的事情,但我不确定我是否可以用同样的方式做。我是否应该有一种赞成/反对投票的方法,然后向用户显示一个链接以供点击。当他们单击它时,它会执行该方法并刷新页面?