小编bma*_*man的帖子

Python unittest的assertDictContainsSubset推荐替代方案

我在用unittest编写的Python中有一些测试.我想检查一下我的一些词典至少包含某些属于某些值的属性.如果有额外的值,那就没问题了.assertDictContainsSubset将是完美的,除了它已被弃用.是否有更好的事情我应该使用或者我应该递归断言内容是否相等,如果它们在目标字典中?

文档建议使用addTypeEqualityFunc,但我确实想assertEqual在某些情况下使用正常的dicts.

python unit-testing python-3.x

24
推荐指数
4
解决办法
5652
查看次数

如何在循环中获取当前迭代器项的索引?

如何在循环中获取Python 迭代器的当前项的索引?

例如,当使用finditer返回迭代器的正则表达式函数时,如何在循环中访问迭代器的索引.

for item in re.finditer(pattern, text):
    # How to obtain the index of the "item"
Run Code Online (Sandbox Code Playgroud)

python iterator

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

在O(1)时间内支持Min,Max操作的队列的正确数据结构是什么?

支持Enque,Dequeue,Peak,Min和Max操作的队列的正确数据结构是什么,并在O(1)时间内执行所有这些操作.

最明显的数据结构是链表,但Min,Max操作将是O(n).Priority Queue是另一个完美的选择,但Enqueue,Dequeue应该以Queue的正常方式工作.(FIFO)

想到的另一个选项是Heap,但是我无法弄清楚如何使用Heaps设置具有Min,Max操作的队列.

任何帮助深表感谢.

heap queue

15
推荐指数
2
解决办法
1618
查看次数

NuSoap与PHP肥皂库.getError在哪里?

我正在将使用NuSoap的旧代码转换为PHP Soap Library.但是在PHP Soap Libary中,NuSoap PHP中的方法getError似乎不存在,我收到此错误:

Fatal error: Uncaught SoapFault exception: 
[Client] Function ("getError") is not a valid method for this service in index.php:33
Stack trace: #0 index.php(33): SoapClient->__call('getError', Array) #1 index.php(33):
SoapClient->getError() #2 index.php(63): pay() #3 {main} thrown in /homeindex.php on line 33 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<?php
    $client = new SoapClient('my soap server');
    $err = $client->getError();
?>
Run Code Online (Sandbox Code Playgroud)

我应该如何在PHP Soap库中获得错误?

php soap soap-client nusoap

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

强制django使用MYISAM存储引擎创建表

使用syncdb命令创建数据库时如何强制django使用MYISAM存储引擎?这个页面对这个问题没有多大帮助.

MYISAM是完美的选择,因为数据库几乎只用于阅读,MYISAM比InnoDB快得多.模型中仍然存在一些models.ForeignKey字段,但它们仅用于创建主详细信息管理页面.不需要在数据库中具有实际的外键.

django myisam django-models

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

为图像创建一个特殊的视觉选择工具

我想创建一种特殊类型的选择,其中图像变暗,并且在用户选择的部分中显示真实图像。你可以看一个例子:

例子

我发现了两种实现此目的的方法:

  1. 实现显示变暗图像的控件。当用户将椭圆拖动到此控件上时,椭圆会将真实图像(未变暗的图像)复制到控件画布中。在这种情况下,当他/她尝试将椭圆调整为较小尺寸时,首先椭圆的整个矩形区域变暗,然后在新的较小椭圆中绘制真实图像。

  2. 与方法 1 相同,但我们不是在控件的画布上绘图,而是创建一个显示真实图像的新控件。在这种情况下,所有发送到新控件的消息都应该传递到父控件。因为如果用户尝试将椭圆调整为较小的尺寸,WM_MOVE 消息将发送到该控件,而不是父控件。

请有人告诉我实施此操作的正确方向。我认为方法 1 很难实现,因为它会导致很多闪烁。除非我实现一种仅通过 InvalidateRect 函数重新绘制更改部分的方法。

这是我迄今为止实现的 TScreenEmul 类的代码。它可以工作,但有闪烁。

unit ScreenEmul;

interface

uses Classes, Types, Windows, Messages, Graphics, Controls, SysUtils, Dialogs, ExtCtrls;

