小编Nar*_*asK的帖子

MongoDB 3.2身份验证失败

我使用以下命令集创建用户.这应该在admindb和我的目标db(c2d)中创建用户:

# mongo 127.0.0.1:27017
MongoDB shell version: 3.2.6-29-g5c19788
connecting to: 127.0.0.1:27017/test
> use admin
switched to db admin
> show collections
system.users
system.version
> db.system.users.find()
> db.createUser({user:"cd2", pwd:"cd2", roles:[{role:"dbOwner", db: "c2d"}]})
Successfully added user: {
    "user" : "cd2",
    "roles" : [
        {
            "role" : "dbOwner",
            "db" : "c2d"
        }
    ]
}
> db.system.users.find()
{ "_id" : "admin.cd2", "user" : "cd2", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "4g6t9kC+godz7k6QQOfD+A==", "storedKey" …
Run Code Online (Sandbox Code Playgroud)

authorization mongodb

23
推荐指数
4
解决办法
5万
查看次数

在Nginx中修改$ request_uri

我在Nginx服务器上运行了多个应用程序:

http://example.com/app1/ctrl/view
http://example.com/app2/ctrl/view
...
Run Code Online (Sandbox Code Playgroud)

我想像这样分配这些应用程序DNS:

http://app1.example.com
http://app2.example.com
...
Run Code Online (Sandbox Code Playgroud)

为此,我尝试了以下服务器块:

server {
        listen 80;
        server_name app1.example.com;

        location / {
            proxy_pass http://example.com/app1/$request_uri;
        }
}
Run Code Online (Sandbox Code Playgroud)

如果用户未登录,我的应用程序将重定向到URI:

app1/ctrl/user/login?_next=/app/ctrl/view
Run Code Online (Sandbox Code Playgroud)

基本上$request_uri成为(注意加倍的app1实例):

app1/app1/ctrl/user/login?_next=/app/ctrl/view
Run Code Online (Sandbox Code Playgroud)

有没有一种方便的方法来修改$request_uri或更好的方法来解决这个问题?

EDIT1

看来我用以下服务器块解决了我的问题:

server {
        listen 80;
        server_name app1.example.com;

        location / {

            set $new_request_uri $request_uri;

            if ($request_uri ~ ^/app1/(.+)$) {
                set $new_request_uri $1;
            }

            proxy_pass http://example.com/app1/$new_request_uri;
        }
}
Run Code Online (Sandbox Code Playgroud)

如果有人知道更好(或正确" Nginx")的方式,请毫不犹豫地发布答案.

EDIT2

根据评论,我也尝试了以下内容:

server {
        listen 80;
        server_name app1.example.com;

        location / {
            proxy_pass http://example.com/app1/;
            proxy_redirect /app1/ …
Run Code Online (Sandbox Code Playgroud)

nginx

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

这里字符串添加换行符

似乎here string是在添加换行符.有没有方便的删除方法?

$ string='test'
$ echo -n $string | md5sum
098f6bcd4621d373cade4e832627b4f6  -
$ echo $string | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249  -
$ md5sum <<<"$string"
d8e8fca2dc0f896fd7cb4cb0031ba249  -
Run Code Online (Sandbox Code Playgroud)

bash herestring

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

Python str.translate VS str.replace

为什么在Python replace中比translate?快1.5倍?

In [188]: s = '1 a  2'

In [189]: s.replace(' ','')
Out[189]: '1a2'

In [190]: s.translate(None,' ')
Out[190]: '1a2'

In [191]: %timeit s.replace(' ','')
1000000 loops, best of 3: 399 ns per loop

In [192]: %timeit s.translate(None,' ')
1000000 loops, best of 3: 614 ns per loop
Run Code Online (Sandbox Code Playgroud)

python

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

是否可以设置更高的轴标签 z 索引?

在以下代码中,轴的标签隐藏在图形线后面:

import numpy as np
import matplotlib.pyplot as plt

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C,S = np.cos(X), np.sin(X)

plt.plot(X,C)
plt.plot(X,S)

plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
           [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])

plt.yticks([-1, 0, +1],
           [r'$-1$', r'$0$', r'$+1$'])

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(14)
    label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.75 ))

