小编Žil*_*nis的帖子

“霰弹枪解析器”是什么意思?

在演讲The Science of Insecurity 中听到过这个词,但我不确定它是什么意思。

security

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

使用序列化程序作为查询参数验证器是一个好习惯吗?

Serializer 不会用于创建一些 django 模型的预期目的,但它会用于查询参数验证、创建对 elasticsearch 的过滤查询、描述 API 的 swagger 文档。

from rest_framework import views, serializers, fields
from rest_framework.response import Response


class TestQueryParams(serializers.Serializer):
    id = fields.IntegerField(min_value=0)
    date = fields.DateField(format='%Y%m%d')


class TestView(views.APIView):
    def get(self, request):
        qp = TestQueryParams(data=request.query_params)
        qp.is_valid(raise_exception=True)
        # parameters would not be used to create some model
        # but they would be used to get data
        return Response({'some': 'data'})
Run Code Online (Sandbox Code Playgroud)

python django rest django-rest-framework

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

为什么在 AWS Direct Connect + VPN 设置中必须使用公共 VIF?

我不确定为什么必须在AWS Direct Connect + VPN设置中使用公共 VIF 。通常,如果您要连接到虚拟专用网关,则应使用私有 VIF,如AWS 托管 VPN中所示。为什么在这种情况下必须使用公共 VIF?

AWS Direct Connect + VPN 示意图:

AWS 直连 + VPN

AWS 托管 VPN 图表:

AWS 托管 VPN

编辑 1:通过观看AWS re:Invent 2018:AWS VPN 解决方案 (NET304)
获得更好的理解。我们需要公共 VIF,因为 AWS Site-to-Site VPN 在虚拟专用网关上创建两个仅对公共 VIF 可见的公共终端节点。该演讲的图表: 基于 DX 的 VPN

amazon-web-services aws-direct-connect aws-vpn

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

RuntimeChunk 的目的是什么?

optimization.runtimeChunk运行时块的目的是什么?它有什么目的?如果我正在构建图书馆,使用它有意义吗?

webpack

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

如何模拟对接收可变对象作为参数的函数的调用?

考虑示例:

def func_b(a):
    print a

def func_a():
    a = [-1]
    for i in xrange(0, 2):
        a[0] = i
        func_b(a)
Run Code Online (Sandbox Code Playgroud)

并尝试测试 func_a 和模拟 func_b 的测试函数:

import mock
from mock import call

def test_a():
    from dataTransform.test import func_a
    with mock.patch('dataTransform.test.func_b', autospec=True) as func_b_mock:
        func_a()
        func_b_mock.assert_has_calls([call(0), call(1)])
Run Code Online (Sandbox Code Playgroud)

func_a 执行后,我尝试测试 func_a 是否对 func_b 进行了正确的调用,但由于在 for 循环中我最终改变了列表,我得到:

AssertionError: Calls not found.
Expected: [call(0), call(1)]
Actual: [call([1]), call([1])]
Run Code Online (Sandbox Code Playgroud)

python mocking

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

简单函数 __get__ 的目的

我想问简单函数的目的是什么__get__以及为什么 if 的行为与描述符类不同__get__

我的调查:

import inspect

def a(x, y):
    return x + y

def wr(f):
    def wrapper(*args, **kwargs):
        print f.__name__, 'called with', args, kwargs
        return f(*args, **kwargs)
    return wrapper

print inspect.getsource(a)
# def a(x, y):
#     return x + y

print inspect.getsource(a.__get__) # we cannot inspect it because it is a method-wrapper
# Traceback (most recent call last):
# ...
#     'function, traceback, frame, or code object'.format(object))
# TypeError: <method-wrapper '__get__' of function object at 0x7fd43591e140> …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

AWS 安全组在 OSI 的哪个层运行?

我读过几篇有关 AWS 安全组的文章:

但无法找到 OSI 层安全组在哪个层运行。也许有人可以帮助我了解他们在哪个 OSI 层运行?

amazon-web-services aws-security-group

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