const
   PixelCountMax = 32768;

type
  PRGBTripleArray = ^TRGBTripleArray;
  TRGBTripleArray = array[0..PixelCountMax-1] of TRGBTriple;
  TScreenEmul = class(TCustomControl)
  private
    LastRect, DrawRect: TRect;
    DrawStart: TPoint;
    MouseDown: Boolean;

    Backup, Darken: TBitmap;
    FBitmap: TBitmap;

    procedure BitmapChange(Sender: TObject);

    procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
    procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;
    procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
    procedure WMEraseBkgnd(var …
Run Code Online (Sandbox Code Playgroud)

delphi winapi gdi window-management

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

当我将项目发布到GitHub时,我应该如何处理Grunt的node_modules目录?

这是我使用Grunt和Git的第一个项目.在我的项目中,我有' *node_modules* '目录,我是通过命令' npm install grunt ' 创建的.现在我想将我的项目发布到GitHub.

我的项目应该包含'node_modules'还是我应该省略它?我担心这会让那些不熟悉Grunt的开发人员感到害怕.事实上,我很困惑为什么你应该分别为每个项目安装grunt.为什么不可能在全球安装它?

这是我的安装:grunt-contrib-concat,grunt-contrib-jshint,grunt-contrib-qunit,grunt-contrib-uglify,grunt-contrib-watch.

git gruntjs

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

React 控制的组件在 Firefox 中不会自动完成

在 React 中使用受控输入时,自动完成功能在 Firefox 中不起作用,但在 Chrome 中起作用。因此,它与表单元素上的属性自动完成功能无关,因为我没有使用它。

这是我用来渲染受控输入元素的代码:

<input style={inputStyle} id={this.props.id} type={this.props.type} placeholder={this.props.placeholder} value={this.props.value} onChange={this.props.onChange} />
Run Code Online (Sandbox Code Playgroud)

这是从父组件传递到该组件的 onChange 函数(对于电子邮件字段):

_updateEmail(event) {
    this.setState({email: event.target.value.substr(0, 100)});
}
Run Code Online (Sandbox Code Playgroud)

这里有 2 个屏幕截图,显示它在 Firefox 中不起作用,但在 Chrome 中可以。

铬合金:

火狐浏览器:

如果我将受控输入转换为普通输入,它确实可以在 Firefox 中使用。这就是真正奇怪的部分。

firefox reactjs

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

浏览器未在OPTIONS调用中发送“授权”标头

我有一个非常简单的HTTP调用:

fetch('http://127.0.0.1:5500/v1/homes/', {
  method: "GET", 
  mode: "cors", 
  credentials: "same-origin", 
  headers: {
     Authorization: "TEST"
  }})
  .then(function(response) {
    console.log(response);
  });
Run Code Online (Sandbox Code Playgroud)

但是,当我查看Google Chrome DevTools的“网络”标签时,OPTIONS请求中没有“授权”标头。这将导致服务器使用“ 401未经授权”进行答复。

浏览器的curl等同于请求:

curl 'http://127.0.0.1:5500/v1/homes/' \
-X OPTIONS -H 'Access-Control-Request-Method: GET' \
-H 'Origin: http://localhost:8100'
-H 'Referer: http://localhost:8100/'
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
-H 'Access-Control-Request-Headers: authorization'
--compressed
Run Code Online (Sandbox Code Playgroud)

我在客户端做错了吗?还是浏览器不发送OPTIONS请求中的Authorization标头很普遍,因此,我需要以一种响应OPTIONS调用的方式更改服务器而无需Authorization标头?

javascript cors

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

将 props 从 Document 发送到 Next.js 中的 NextApp 组件

为了实现内容安全策略Document,我需要将文件中的组件中生成的随机令牌传递_document.js给文件NextApp中的组件_app.js

我想在不使用 request object 或 context 的情况下做到这一点。我认为这应该是可能的,因为 Document 组件包装了NextApp 组件。

是否有一种干净的方法可以以干净且 Next.js 惯用的方式将 props 从 Document 组件发送到 NextApp 组件?

javascript content-security-policy next.js

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