问题列表 - 第36310页

在模块之间传递变量

我想知道为什么这个简单的代码不起作用.

在main.py我有

def foo():
    HTTPHelper.setHost("foo")
    host = HTTPHelper.host()
Run Code Online (Sandbox Code Playgroud)

并在HTTPHelper.py中:

_host = None
def setHost(host):
    _host = host
def host():
    return _host
Run Code Online (Sandbox Code Playgroud)

但是当我逐步执行foo()时,主机变为NoneType,即使我之前将它设置在行上.非常困惑...

python

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

Django管理站点:如何为全局设置创建单个页面?

我想在django的管理站点中创建一个页面,我可以在其中更改网站的一些全局变量(网站标题,导航菜单中的项目等).目前我将它们编码为上下文处理器,但我想让它们可编辑.类似于WordPress中发生的事情.

这可能吗?

  • 我可以将数据存储在数据库中,但是我可以在管理站点中有一个直接连接到第一个文档记录的链接,并且不允许创建多个记录(它们没有意义)
  • 而不是在数据库中创建模型,是否可以从管理站点更改一些context_processor(我认为这将是最好的)

python django django-forms django-admin

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

如何允许用户在他选择的位置拖动动态创建的控件

我正在创建一个应用程序,我需要生成动态创建的控件,如文本框或标签等.

现在我该用户可以将该文本框重新定位到他想要的位置.就像我们在Visual Studio中一样.一种方法是通过使用文本框从他那里获取值来获取新位置.但我希望用户界面容易.

我们能否在winforms中拥有此类功能

c# controls draggable winforms

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

fork如何与逻辑运算符一起工作

main()
{
    if (fork() || (fork() && fork()))
    printf("AA\n");
    else if (!fork())
    printf("BB\n");
    else
    printf("CC\n");
}
Run Code Online (Sandbox Code Playgroud)

我运行了以下代码并获得AA AA CC BB CC BB的结果.虽然我理解fork如何工作,但我不明白它对逻辑运算符的作用.我们班上的老师希望我们为这个家庭作业提供答案.虽然我可以轻松运行此程序,但我想知道究竟发生了什么.任何人都可以向网站解释或指导我使用带逻辑运算符的fork时会发生什么.

我对c/c ++很新,所以对我很轻松.谢谢

c fork

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

如何获得传递给函数的数组大小?

我正在尝试编写一个打印出数组中元素的函数.但是,当我使用传递的数组时,我不知道如何迭代数组.

