小编hob*_*ave的帖子

替代大型数据集的单个<select multiple ="multiple">元素

我经常在如何在我的应用程序中解决这个问题时发生冲突.我使用了许多选项,包括:

  • 通用的多选 - 这是我最不喜欢和最少使用的选项.我发现可用性是残酷的,简单的误点击会搞砸你所有的努力工作.
  • 一个"自动完成"解决方案 - 缺点:用户必须具有拼写能力才能找到他们需要的该死的值,不会暴露于他们可能没有想到的值,以及子串搜索的潜在后端性能.
  • 两个相邻的多重选择,带有一个添加/删除按钮 - 下行:仍然是"丑陋"的imo
  • 任何数量的花式JavaScript的解决方案(http://livepipe.net/control/selectmultiple,http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry/等)

我没有找到任何关于解决这个问题的最佳方法的可用性研究.当你从<10个元素到100个元素时,这些替代解决方案中的许多都是很好的,但是当你从一百个到一千个时,可能会彻底崩溃.

你们用的是什么?你为什么用它?你能指点我的可用性案例研究吗?是否有一个尚未被发现的"神奇"解决方案?

html javascript usability

10
推荐指数
1
解决办法
3617
查看次数

我的网页是否应该与过时的IE6兼容?

作为Web开发人员,很难进行与IE6兼容的Web设计.是否需要使网页与css兼容?我听说IE6的使用率很低.

我的问题是,我是否仍应检查我在Internet Explorer 6中制作的网页的兼容性?

html css usability cross-browser

9
推荐指数
1
解决办法
578
查看次数

这个改进的二十一点游戏的最佳获胜策略是什么?

问题

是否有最好的价值,以便我赢得最大比例的游戏?如果是这样,它是什么?

编辑:是否存在可以针对给定限制计算的确切获胜概率,与对手无关?(自大学以来我没有完成概率和统计).我有兴趣将其视为将其与模拟结果进行对比的答案.

编辑:修复了我的算法中的错误,更新了结果表.

背景

我一直在玩一个改进的二十一点游戏,其中一些相当讨厌的规则调整来自标准规则.我将与标准二十一点规则不同的规则用于斜体,并为不熟悉的人提供二十一点规则.

修改过的二十一点规则

  1. 正好两个人类玩家(经销商无关紧要)
  2. 每位玩家面朝下发两张牌
    • 玩家_ever_都不知道对手牌的_any_值
    • 在_both_完成手牌之前,任何一方都不知道对手的牌值
  3. 目标是尽可能接近21分.成果:
    • 如果玩家的A&B得分相同,那么游戏就是平局
    • 如果玩家的A&B都得分超过21(一个半身像),那么游戏就是平局
    • 如果玩家A的得分<= 21并且玩家B已经被击败,则玩家A 获胜
    • 如果玩家A的得分高于玩家B,并且都没有被击败,则玩家A 获胜
    • 否则,玩家A输了(B赢了).
  4. 卡值得:
    • 卡2到10值相应的点数
    • 卡J,Q,K值10分
    • 卡牌王牌价值1或11分
  5. 每位玩家可以一次请求一张额外的牌,直到:
    • 玩家不再需要(留下)
    • 任何A计为1的玩家得分超过21(胸围)
    • 两个玩家都不知道对方在任何时候使用了多少张牌
  6. 一旦两名球员都停留或被击败,获胜者将根据上述规则3确定.
  7. 在每手牌之后整个牌组重新洗牌,所有52张牌再次进场

什么是一副牌?

一副牌由52张牌组成,以下13个值各有四张:

2,3,4,5,6,7,8,9,10,J,Q,K,A

卡的其他财产都不相关.

Ruby的表示形式是:

CARDS = ((2..11).to_a+[10]*3)*4
Run Code Online (Sandbox Code Playgroud)

算法

我一直在接近这个如下:

  • 如果我的分数是2到11,我总是想打,因为它不可能破灭
  • 对于12到21分中的每一个,我将模拟N手对抗对手
    • 对于这N个牌,得分将是我的"限制".一旦达到极限或更高,我会留下来.
    • 我的对手将遵循完全相同的策略
    • 我会模拟N个手的每个排列(12..21),(12..21)
  • 打印每个排列的赢利和亏损差异以及净赢利差异

这是在Ruby中实现的算法:

#!/usr/bin/env ruby
class Array
  def shuffle
    sort_by { rand }
  end

  def shuffle!
    self.replace shuffle
  end

  def score
    sort.each_with_index.inject(0){|s,(c,i)|
      s+c > …
Run Code Online (Sandbox Code Playgroud)

ruby language-agnostic algorithm probability playing-cards

9
推荐指数
1
解决办法
1044
查看次数

如何恢复MySQL数据库:文件中的信息不正确:'./ xxx.frm'

一个非常重要的数据库已经损坏,它位于共享Web主机的服务器上,我没有备份.该表包含大量非常重要的电子邮件地址.我可以获得一个表列表,但如果我用Navicat或phpMyAdmin打开任何表,我会收到以下错误:

文件中的信息不正确:'./the-table-name.frm'

我能够从Web主机获取与数据库关联的.frm文件.

还有其他数据,但如果我至少可以获得电子邮件地址,我会没事的.

如何恢复此数据库?我愿意付钱给别人解决这个问题.

mysql disaster-recovery

9
推荐指数
1
解决办法
6万
查看次数

使用jquery,我如何检查输入元素的集合是否具有唯一值?

我有一张桌子.有些行是由jquery动态添加的.

<td>每行的第一行都有一个<input type="text" />元素.使用jQuery,是否可以检查所有这些输入元素是否具有唯一值?

jquery

7
推荐指数
2
解决办法
2839
查看次数

当作为隐藏输入字段提交时,如何防止用户覆盖购物车中的总成本?

我接受付款时遇到了严重问题.

我在隐藏的字段中传递总金额

<input type="hidden"
  name="checkout-flow-support.merchant-checkout-flow-support.shipping-methods.flat-rate-shipping-1.price"
  value="129.00"/>
Run Code Online (Sandbox Code Playgroud)

一些用户使用firebug将此值更改为2并提交了表单.我们只收到2美元而不是129美元.

我不知道如何继续这个任何人都快速帮助我.

security paypal

7
推荐指数
1
解决办法
201
查看次数

为什么phpMyAdmin需要很长时间来显示查询,但是显示查询执行得很快?

我想在phpMyAdmin中执行查询.该查询大约需要两分钟才能加载,但在查询结果的顶部会显示"查询耗时0.2768秒".这怎么可能?

mysql phpmyadmin

6
推荐指数
1
解决办法
3145
查看次数

在has_many:through关系中指定外键

我有以下三个模型:用户,项目和分配.

用户has_many通过作业进行投射.但是,Assignment实际上有两个与User相关的外键:( user_id表示分配了项目completer_id的用户)和(表示完成项目的用户).

通常,user_id并且completer_id将是相同的(如果分配项目的用户完成它).但是,如果另一个用户完成它,user_id和completer_id将是不同的.

在我的用户模型中,我有以下内容:

class User < ActiveRecord::Base
  has_many   :assignments
  has_many   :incomplete_assignments, :class_name => 'Assignment',
    :conditions  => 'completer_id IS NULL'
  has_many   :completed_assignments, :class_name => 'Assignment',
    :foreign_key => 'completer_id'

  # this is the important one
  has_many   :incomplete_projects,
    :through     => :assignments,
    :source      => :project,
    :conditions  => 'completer_id IS NULL'
end
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为的另一个关联,:completed_projectscompleter_id:through模型中用作User的外键,而不是:user_id.是否有可能做到这一点?

而且,顺便说一句,我知道这个:foreign_key选项.但是,使用时会忽略此选项:through,因此我想知道是否有办法在没有它的情况下执行此操作.

最后,我应该提到我对其他设计持开放态度,如果不能这样做,有人可以想出更好的方法.

model ruby-on-rails associations has-many-through

6
推荐指数
1
解决办法
9664
查看次数

为什么MySQL InnoDB在全表扫描时比MyISAM慢得多?

编辑

OP在下面的回答中分析PostgreSQL时承认了一个错误.我正在更新此问题以反映MyISAM和InnoDB之间的比较.

你好,

我针对MySQL InnoDB,MyISAM和PostgreSQL进行了测试,看看这些引擎在执行全表扫描时的表现如何,以便了解对于我们不可避免地需要发生这种情况的响应时间.

测试是在Intel Core 2 Quad Q6600 @ 2.4Ghz w/4GB RAM和7200 RPM HD(16MB缓存)上进行的.

MySQL版本为5.0.67-community-nt-log 32位,PGSQL版本为8.4.

我写了一个小脚本,在4列表中生成500万行数据.这些是MySQL和PGSQL中使用的create table语句:

- InnoDB

CREATE TABLE sample_innodb (
id integer unsigned not null,
vc1 varchar(200) not null,
vc2 varchar(200) not null,
vc3 varchar(200) not null
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)

- MyISAM

CREATE TABLE sample_isam (
id integer unsigned not null,
vc1 varchar(200) not null,
vc2 varchar(200) not null,
vc3 varchar(200) not null
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

- PostgreSQL

create table sample_pgsql (
id integer not null, …
Run Code Online (Sandbox Code Playgroud)

mysql postgresql performance

6
推荐指数
1
解决办法
4288
查看次数

在mysql表中排名条目

我有一个包含许多行的MySQL表.该表有一个受欢迎的列.如果我按人气排序,我可以得到每个项目的排名.是否可以在不对整个表进行排序的情况下检索特定项目的等级?我不这么认为.那是对的吗?

另一种方法是创建一个用于存储排名的新列,对整个表进行排序,然后遍历所有行并更新排名.这是非常低效的.有没有办法在单个查询中执行此操作?

mysql sorting ranking

5
推荐指数
1
解决办法
5684
查看次数