小编Bum*_*imp的帖子

Web Workers可以使用100%的多核CPU吗?

我一直试图找出Web工作人员分配处理器负载的能力.我还没有找到任何能够让我的四核2600k甚至达到50%的演示,更不用说100%了.

这是一个Web工作者演示,我试图最大化我的CPU:

http://nerget.com/rayjs-mt/rayjs.html

(如果你使用firebug/chrome-inspect-element进入页面的HTML并使画布变大,你可以使它成为一个更大的图像 - 我设置为1920 x 1080)

即使选择了4,8,16名工作人员,我也无法将每个核心的CPU利用率提高到25%左右.

有谁知道你是否可以通过网络工作者使用100%的CPU?

(我正在使用谷歌浏览器.)

html javascript html5 multithreading web-worker

22
推荐指数
2
解决办法
6899
查看次数

我们如何在PHP中创建一个相当安全的密码哈希?

我一直在读密码哈希,但我读过的所有论坛都充斥着人们辩论其背后的理论的帖子,我真的不明白.

我有一个旧的(可能非常弱)密码脚本,如下所示:$ hash = sha1($ pass1);

function createSalt()
{
$string = md5(uniqid(rand(), true));
return substr($string, 0, 3);
}

$salt = createSalt();
$hash = sha1($salt . $hash);
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,盐越长,黑客必须生成的表格越大,以打破哈希.如果我错了,请纠正我.

我正在寻找一个更安全的新脚本,我想这样的事情可以:

function createSalt()
{
$string = hash('sha256', uniqid(rand(), true));
return $string;
}


$hash = hash('sha256', $password);
$salt = createSalt();
$secret_server_hash =     'ac1d81c5f99fdfc6758f21010be4c673878079fdc8f144394030687374f185ad';
$salt2 = hash('sha256', $salt);
$hash = $salt2 . $hash . $secret_server_hash;
$hash = hash('sha512', $hash );
Run Code Online (Sandbox Code Playgroud)

这更安全吗?这有明显的开销吗?

最重要的是,是否有更好的方法可以确保我的数据库中的密码无法通过密码分析(现实地)恢复,从而确保安全性受损的唯一方法是通过我自己的编码错误?

编辑:

在阅读了所有答案并进一步重新研究之后,我决定继续实施保护密码的bcrypt方法.话虽如此,出于好奇心的缘故,如果我要采用上面的代码并对其进行循环,比如100,000次迭代,是否会实现类似于bcrypt的强度/安全性的东西?

php passwords hash

12
推荐指数
1
解决办法
3745
查看次数

在HTML5 <canvas>上最大化粒子渲染的速度

我正在做一个实验,试图在HTML5 Canvas中帧率开始下降之前改善最大粒子数.

我正在使用requestAnimationFrame,我正在使用画布中的drawImage,因为这似乎是渲染图像的最快方法(在jsPerf上测试).

这里有一个有效的jsFiddle:http://fiddle.jshell.net/bewYC/5/

您可能需要刷新或重新运行几次才能使其工作(不知道为什么,但它只是不想在第一页加载时运行.)

As is, my computer running Chrome 22 can maintain 60FPS with about 5,000 particles. With every step above that, FPS starts to drop. If I remove drawImage() and just calculate the particles' positions, my processor doesn't max out until well over 10X as many particles.

What I want to know: Is there is a faster way to render a large amount of particles (say 40,000 for example) than using a loop with drawImage …

javascript html5 sprite webgl html5-canvas

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

为什么CGWarpMouseCursorPosition导致延迟?如果不是,那是什么?

我这里的代码将鼠标限制在屏幕上的一个区域,它运行得相对较好,只有一个大问题.当沿着区域的边缘运行时,鼠标没有干净/平滑地移动,而是以非常波动的方式跳跃,我相信这可能是由于CGWarpMouseCursorPosition导致每次"扭曲"的延迟.

任何人都可以告诉我的代码中是否有导致此延迟的事情,或者它是否实际上是鼠标扭曲函数.如果是鼠标扭曲功能,有什么方法可以让鼠标顺利重新定位?我在闪存中做了同样的事情并且它完美无瑕地工作,我知道循环不仅花费了太多时间来执行它减慢了速度因为它只运行了4到5次.

