小编Fli*_*imm的帖子

如何在Perl调试器中查看表达式的更改?

使用Perl调试器,我知道我可以使用该b命令在某些代码行设置断点.一旦变量的内容发生变化,我可以让调试器停止吗?

debugging perl watch

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

refaddr返回的值是永久的吗?

根据Scalar :: Util的文档,refaddr工作方式如下:

my $addr = refaddr( $ref );
Run Code Online (Sandbox Code Playgroud)

如果引用$ ref,则引用值的内部存储器地址将作为普通整数返回.否则返回undef.

但是,这并不能告诉我是否$addr是永久性的.可以在refaddr一段时间内参考的变化?例如,在C中,运行realloc可以改变存储在动态存储器中的东西的位置.这与Perl 5类似吗?

我问,因为我想制作一个由内而外的对象,我想知道是否refaddr($object)能成为一把好钥匙.例如,在XS中编程时似乎最简单.

perl perlguts

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

如何放大Xcode的Assistant Editor"预览"?

为了可视化故事板,我可以打开助理编辑器,选择"预览",然后选择故事板.要说清楚,我不是在谈论故事板部分,我在谈论Xcode助理编辑器中的预览部分.

我怎样才能放大和缩小?我正在寻找菜单项,键盘快捷键和鼠标快捷键(带或不带触控板).

xcode

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

AttributeError:dlsym(0x7fe512579830,EVP_CIPHER_CTX_reset):找不到符号

我正在尝试使用此包pywebpush,但我收到此错误:

AttributeError: dlsym(0x7fe512579830, EVP_CIPHER_CTX_reset): symbol not found
Run Code Online (Sandbox Code Playgroud)

这是整个追溯:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/pywebpush/__init__.py", line 15, in <module>
    import http_ece
  File "/usr/local/lib/python2.7/site-packages/http_ece/__init__.py", line 12, in <module>
    from pyelliptic import ecc
  File "/usr/local/lib/python2.7/site-packages/pyelliptic/__init__.py", line 43, in <module>
    from .openssl import OpenSSL
  File "/usr/local/lib/python2.7/site-packages/pyelliptic/openssl.py", line 310, in <module>
    OpenSSL = _OpenSSL(libname)
  File "/usr/local/lib/python2.7/site-packages/pyelliptic/openssl.py", line 144, in __init__
    self.EVP_CIPHER_CTX_reset = self._lib.EVP_CIPHER_CTX_reset
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
    func = self.__getitem__(name)
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 380, …
Run Code Online (Sandbox Code Playgroud)

python macos python-2.7

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

VAPID公钥是否与applicationServerKey客户端相同?

在客户端,订阅网页推送通知,您需要致电subscribeapplicationServerKey选项,如下所示:

var serviceWorkerRegistration = ...
serviceWorkerRegistration.pushManager.subscribe({
  userVisibleOnly: true,
  applicationServerKey: urlB64ToUint8Array("......")
}).then(function(subscription) {
   ...
})
Run Code Online (Sandbox Code Playgroud)

您可以将subscription对象发送到可以保存对象的服务器。

要向订阅者发送推送消息,服务器需要发布到endpoint对象中的键所指示的URL subscription。服务器需要使用VAPID向提供商(Mozilla或Google或任何人)标识自己。例如,使用Python库pywebpush,将进行以下调用:

import pywebpush
pywebpush.webpush(
    subscription,
    data,
    vapid_private_key="path_to_private_key.pem",
    vapid_claims={"sub": "mailto:example@example.com"},
)
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

用于发送推送消息的私有VAPID密钥是否与serviceWorkerRegistration.pushManager.subscribe在客户端传递的公共密钥相对应?还是它属于单独的密钥对?我的直觉告诉我它应该属于同一个密钥对,但是术语VAPID仅在谈论发送推送消息时才提到,而在订阅时却没有提到,因此我不确定该假设是正确的。

service-worker web-push vapid

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

为什么在分配对象文字后不插入分号?

拿这个Javascript代码:

foobar = {}
["one", "two"].forEach(item => {
  console.log(item)
})
Run Code Online (Sandbox Code Playgroud)

如果您在浏览器或Node中运行此代码,则会收到以下错误:

hi.js:2
["one", "two"].forEach(item => {
               ^

TypeError: Cannot read property 'forEach' of undefined
Run Code Online (Sandbox Code Playgroud)

不过,如果你在第一行的末尾手动添加一个分号foobar = {};,您不再收到此错误,而不是你的预期输出onetwo.

我知道Javascript有自动分号插入,我知道很多人建议总是使用分号以避免这样的问题.我的问题是关于这种情况:为什么在第一行末尾没有自动插入分号?对象文字,后跟数组文字,是无效的Javascript语法,是吗?让我看看:

foobar = {} ["one", "two"];
console.log(foobar);
Run Code Online (Sandbox Code Playgroud)

这实际上打印undefined没有抛出错误!我没想到的是!

所以我想我真正的问题是:为什么是一个对象文字,后跟一个数组文字,在一个赋值中,被认为是一个语法正确的Javascript行,它在做什么?

javascript syntax

3
推荐指数
2
解决办法
80
查看次数

有没有办法在 f 字符串中包含注释?

mo 在 f 字符串中包含注释会很有用。例如,拿这个代码:

f"""
<a
   href="{ escape(url) }"
   target="_blank" { # users expect link to open in new tab }
>bla</a>
"""
Run Code Online (Sandbox Code Playgroud)

如果此代码等效于:

f"""
<a
   href="{ escape(url) }"
   target="_blank" 
>bla</a>
"""
Run Code Online (Sandbox Code Playgroud)

您可以在大括号之间包含完整的 Python 表达式,但似乎不能包含注释。我对么?有没有办法做到这一点?

python f-string

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

使用 CSS 对阿拉伯语文本进行轮廓效果

我想为阿拉伯语文本添加轮廓。一种可能的解决方案是使用text-stroke

\n

\r\n
\r\n
body {\n  background-color: pink;\n  }\nh1 {\n  color: white;\n  text-align: center;\n  -webkit-text-stroke: 1px black;\n  text-stroke: 1px black;\n}
Run Code Online (Sandbox Code Playgroud)\r\n
<h1>Experiment</h1>\n<h1>\xd8\xaa\xd8\xac\xd8\xb1\xd8\xa8\xd8\xa9</h1>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

这就是它为我呈现的方式:

\n

在此输入图像描述

\n

正如您所看到的,这在英语中效果很好,但在阿拉伯语中则不然。在阿拉伯语中,字母经常相互连接,并且连接的字母之间不应出现轮廓。引用W3的话:

\n
\n

添加文本边框时,仅向每个字母形状添加边框无法为阿拉伯文字产生正确的结果。不应通过添加边框将连接的字母与其连接的相邻字母分开。与透明度一样,避免这种情况的方法是将所有连接的字母的字形路径统一为一个大路径,并在该路径周围添加边框。

\n
\n

在此输入图像描述

\n

如何在 CSS 中实现正确的文本边框?

\n

css arabic

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

来自文档的Python SSL示例给出“对等重置连接”错误

我正在尝试运行以下ssl模块文档中提供的示例代码:http : //docs.python.org/2/library/ssl.html#client-side-operation

服务器端代码与文档中给出的示例相似,并且抛出此异常:

Traceback (most recent call last):
  File "serve.py", line 16, in <module>
    ssl_version=ssl.PROTOCOL_TLSv1)
  File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 143, in __init__
    self.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
    self._sslobj.do_handshake()
socket.error: [Errno 104] Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

客户端代码(也类似于文档中的示例)抛出此异常:

Traceback (most recent call last):
  File "client.py", line 8, in <module>
    ssl_sock.connect((host, port))
  File "/usr/lib/python2.7/ssl.py", line 331, in connect
    self._real_connect(addr, False)
  File "/usr/lib/python2.7/ssl.py", line 324, in _real_connect
    raise e
socket.error: [Errno 104] …
Run Code Online (Sandbox Code Playgroud)

python ssl

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

$ foo ["bar"] = 1; 如果$ foo不存在,我可以请PHP抱怨吗?

拿这行PHP:

$foo["bar"] = 1;
Run Code Online (Sandbox Code Playgroud)

如果$foo不存在,我希望PHP抛出异常.现在,它不会抛出异常,甚至打印错误或警告,即使display_errors设置为1并error_reporting调用E_ALL.相反,它创建一个数组$foo并设置$foo["bar"]1,即使该变量$foo事先不存在.

是否有类似的东西declare(strict_types=1);可以检查这个?

我想要这个的原因是,当我不小心拼错一个变量名时,我可以更容易地检测拼写错误.

php

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