plt.show()
Run Code Online (Sandbox Code Playgroud)

余弦/正弦

你可以看到,例如-pi很难看到。有没有办法将轴标签放在前面?

python matplotlib

7
推荐指数
2
解决办法
4353
查看次数

FFmpeg 添加了自己的元数据 - 编码器:Lavf58.20.100

我尝试对文件应用以下建议flac

for x in *.flac; do
  ffmpeg -i "$x" -map 0:a -codec:a copy -map_metadata -1 clean_"$x";
done
Run Code Online (Sandbox Code Playgroud)

但看起来,ffmpeg虽然去掉了大部分metadata,但也添加了自己的指纹

为什么要加上这个标签呢?摆脱它的最好方法是什么?

VLC 显示编码器元数据标签

ffmpeg

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

Vuetify 卡片和工作表有什么区别?

Vuetify文档定义sheet如下:

v-sheet设计为内动力Vuetify等纸组件。它旨在用作低级组件。

card根据文档是这样的:

v-card组件是一个多功能组件,可用于从面板到静态图像的任何内容。

对我(不是JS人)来说,他们看起来非常相似。它们可以互换吗?什么时候使用一个而不是另一个?你能举例说明吗?

javascript vue.js vue-component vuetify.js

6
推荐指数
3
解决办法
2694
查看次数

Heredoc不保留空行

在这里,我试图声明一个具有多行值的变量bash

$ GET="$(cat <<EOF
> GET / HTTP/1.1
> Host: 127.0.0.1:80
> 
> EOF
> )"
Run Code Online (Sandbox Code Playgroud)

这肯定有效,但是文档末尾的空白行丢失了:

$ echo "$GET"
GET / HTTP/1.1
Host: 127.0.0.1:80
$ cat <<< "$GET"
GET / HTTP/1.1
Host: 127.0.0.1:80
Run Code Online (Sandbox Code Playgroud)

bash

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

如何通过 Systemd DBus API 提取服务状态?

我正在尝试使用D-Bus APIopenvpn.service提取状态。Systemd

In [1]: import dbus

In [2]: sysbus = dbus.SystemBus()

In [3]: systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')

In [4]: manager = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Manager')

In [5]: service = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Service')

In [6]: unit = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Unit')

In [7]: unit.ActiveState('openvpn.service')
---------------------------------------------------------------------------
DBusException                             Traceback (most recent call last)
<ipython-input-7-22857e7dcbd7> in <module>()
----> 1 unit.ActiveState('openvpn.service')

/usr/local/lib/python3.4/dist-packages/dbus/proxies.py in __call__(self, *args, **keywords)
     68             # we're being synchronous, so block
     69             self._block()
---> 70             return self._proxy_method(*args, **keywords)
     71 
     72     def call_async(self, *args, **keywords): …
Run Code Online (Sandbox Code Playgroud)

dbus systemd python-3.4

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

如何从 wagtail 块模板中的 struct_block.StructValue 中获取数据库 id?

为 wagtailStreamField块构建自定义模板我发现自己需要以某种方式将当前块的 ID 传递给其他视图。

例如,当 URL 在特定块中被点击时,着陆页view必须确切知道 URL 是在哪个块中被点击的。然后view可以提取与特定块相关联但不一定在视觉上呈现给用户的其他信息。

我目前的策略是使用snippets,因此我可以传递 的 IDsnippet并且view可以获取相关但预先隐藏的数据。

这效果还不错,但人们必须在两个地方编辑内容,我不得不看着他们悲伤的脸。

似乎value块模板上下文中的变量是 的一个实例wagtail.core.blocks.struct_block.StructValue,它使我可以访问块的所有字段,但它似乎没有显示它在数据库中的足迹。

进一步value有一个有趣的属性:value.block,它似乎是用于构造块的实际模型的实例,但我再次找不到任何有用的东西,例如idpk允许在数据库中识别该实例。

有办法吗?

django python-3.x wagtail wagtail-streamfield wagtail-snippet

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