CGEventRef 
mouse_filter(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {


    CGPoint point = CGEventGetLocation(event);

    float tX = point.x;
    float tY = point.y;

    if( tX <= 700 && tX >= 500 && tY <= 800 && tY >= 200){
        // target is inside O.K. area, do nothing
    }else{

    CGPoint target; 

    //point inside restricted region:
    float iX = 600; // inside x
    float iY = 500; // inside y

    // delta to midpoint between iX,iY and tX,tY
    float dX; …
Run Code Online (Sandbox Code Playgroud)

c macos mouse core-graphics objective-c

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

在Mac上将鼠标限制为一个显示器(可能使用Cocoa)

我一直在疯狂地寻找一种方法,该方法可将用户的鼠标限制在Mac上的多显示器设置中的一个显示器上。

我偶然发现了这个问题:可可:将鼠标限制在屏幕上,我保证我没有重复这个问题。

但是,这个问题确实激发了我的想法,即可以使用Cocoa编写一个简单的应用程序以将鼠标限制在一个屏幕上,在后台运行该应用程序,并且仍然可以使用我在AS3中开发的游戏/ Adob​​e AIR / Flash。

该游戏是全屏游戏,并且在同一台显示器上始终具有相同的分辨率。另一台监视器也将始终具有相同的分辨率,但仅仅是信息的非交互式显示。我需要用户能够与游戏进行交互,但不能意外地将鼠标移出游戏屏幕。

问题摘要: 我可以使用Cocoa / Objective C为Mac OS X(Lion)创建一个基本应用程序,该应用程序将鼠标限制为可以在后台运行的一台显示器,并防止用户将鼠标移到具有该功能的显示器之外。一个全屏游戏可以运行吗?


[编辑:]我找到了运行Quartz Event Filter循环的必要基本代码,这是由以下答案提供的:修改NSEvent以发送与按下的键不同的键

我将使用该代码进行测试,并且对它进行了一些修改以检测鼠标事件,如下所示:

CGEventRef mouse_filter(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {

    NSPoint point = CGEventGetLocation(event);
    NSPoint target = NSMakePoint(100,100);
    if (point.x >= 500){
        CGEventSetLocation(event,target);

    }
    return event;
}

int main(int argc, char *argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    CFRunLoopSourceRef runLoopSource;

    CFMachPortRef eventTap = CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, kCGEventTapOptionDefault, kCGEventMouseMoved, mouse_filter, NULL);

    if (!eventTap) {
        NSLog(@"Couldn't create event tap!"); …
Run Code Online (Sandbox Code Playgroud)

macos mouse cocoa multiple-monitors objective-c

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

更改由AS3添加到舞台的MovieClip中的动态文本字段不起作用?

当我更改动态文本字段的文本值时,文本字段将变为空白,而不显示新值.

我有一个标题为"game_board"的MovieClip,由AS3动态添加到舞台上.(开始阶段是空白的.)

我还有另一个标题为"stage_2"的MovieClip,它被AS3动态地添加为"game_board".

"stage_2"包含一个预制板,上面有不同的动态文本字段.它们都有实例名称.例如"text_1".原始值为this.game_board.stage_2.text_1.text0.

当我这样做:

this.game_board.stage_2.text_1.text = "test";

trace(this.game_board.stage_2.text_1.text); //succesfully shows new value, "test"
Run Code Online (Sandbox Code Playgroud)

跟踪成功地显示了新值,但是舞台上的文本字段显示为"0",现在绝对没有显示,它只是消失了.我尝试运行addChild以防由于某种原因它被移动到底层,但这不起作用.即使舞台只包含该文本字段,它仍然只是空白.

我究竟做错了什么?

flash actionscript-3 flash-cs5

4
推荐指数
1
解决办法
8766
查看次数

仅选择具有重复的记录(列A ||列B)但不同(列C)值

我为这个令人困惑的标题道歉,我无法弄清楚这个问题的正确措辞.相反,我只会给你背景信息和目标:

这是在一个表中,一个人可能有也可能没有多行数据,这些行可能包含相同的值activity_id,也可能不包含.每行都有一个自动递增的ID.人们没有附加名称的唯一标识符,因此我们只能使用first_name/last_name来标识某个人.

我需要能够在此表中找到具有多行的人员,但只能找到包含多个不同行的多行的人员activity_id.

以下是我们正在查看的数据示例:

unique_id | first_name    |   last_name    |    activity_id
---------------------------------------------------------------
 1        | ted           | stevens        | 544
 2        | ted           | stevens        | 544
 3        | ted           | stevens        | 545
 4        | ted           | stevens        | 546
 5        | rachel        | jameson        | 633
 6        | jennifer      | tyler          | 644
 7        | jennifer      | tyler          | 655
 8        | jennifer      | tyler          | 655
 9        | jack          | fillion        | 544
 10 …
Run Code Online (Sandbox Code Playgroud)

mysql sql oracle

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

如何将两个数组传递给一个参数中的函数?

我有这个代码:

unsigned short (*pixel_array)[SCREEN_HEIGHT] = get_ok_zone(mouse_mask); 
unsigned short (*pixel_border)[2] = get_ok_zone_border(pixel_array); 
Run Code Online (Sandbox Code Playgroud)

这让我可以访问这两个数据数组.

我需要以某种方式将这两个数组作为ONE参数传递给函数.

我不仅无法弄清楚如何传递它们,我无法弄清楚一旦我将它们放入函数中就能单独访问它们.

我一整天都在努力理解这一点,它似乎正在逃避我.

有人可以向我解释我需要做什么才能通过一个参数(可能在一个指针数组中)将这两个数组传递给一个函数,以及如何在函数内部访问它们?

编辑:我将参数(我唯一允许传递的参数)传递给Quartz Event Tap回调.

编辑2: @Kevin

我创建了结构:

struct array_stack {
    unsigned short (*pixel_array)[SCREEN_HEIGHT]; 
    unsigned short (*pixel_border)[2]; 
};
Run Code Online (Sandbox Code Playgroud)

然后,在我的int main()中,我有:

struct array_stack as = {get_ok_zone(mouse_mask), get_ok_zone_border(get_ok_zone(mouse_mask))};



CFRunLoopSourceRef runLoopSource;
CGEventMask event_mask;
event_mask = CGEventMaskBit(kCGEventMouseMoved) | CGEventMaskBit(kCGEventLeftMouseDragged) | CGEventMaskBit(kCGEventRightMouseDragged) | CGEventMaskBit(kCGEventOtherMouseDragged);

CGSetLocalEventsSuppressionInterval(0);

CFMachPortRef eventTap = CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, 0, event_mask, mouse_filter, as);
Run Code Online (Sandbox Code Playgroud)

(我传递了代码块底部的as最后一个参数CGEventTapCreate());

我收到错误passing struct array_stack to a parameter of incompatible type …

c callback

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

没有训练价值的神经网络学习

我想知道如何在不提供训练值的情况下训练神经网络.我的前提是神经网络将用于可以从传感器接收正/负反馈的机器人.IE,为了训练它自由地漫游而不碰到东西,当没有触发碰撞传感器或接近传感器时会发生正反馈.当碰撞/接近传感器被触发时发生负反馈.如何使用这种方法训练神经网络?

我是用C++写的

machine-learning reinforcement-learning neural-network

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

Java Hello World应用程序在显示图像时无法启动

我使用JFrame/ 创建了一个小的"hello world"应用程序JPanel,它在我的IDE(Netbeans)中完美运行.我只是使用在屏幕上绘制一个字符串来测试它Graphics.drawString(),它在浏览器和构建的.Jar文件中都能很好地工作.

我决定添加一个图像只是为了测试它(我是Java的新手),并且App继续在IDE中运行,但是构建的.Jar文件没有启动任何东西,或者给出错误或任何东西.

这是2类文件:

Boxy_Main.java:

package boxy;

import javax.swing.JFrame;
import java.awt.*;

public class Boxy_Main extends JFrame {

    public static Boxy_Main main;

    public Boxy_Main() {
        add(new Board());
        setTitle("Boxy");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(467, 700);
        setLocationRelativeTo(null);
        setVisible(true);
        setResizable(true);
    }
    public static void main(String[] args) {
        main = new Boxy_Main();
    }
}
Run Code Online (Sandbox Code Playgroud)

Board.java:

package boxy;

import javax.swing.JPanel;
import java.awt.*;
import javax.swing.*;

public class Board extends JPanel {

    public Graphics2D g2d;
    public Graphics g;
    public Image hello_image;

    public Board() { …
Run Code Online (Sandbox Code Playgroud)

java netbeans jdk1.6

0
推荐指数
1
解决办法
349
查看次数