如何根据所有候选行的应用权重在T-SQL中随机选择一个表行?
例如,我在一个表中有一组行加权为50,25和25(最多加100但不需要),我想随机选择其中一行,其统计结果相当于各自的重量.
您更喜欢哪种操作系统?客户端或服务器
虽然如果您正在进行(主要是)Web编程(或其他基于服务器的代码),但您应该使用服务器操作系统来安装您的开发机器,因为它更接近您的应用程序运行的环境.
更新:我应该补充一下,这真的是针对Windows人群的
我想从Ruby应用程序发送电子邮件.是否有核心语言的调用来执行此操作,或者是否应该使用库?最好的方法是什么?
我不完全确定Ruby是否可行,但希望有一种简单的方法可以做到这一点.我想声明一个变量,然后找出变量的名称.也就是说,对于这个简单的片段:
foo = ["goo", "baz"]
Run Code Online (Sandbox Code Playgroud)
如何获取数组的名称(此处为"foo")?如果它确实可能,这是否适用于任何变量(例如,标量,散列等)?
编辑:这是我基本上要做的事情.我正在编写一个包含三个重要变量的类的SOAP服务器,验证代码基本上是这样的:
[foo, goo, bar].each { |param|
if param.class != Array
puts "param_name wasn't an Array. It was a/an #{param.class}"
return "Error: param_name wasn't an Array"
end
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我可以用foo,goo或bar替换'param_name'的实例吗?这些对象都是数组,所以到目前为止我收到的答案似乎不起作用(除了重新设计整个事情ala dbr的答案)
在SEO中,人们谈论了很多关于Google PageRank的内容.这是一个问题22,因为直到你的网站真的很大并且你真的不需要搜索引擎,大网站不太可能链接到你并增加你的PageRank!
我被告知,最简单的方法就是只需要几个高质量的链接指向一个网站来提高它的PageRank.我也被告知有一些像dmoz.org这样的开放目录,谷歌特别关注(因为它们是人工管理的链接).任何人都可以说这个的有效性或建议另一个网站/技术来增加网站的PageRank?
我有一个数字数组,可能有多达8个小数位,我需要找到我可以乘以它们的最小公共数,以便它们都是整数.我需要这个所以所有的原始数字都可以乘以相同的比例并由一个只处理整数的密封系统处理,然后我可以检索结果并用公共乘数除以得到我的相对结果.
目前我们对这些数字进行了一些检查并乘以100或1,000,000,但是*密封系统完成的处理在处理大数字时可能会非常昂贵,因此为了它而将所有内容乘以一百万并不是真的一个很好的选择.可以说,每次乘以10倍时,密封算法的成本会高出10倍.
什么是最有效的算法,也将提供最好的结果,以实现我需要的东西,是否有我需要的数学名称和/或公式?
*密封系统没有真正密封.我拥有/维护它的源代码,但它的100,000个奇怪的专有魔法线,它已经彻底的bug和性能测试,改变它来处理浮动不是一个选项有很多原因.它是一个创建X×Y单元网格的系统,然后X by Y的网格被放入网格中,"专有魔法"发生并且结果被吐出 - 显然这是现实的极简化版本,但它是一个足够好的近似值.
到目前为止,有一些很好的答案,我想知道如何选择"正确"的答案.首先,我认为唯一公平的方法是创建每个解决方案并对其进行性能测试,但后来我意识到纯粹的速度并不是唯一的相关因素 - 更准确的解决方案也非常相关.无论如何我写了性能测试,但目前我正在使用"肠道感觉"公式,根据速度和准确度选择正确的答案.
我的性能测试处理了1000组不同的100个随机生成的数字.使用相同的随机数集测试每个算法.算法是用.Net 3.5编写的(虽然到目前为止兼容2.0)我努力使测试尽可能公平.
所以格雷格乘以大数乘以然后除以GCD"解决方案是第二快算法,它给出了最准确的结果,所以现在我称之为正确.
我真的希望Decimal.GetBits解决方案是最快的,但它非常慢,我不确定这是由于Double转换为Decimal还是Bit掩码和转换.使用BitConverter.GetBytes和这里包含的一些知识应该有一个类似的可用解决方案:http://blogs.msdn.com/bclteam/archive/2007/05/29/bcl-refresher-floating-point-类型 - 好 - 坏 - 丑陋 - inbar-gazit-matthew-greig.aspx但是每次我读这篇文章时我的眼睛都会不停地上釉,我最终没时间试图实现一个解.
如果有人能想到更好的东西,我总是愿意接受其他解决方案.
我正在寻找一种简单的方法来获取文件扩展名不正确或没有给出的mime类型,类似于.Net中的这个问题.
我如何单元测试MVC重定向?
public ActionResult Create(Product product)
{
_productTask.Save(product);
return RedirectToAction("Success");
}
public ActionResult Success()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
是Ayende的做法仍然是最好的方式,与预览5:
public static void RenderView(this Controller self, string action)
{
typeof(Controller).GetMethod("RenderView").Invoke(self,new object[] { action} );
}
Run Code Online (Sandbox Code Playgroud)
似乎很奇怪必须这样做,特别是当MVC团队已经表示他们正在编写可测试的框架时.
我正在为使用自定义事件日志源的网站创建安装程序.我希望我们的基于WiX的安装程序在安装期间创建该事件日志源.
有没有人知道使用WiX框架执行此操作的最佳方法.