我正在使用标准的Fisher-Yates算法来随机洗牌数组中的一副纸牌。但是,我不确定这是否会真正产生现实世界中经过洗牌的纸牌的所有可能排列的真实分布。
V8 Math.random仅具有128位内部状态。由于套牌中有52张卡,因此52个阶乘将需要226位内部状态才能生成所有可能的排列。
但是,我不确定在使用Fisher-Yates时是否适用,因为您实际上并没有生成每种可能的结果,而只是随机地从52个位置中得到一个位置。
function shuffle(array) {
var m = array.length, t, i;
while (m) {
i = Math.floor(Math.random() * m--);
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
Run Code Online (Sandbox Code Playgroud) 我正在优化我的网站,我已经让MySQL慢查询登录了几天,但经过> 260M查询后,它只记录了6个慢查询,这些是我在phpMyAdmin上执行的特殊查询.我想知道是否有什么东西记录缓慢的PHP页面执行时间,以便我可以找到某些占用资源的页面,而不是特定的查询.
我正在使用javascript的window.open打开用户点击指定宽度和高度(760x581)的浏览器窗口,这在Internet Explorer,Safari和Firefox上正常工作,但Google Chrome给了我一些问题.在其他浏览器中,高度被正确地用作内容的高度,但在谷歌浏览器中,它使实际的浏览器窗口高581像素而不是内容.有没有办法来解决这个问题?
<a href="http://domain.com/example.php" onclick="window.open('http://domain.com/example.php', '', 'width=760, height=581, top=15, left=15, toolbar=0, menubar=0, scrollbars=1, resizable=1, copyhistory=0, location=0, directories=0, status=1, titlebar=1, personalbar=0');return false">click here</a>
Run Code Online (Sandbox Code Playgroud) 我正在研究使用Node.js开发一个Web应用程序.我来自PHP背景,我没有使用模板引擎(除了PHP本身),我总是直接写HTML.那么,为什么我应该或不应该使用Jade或其他模板引擎?
我为每个连接用户设置了很多服务器端超时,其中setTimeout和setInterval可以持续10-30秒.如果Node.js实例在其中一个超时中间重新启动,则显然它们在重新启动时都被清除,这可能会导致这些用户出现一些问题.我将如何坚持这些超时,或者是否有任何模块可以帮助解决这个问题?
我正在考虑使用WebGL制作一个3D游戏(仅用于概念目的),但我从未在3D中做任何事情,并且大部分都只用PHP编程.根据我的理解,WebGL是Javascript,我在我的所有项目中都使用了很多,但我也理解它与常规JavaScript非常不同.如果我想开始尝试弄清楚如何使用WebGL制作3D应用程序,那么是否有某种语言可以帮助我掌握如何做得更好?
我有一个MySQL表,其中有一行名为cur_odds,这是一个百分比数字,该行的概率百分比将被选中.例如,当您运行100个查询时,如何进行实际选择大约该频率的行的查询?
我尝试了以下操作,但是有一个概率为0.35的行最终会在60-70%的时间内被选中.
SELECT * FROM table ORDER BY RAND()*cur_odds DESC
Run Code Online (Sandbox Code Playgroud)
表中cur_odds的所有值都精确地加1.
我有一个目前全都用英文的网站.它是一个在线游戏,所以它有一堆不同的页面,包含静态文本,以及数据库中的大量内容.
我正在努力扩大全球范围,并准备发布该网站的一些本地化.但是,我不确定如何设置它的最佳方式,这对我来说是最容易管理的,也是最容易使用的用户.
我应该将翻译后的文本存储在数据库中,还是应该以完全不同的方式完成?如果它很重要,该站点是用PHP编写的并使用MySQL.
我只是想设置Facebook Connect以允许我已经建立的网站上的选择注册注册表,或注册Facebook Connect(这真的应该比它更容易,过时的文档让我疯了).当用户单击该按钮时,它会打开弹出窗口并要求允许我正确询问的内容.但是,当他们单击"允许"时,它会再次要求允许(但只是基本的配置文件信息).这显然是通过单击fb:login-button的默认操作触发的,即使他们已经登录并允许应用访问他们的数据.
<fb:login-button size="medium" length="long" v="2" onclick="fb_login()"></fb:login-button>
<div id="fb-root"></div>
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script>
<script>
FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true});
function fb_login() {
FB.login(function(response) {
if (response.session) {
if (response.perms) {
// they have allowed the app, continue with registration
}
}
}, {perms:'email,user_birthday'});
}
</script>
Run Code Online (Sandbox Code Playgroud) 假设我有一个如下数据集:
{ "_id" : ObjectId("4dd51c0a3f42cc01ab0e6506"), "views" : 1000, "status" : 1 }
{ "_id" : ObjectId("4dd51c0e3f42cc01ab0e6507"), "views" : 2000, "status" : 1 }
{ "_id" : ObjectId("4dd51c113f42cc01ab0e6508"), "views" : 3000, "status" : 1 }
{ "_id" : ObjectId("4dd51c113f42cc01ab0e6508"), "views" : 4000, "status" : 0 }
Run Code Online (Sandbox Code Playgroud)
获得状态为1的所有文档的平均视图数的最快方法(性能方面)是什么?像这样基本的东西需要Map/Reduce,还是有另一种方式?
javascript ×3
mysql ×3
node.js ×2
php ×2
3d ×1
arrays ×1
facebook ×1
html ×1
localization ×1
mapreduce ×1
mongodb ×1
nosql ×1
opengl-es ×1
optimization ×1
popup ×1
probability ×1
pug ×1
random ×1
setinterval ×1
settimeout ×1
shuffle ×1
transactions ×1
translation ×1
webgl ×1
window.open ×1
xfbml ×1