void
print_array(int* b)
{
  int sizeof_b = sizeof(b) / sizeof(b[0]);
  int i;
  for (i = 0; i < sizeof_b; i++)
    {
      printf("%d", b[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

迭代传递的数组的最佳方法是什么?

c arrays

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

如何跟踪和检查捆绑的Ruby gem中的依赖项

Bundler将自动安装指定gem的任何依赖项,但是它不会输出哪些依赖项映射到标准输出中的哪些gem.当其中一个依赖项未能通过安装时,该信息很有用.

有没有办法将Bundler设置得更详细,并在安装时告知依赖关系?

我使用的是Bundler 1.0.2

ruby rubygems bundler

10
推荐指数
2
解决办法
7069
查看次数

使用Soley接口来促进单元测试中的顽固和模拟现在已经过时了?

在.NET中,TypeMock Isolator和Microsoft Moles允许隔离任何类,属性或方法 - 无论是密封的,静态的,受保护的还是非虚拟的.所以在Moq或Rhino Mocks中不可能嘲笑,现在不再是这样了.

我总是对使用接口只是为了能够允许模拟的想法感到厌恶,否则只有具体的类存在.在这个视图中我并不孤单(见这里,这里这里).在后者中暗示"现代"模拟框架不再需要用于测试或依赖注入的接口.

然而,虽然我不能说TypeMock Isolator,但我可以说在Microsoft Moles中使用Mocks非常慢.在单元测试中使用如下代码会使测试速度太慢而无法经常使用:

MFile.ReadAllLinesString = (s) => csvDataCorrectlyFormatted;
MDirectoryInfo.AllInstances.GetFilesString = (di,fi) => fileInfoArray;
MFileInfo.AllInstances.NameGet = (fi) => "Doesn't Matter";
Run Code Online (Sandbox Code Playgroud)

我敢肯定,如果正在测试的方法被编程到接口或抽象基类(以便文件系统代码可以在各种包装中抽象出来),那么使用像Moq这样的框架来进行存根或模拟最终会更快.但是,我们又回到了基本上增加单元测试能力的生产代码复杂性的情况.

我倾向于认为Isolator和Moles只有在不能用传统的模拟框架模拟时才能使用.然而,为了测试,我仍然为添加生产代码复杂性这一概念而苦苦挣扎.

我很好奇社区其他人的想法.

更新10/06/10:通过说我为了测试而增加了生产代码复杂性的概念,我指的是在不需要时添加接口(或抽象类),例如,当使具体类非密封时,虚拟方法会做.后者仍然允许接缝进行测试.即使后来发现需要为多个实现使用接口,他们也不能从类中提取它吗?但除非出现这种需要,否则为什么不跟随YAGNI.

我全都采用SOLID原则,它们使程序的体系结构更易于维护.我不认为在每种情况下都需要虔诚地遵循这些原则.我认为咒语"它总是取决于",多次发挥作用.否则,即使只有一个实现,也会留下具有接口或抽象基类的每个具体类型.

最后,我不是说,因为Isolator和Moles允许人们在基于动态代理的框架中克服隔离限制,人们不应该将架构设计为可维护的.在许多情况下,SOLID原则是最好的,因此不需要隔离器或摩尔.这是接口仅用于我正在质疑的测试的情况.我也提出了关于速度的另一个观点.如果选择使用隔离器和摩尔,它似乎会带来速度惩罚.所以我当然不认为他们使基于动态代理的框架过时了.

.net unit-testing interface mocking

12
推荐指数
2
解决办法
1791
查看次数

如果我引用名称,JSON中的格式是什么?

我正在写一个JSON文件,但我不确定以下哪种格式是正确的?

引用变量名称和所有字符串值

{
    "class": {
        "number": 2,
        "student": {
            "name": "Tom",
            "age": 1
        },
        "student": {
            "name": "May",
            "age": 2
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

要么

仅引用字符串值

{
    class: {
        number: 2,
        student: {
            name: "Tom",
            age: 1
        },
        student: 
        {
            name: "May",
            age: 2
        }
    }
}  
Run Code Online (Sandbox Code Playgroud)

json

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

查找阵列中的本地分钟

有没有一种简单的方法来确定值数组的局部最小值和最大值.例如

Element Value   Note
1         1 
2         3 
3         5 
4         6 
5         7       max
5         5 
6         4       min
7         6 
8         9 
9         10      max
10        8 
11        7 
12        5      min
13        10    
Run Code Online (Sandbox Code Playgroud)

所以定义的数组如下:

let arr = [|1;3;5;6;7;5;4;6;9;10;8;7;5;10|]
Run Code Online (Sandbox Code Playgroud)

会识别

mins  = [|4;5|]
Run Code Online (Sandbox Code Playgroud)

maxs  = [|7;10|]
Run Code Online (Sandbox Code Playgroud)

它可以是列表或序列以及数组.两个问题

  1. F#中是否有任何有助于完成此任务的设施
  2. 是否有一个通用的算法来确定分钟或最大值或两者?
  3. 如果从头开始写作是应该在功能上还是在命令式上进行?

谢谢

algorithm f#

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

Java:不安全发布的示例

可能重复:
Java多线程和安全发布

我不明白什么是不安全的出版物.任何人都可以提供一个简单的不安全发布示例,并根据示例解释不利影响.

编辑:这不是提到"可能重复"的问题的副本.请重新打开.

java concurrency

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