小编Han*_*Gay的帖子

平衡分配算法

我正在为松散耦合的集群开发一些代码.为了在作业期间实现最佳性能,每次孩子进入或退出时,我都会重新映射其数据.这最终将成为可选的,但是现在它默认执行数据平衡.我的平衡基本上只是确保每个孩子的每台机器的平均文件数量不超过一个.如果除法不干净,则加上余数.并且由于其余部分总是小于儿童数量[除了0例,但我们可以排除],平衡后的儿童最多只有平均值+ 1.

一切似乎都很好,直到我意识到我的算法是O(n!).沿着孩子的名单,找出平均值,余数,谁太多,谁太少.对于列表太多的每个孩子,请通过列表,发送给每个孩子太少.

有更好的解决方案吗?我觉得一定有.

编辑:这是一些伪造的代码来展示我如何派生O(n!):

foreach ( child in children ) {
    if ( child.dataLoad > avg + 1 ) {
        foreach ( child2 in children ) {
            if ( child != child2 && child2.dataLoad < avg ) {
                sendLoad(child, child2)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:O(n ^ 2).Foreach n,n => n*n => n ^ 2.我想我今天早上没有足够的咖啡!;)

在未来,我想转向一种更灵活,更有弹性的分配方法[权重和数据],但是现在,统一的数据分布工作.

algorithm big-o load-balancing cluster-computing

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

对cron执行的命令有特殊限制吗?

我有一个crontab看起来像

0 0 * * * pg_dump DB_NAME > /path/to/dumps/`date +%Y%m%d`.dmp
Run Code Online (Sandbox Code Playgroud)

我手动运行时工作正常,但cron运行时却没有.挖掘完日志后,我明白了

Dec 12 00:00:01 localhost crond[17638]: (postgres) CMD (pg_dump DB_NAME > /path/to/dumps/`date +)
Run Code Online (Sandbox Code Playgroud)

它看起来像百分号的问题,但man页面甚至根本不包含百分比字符,所以我认为它们没问题.

unix linux cron

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

是真假关键词吗?

truefalseJava中的关键字?

java

6
推荐指数
2
解决办法
4587
查看次数

如何计算方向非循环图的关键路径?

当图的节点具有权重时,计算方向非循环图的关键路径的最佳(关于性能)方法是什么?

例如,如果我有以下结构:

            Node A (weight 3)
               /            \
     Node B (weight 4)      Node D (weight 7)
     /               \
Node E (weight 2)   Node F (weight 3)
Run Code Online (Sandbox Code Playgroud)

关键路径应为A-> B-> F(总重量:10)

algorithm graph-theory

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

你将如何实现你的字符串类型?

假设您正在从头开始设计和实现一种新语言,尽管您可以从现有语言/实现中自由借鉴.

问题:如果程序员声明了一个字符串变量(假设是强类型的),你会如何选择将这个变量存储在内存中?

有许多用例,但您是否拥有在某些领域具有优势的特定模型?你的字符串是否可变?它是可变的,但只是一段不是记忆结束的长度吗?我可以动态设置长度,还是只能在编译时完成?是否容易访问'nth'元素?字符串是否需要连续的内存扇区?可以分解成更小的字符串吗?

程序员可能喜欢用字符串来考虑某些事情:计算长度.添加到字符串.提取字符串的部分(子串).应用正则表达式.转换为不同的值(数字,布尔值等)

编辑:澄清我的意思.

如果用户声明以下内容:

var Name : string
Run Code Online (Sandbox Code Playgroud)

作为语言设计师,您如何选择如何将其存储在RAM中?您的方法有哪些优点和缺点,等等.

string

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

Django中基于日期的通用视图的分页

我有一个非常简单的问题.我想在Django网站上制作一些基于日期的通用视图,但我也想对它们进行分页.根据文档,object_list视图具有page和paginate_by参数,但archive_month视图没有.这样做的"正确"方法是什么?

python django pagination

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

Grails中是否有标准的审计跟踪方法?

是否有一个Grails插件或管理的标准方式created_by,created_on,updated_by,updated_on字段域对象?

audit grails

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

如何用mercurial"恢复"未更改的文件?

我已经在我的计算机上安装了Windows7,我不得不更改所有权限/取得所有权 - 这显然"触及"了我的所有文件,现在一切似乎都被"修改"(当我做"hg status"时),但只有一些文件有实际的变化.

是否有一个命令我可以运行,以便"提交"或"恢复"所有没有实际更改的文件(即文本未更改,即使文件属性已更改).

添加:

我已经从WinXP升级到Win7.我实际上并没有"复制"任何东西,磁盘上的存储库是相同的....它只是改变了Windows.升级后,我无法访问某些文件,我需要"取得所有权"才能重新获得访问权限(不知何故,用户权限未得到妥善保存).这是我得到的:

$ hg stat 
../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as M      
$ hg diff ../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as
Run Code Online (Sandbox Code Playgroud)

version-control mercurial

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

Apache Commons Collections中是否存在与ArrayIterator的通用等价物?

ArrayIterator很方便(虽然我不需要这个reset功能),但是像其他的Commons Collections一样,它不使用泛型.我检查过Google Collections,但我没有看到相近的等价物.我错过了吗?是否有另外一个具有类似声誉和质量的图书馆,前两个图书馆提供这样的东西?谢谢.

java arrays collections guava apache-commons-collection

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

"如果var和var2 == getSomeValue()"在python中 - 如果第一个为false,那么第二个语句是否被评估?

我有一些像这样的代码:

if var:
    if var2 == getSomeValue()
Run Code Online (Sandbox Code Playgroud)

这可以是单个表达式.

if var and var2 == getSomeValue():
Run Code Online (Sandbox Code Playgroud)

...但getSomeValue()只有在var为True时才能调用.

那么,在调用时if var and var2 == getSomeValue(),是否都由解释器评估,或者评估在varif处停止False?我在哪里可以找到有关python文档的信息?(我不知道要搜索什么...:/)

python short-circuiting

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