小编On *_*und的帖子

.NET JSON解析器比较

我一直在研究几种用于.NET的JSON解析器(LitJSON,JsonExSerializerJSON.NET),并且想知道是否有人对它们有任何经验,并且可以阐明它们之间的差异和利弊.

.net json

17
推荐指数
2
解决办法
1万
查看次数

单元测试内核驱动程序

我正在寻找Windows内核环境的测试框架.到目前为止,我发现了cfix.有人试过吗?还有替代品吗?

windows unit-testing drivers kernel

8
推荐指数
1
解决办法
2984
查看次数

连接表上的条件比引用条件更快

我有一个涉及两个表的查询:表A有很多行,并包含一个名为的字段b_id,该字段引用表中的记录B,该表有大约30个不同的行.表上A有一个索引b_id,表上B有一个索引name.

我的查询看起来像这样:

SELECT COUNT(A.id) FROM A INNER JOIN B ON B.id = A.b_id WHERE (B.name != 'dummy') AND <condition>;
Run Code Online (Sandbox Code Playgroud)

随着condition桌子上的一些随机条件A(我有很多,所有表现出相同的行为).

此查询非常慢(以2秒为单位),并使用说明,显示查询优化器以表开始,B提供约29行,然后扫描表A.做一个STRAIGHT_JOIN,转动订单,查询立即运行.

我不是黑魔法的粉丝,所以我决定尝试别的东西:拿出B名字的记录的id,dummy比方说23,然后将查询简化为:

SELECT COUNT(A.id) FROM A WHERE (b_id != 23) AND <condition>;
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,这个查询实际上比直接连接要慢,向北走一秒钟.

关于为什么连接比简化查询更快的任何想法?

更新:根据评论中的请求,解释的输出:

直接加入:

+----+-------------+-------+--------+-----------------+---------+---------+---------------+--------+-------------+
| id | select_type | table | type   | possible_keys   | key     | key_len | …
Run Code Online (Sandbox Code Playgroud)

mysql sql join

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

这段代码是否滥用了 STL 的 find_if?

假设我有一个存储在向量中的服务器名称列表,我想一次联系他们一个,直到他们成功响应。我正在考虑以下列方式使用 STL 的 find_if 算法:

find_if(serverNames.begin(), serverNames.end(), ContactServer());
Run Code Online (Sandbox Code Playgroud)

其中 ContactServer 是谓词函数对象。
一方面,存在一个问题,因为对于相同的服务器名称,谓词并不总是返回相同的结果(因为服务器停机、网络问题等......)。但是,无论使用谓词的哪个副本(谓词没有真实状态),都将返回相同的结果,因此在这种情况下与状态保持谓词的原始问题无关。

你怎么说?

c++ stl

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

Rails 4错误"param缺失或值为空:"在创建中

我查看了几个教程,ruby指南和几个stackoverflow问题.我首先尝试使用simple_form,现在是老式的方式,无法弄清楚为什么params没有通过.

控制器:

def new
  @topgem = Topgem.new
end

def create 
  @topgem = Topgem.new(topgem_params)

  if @topgem.save
    redirect_to @topgem
  else
    render 'new'
  end
Run Code Online (Sandbox Code Playgroud)

...

 private
    def topgem_params
      params.require(:name).permit(:url, :description, :downloads, :last_updated)
    end
Run Code Online (Sandbox Code Playgroud)

模型:

class Topgem < ActiveRecord::Base

  has_many :votes
  has_many :users, through: :votes

  validates :name, presence: true, uniqueness: true, :length => {
    :minimum =>2,
    :maximum =>50}

  validates :url, presence: true
  validates :description, presence: true 
  validates :downloads, numericality: { only_integer: true }
end
Run Code Online (Sandbox Code Playgroud)

new.html.erb

<%= form_for(@topgem) do |f| %>


  <%= f.label :name %>: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails strong-parameters ruby-on-rails-4

3
推荐指数
1
解决办法
2万
查看次数