小编Raú*_*ràs的帖子

如何在一段时间内传播流程,获得最少数量的"冲突"

我正在为嵌入式系统开发调度程序.该调度程序将每隔X毫秒调用每个进程; 当然,这个时间可以为每个过程单独配置.

一切都被编码,并按照应有的方式调用每个进程; 我面临的问题是:想象一下我分别每10,15,5和30毫秒调用4个进程:

A: 10ms
B: 15ms  
C: 5ms 
D: 30ms
Run Code Online (Sandbox Code Playgroud)

随着时间推移产生的呼叫将是:

                       A          |
       A   B   A       B          |
    C  C   C   C   C   C   C      | processes being called
                       D          |
----------------------------------
0   5  10  15  20  25  30  35...    ms
Run Code Online (Sandbox Code Playgroud)

问题是当达到30ms时,所有进程都在同一时刻(一个接一个)被调用,这可能会延迟从这里开始的正确执行.

这可以通过为每个进程添加延迟(但保留其调用频率)来解决,因此频率停止是彼此的倍数.我的问题是我不知道如何计算应用于每个过程的延迟,因此最小化了碰撞次数.

是否有任何已知的算法或一些数学指导?

谢谢.

algorithm math scheduling

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

适当的腌制和使用PHPass

我一直在使用PHPass来密码我的密码很长一段时间.我承认仍然有一些我不完全理解(或忽略)正确散列密码的东西所以今天我正在审查我能找到的所有相关信息.

回顾PHPass文档,我已经踏入了这个:

除了实际散列之外,当新密码或密码被散列时,phpass透明地生成随机盐,并且它将散列类型,salt和密码拉伸迭代计数编码到它返回的"散列编码字符串"中.当phpass对存储的哈希验证密码或密码时,它同样透明地提取并使用哈希类型标识符,盐和"哈希编码字符串"中的迭代计数.因此,您不必费心自己进行腌制和拉伸 - phpass会为您处理这些问题.

我加粗了困扰我的句子.
我总是认为盐应该有些秘密,因为攻击者不应该知道它.因此,如果正确理解,PHPass会将相同哈希中使用的盐存储起来,以便在比较密码时能够使用它并检查是否有效.
我的问题是

  1. 这样安全吗?如果散列遭到破坏,攻击者就会使用盐来散列密码...这里有我想念的东西.
  2. 我在这里真的可以免费打扰密码吗?我真的可以依靠PHPass吗?

php security phpass

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

两个相同的URL但参数顺序不同:重复的内容?

我自己的CMS会自动将新参数添加到页面中的链接以指定给定的语言.

它工作得很好,但它并不总是将var放在相同的位置,给我一个相同页面/语言的链接:

www.xxx.yy/index.php?mod = blog&page = 3&lang = en

要么

www.xxx.yy/index.php?mod = blog&lang = en&page = 3

搜索引擎是否足够聪明,可以同时检测两个网址?或者会检测为两个不同的网址,因此将它们标记为重复内容?

无论如何我会解决这个问题,但很久以前我对此很好奇.

seo

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

Google Maps API:获取当前视图的网址

我有一个表单,用户可以在其中引入谷歌地图网址,以指定一些东西的地址.我一直在考虑通过Google Map API v3显示地图,让用户移动到所需的位置,通过按钮或其他东西自动获取该地点的URL并将其复制到输入.

我已经能够使用教程显示地图,但我无法在文档中找到我如何获取网址...

我想你不需要它,但这是我正在使用的简单代码:

var latlng = new google.maps.LatLng(-34.397, 150.644);
var options = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};
var map = new google.maps.Map(document.getElementById('map-box'), options );
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

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

Qt:如何知道QMdiSubWindow何时关闭?

用户关闭QMdiSubWindow时,有什么方法可以得到通知?我在QMdiAreaQMdiSubWindow中找不到任何提示我可以找到的信号。

我认为唯一的机会是通过继承QMdiSubWindow并重写close事件,但是还有其他方法吗?

qt

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

Webpack CommonChunkPlugin生成空公共文件

我正在使用webpack 1.14.0,但是我遇到CommonsChunkPlugin了按照我打算的方式工作的问题.

我有一个与此类似的配置文件(我简化了它):

var webpack = require('webpack');
module.exports = {
    context : __dirname,

    output: {
        filename: "[name].dist-[chunkhash].js",
        chunkFilename: "chunk.[id]-[chunkhash].js",
        path: 'js/min',
        publicPath: '/js/min/',
        pathinfo: true
    },

    // Entry points for the application
    entry : {
        "homepage": "/a/b/homepage.js",
        "contact": "/a/b/contact.js",
        "list": "/a/b/list.js"
    },

    resolve: {
        packageAlias: false,
        alias: {
            "jquery": "/a/b/jquery",
            "dependency-1": "/a/b/dependency-1",
            "dependency-2": "/a/b/dependency-2"
        }
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            name: "commons",
            filename:"commons.js",
            minChunks: 3
        })
    ]
};
Run Code Online (Sandbox Code Playgroud)

据我所知,CommonsChunkPlugin将分析入口点和其他产生的块文件,搜索重复的模块并将它们放入一个新的"commons"块中.

我正在关注这些示例,并且除了没有任何模块的commons.js文件之外无法获得任何其他内容.

我得到的只是:

  • 收集entry points.
  • 很多 …

webpack

5
推荐指数
0
解决办法
132
查看次数

为什么Rails会像这样放置csrf令牌

我从来没有使用Rails(只能回答我的问题),但我看到它在每个页面中都有表单的CSRF令牌.
我不明白为什么它使用两个meta标签:

<meta name="csrf-token" content="<%= form_authenticity_token %>" />
<meta name="csrf-param" content="authenticity_token" />
Run Code Online (Sandbox Code Playgroud)

为什么不只是csrf-token元?

<meta name="csrf-token" content="<%= form_authenticity_token %>" />
Run Code Online (Sandbox Code Playgroud)

有什么用csrf-param

ruby-on-rails

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

jQuery.off()和jQuery.proxy()

我正在使用jQuery 1.7中的新on()/ off()方法,阅读off()文档我看到以下句子:

由jQuery.proxy()或类似机制代理的处理程序都将具有相同的唯一ID(代理函数),因此将代理处理程序传递给.off可能会删除比预期更多的处理程序.在这些情况下,最好使用命名空间附加和删除事件处理程序.

那是我面临的情况:

function show(){
    this.$element.on( 'click', '.close', $.proxy(this.hide, this) );
}
function hide(){
    this.$element.off( 'click', '.close', $.proxy(this.hide, this) );
}
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,所有对$ .proxy()的调用都有相同的uid,所以我可能会删除比需要更多的处理程序...
如果这是正确的,我不明白(不知道)如何附加处理程序使用命名空间.

jquery

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