是吗:
GET api/stuff?ids[]=123&ids[]=456&ids[]=789&ids[]=101112&etc...
Run Code Online (Sandbox Code Playgroud)
是吗:
POST api/stuff/batch
body: ids: [123, 456, 789, 101112, etc]
Run Code Online (Sandbox Code Playgroud)
?
第一个在语义上似乎是正确的,但除了有一个令人难以置信的粗俗 url,还有消息来源说 get 的长度可能有限制,那么如果我有无数个 id 怎么办?
第二个似乎更好,因为没有粗略的 url,但我对休息的理解是 POST 应该进行更改,而不是幂等的。
那么这纯粹是一个语义问题,没有真正的“正确”方式吗?
在文档中CountDownLatch我看到类似的东西:
public void run() {
try {
startSignal.await();
doWork();
doneSignal.countDown();
} catch (InterruptedException ex) {} // return;
}
这里startSignal和doneSignal是CountDownLatch对象.
文档没有提到关于类是否是线程安全的.
我想我并不完全了解部署过程.这就是我所知道的:
imp.reload 是一个坏主意,我们应该重新启动应用程序,而不是重新加载已更改的模块现在,假设我有wsgi一个在反向代理后运行的应用程序的多个实例nginx(如8011,8012等端口).而且,我们还假设我5每秒都会收到请求.
现在在这种情况下,我应该如何在应用程序的所有正在运行的实例中更新我的代码.
有人可以彻底解释这样繁忙的应用程序是如何热部署的吗?
假设您正在实施会话.
您检查浏览器是否显示会话cookie.如果是,则验证cookie并找到与会话关联的用户,然后继续处理请求.
如果您没有找到会话cookie,则创建一个新会话并将cookie发送到您希望在后续请求中收到的浏览器.
现在我的问题是:如果您确实在请求中找到了会话cookie,您是否会在响应中重新发送相同的cookie.在什么情况下这是对的?
注意:我认为这是一个Pyramid(Python)程序员,因为Pyramid实现在每个响应上无条件地发送会话cookie.(转到代码)
我一直在为一个域管理 Let's Encrypt 的 SSL 证书。
现在我正在转向 Amazon API 网关。我将使用 AWS Certificate Manager 为根域和一堆子域生成 HTTPS 证书。
如果我进行了转移,与我的域关联的当前 HTTPS 证书会发生什么变化。如果浏览器突然开始看到一个域的新 HTTPS 证书,而到目前为止他们一直在为该域获得不同的 HTTPS 证书,这会是一个问题吗?
另外,一旦我进行了转变,我该如何处理我当前(手动管理的)Let's Encrypt 证书?有没有办法永久取消它?
在C(和C语言族)中,表达式(4+7, 5+2)返回7.但Python中的相同表达式会导致元组(11, 7)
那么python有一个像C这样的逗号运算符吗?
我有一个contentEditablediv,我需要允许用户编辑HTML。
我需要清理用户在该div中编写的HTML吗?
我的意思是,当我从该div检索HTML时,它已经被清除了。例如,如果我<>在div内写了类似的东西,然后将其取回,我会得到<>。
在这里测试:http : //jsfiddle.net/mByWT/
我的另一个问题是:此行为是否是标准行为,我是否可以在所有浏览器中依赖它?
编辑
我现在可以得出结论,这是一种通用模式:
element.innerHTML返回转义的HTML-转义<,>amd &但不加引号element.innerText并element.textContent返回原义HTML而不转义看到这个:http : //jsfiddle.net/2CmjG/
在其他可以代表64位整数的语言中,可以很容易地做到这一点......
// convert 64-bit n to two 32-bit x and y
x = (n & 0xFFFFFFFF00000000) >> 32
y = n & 0xFFFFFFFF
Run Code Online (Sandbox Code Playgroud)
但JavaScript不能代表64位整数.它只能代表52位整数而不会出现问题.
现在这意味着无法将64位整数转换为两个32位整数,因为它甚至不可能首先具有64位整数.
但是,我们还有52位.我的问题是:如何在JavaScript中将这个52位整数分成两个32位整数(20个高位和32个低位)
有人建议像上面的位操作代码在JavaScript中进行20位和32位拆分吗?
让我们从一些代码开始:
def func(*x):
print('func:', x)
class ABC:
def __init__(self, f):
self.f1 = f
def f2(*x):
print('f2:', x)
Run Code Online (Sandbox Code Playgroud)
现在我们做一些测试:
>>> a = ABC(func)
>>> a.f1(10)
func: (10,)
>>> a.f2(10)
f2: (<__main__.ABC object at 0xb75381cc>, 10)
>>> a.f3 = func
>>> a.f3(10)
func: (10,)
>>> a.f1
<function func at 0xb74911ec>
>>> a.f2
<bound method ABC.f2 of <__main__.ABC object at 0xb75381cc>>
>>> a.f3
<function func at 0xb74911ec>
Run Code Online (Sandbox Code Playgroud)
请注意,这func是一个正常的函数,我们正在使它成为f1类的一个方法.
我们可以看到,f2是获得类实例作为第一个参数,但f1并f3没有,即使所有功能都被称为类方法.我们还可以看到,如果我们将普通函数称为类的方法,Python就不会从中创建绑定方法.
那么,即使我们将它作为一个类的方法调用它,为什么f1还是f3 …
我有一个简单的根资源工厂:
class Root:
__acl__ = [
(Allow, Authenticated, 'edit')
]
Run Code Online (Sandbox Code Playgroud)
现在对于一些"特殊"路线,我需要创建另一个资源工厂
config.add_route('special', '/special/test', factory=SpecialFactory)
class SpecialFactory:
__acl__ = [
(Allow, Authenticated, 'special_edit')
]
Run Code Online (Sandbox Code Playgroud)
现在,我想做Root父母SpecialFactory- 我该怎么做?
这是正确的方式......
class SpecialFactory:
def __init__(self, request):
self.request = request
self.__parent__ = Root(request)
self.__name__ = 'special'
__acl__ = [
(Allow, Authenticated, 'special_edit')
]
Run Code Online (Sandbox Code Playgroud)
我也完全不了解它的目的__name__和应该设置的目的.
此外,什么时候金字塔会遍历__parent__链条而不是?对于这样的视图配置:
@view_config(route_name='special', permission='special_edit')
def something(req):
pass
Run Code Online (Sandbox Code Playgroud)
金字塔会'收集'两个权限(special_edit和edit)还是只有一个(special_edit)?
请详细说明计算权限的"流程".
python ×5
pyramid ×2
api-design ×1
deployment ×1
html ×1
http ×1
https ×1
java ×1
javascript ×1
lets-encrypt ×1
rest ×1
session ×1