小编irm*_*eza的帖子

现在如何检查辅助是否同步

有三个成员(主要,次要,次要)的副本.假设其中一个辅助人员倒了一天,在返回辅助设备后我怎么能找到,是否已经同步?

我在测试环境中做到了这一点,但无法从rs.status()和找到有用的数据db.printReplicationInfo().

在"日志长度开始结束"中db.printReplicationInfo().但是默认情况下这是很重要的时间,并且在次要故障时会增长.

mongodb replicaset

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

如何为副本集启动身份验证 - MongoDB

没有身份验证的副本集.我想第一次创建它的身份验证.

我做如下:

1- create [administrator user][1]
2- restarting all member with option `auth=true`
3- login as aadministrator to one member of replica set
4- trying to create user "db.addUser(...)"
Run Code Online (Sandbox Code Playgroud)

但是当我想创建用户时,它会抛出异常 couldn't add user: not master at src/mongo/shell/db.js:128

我该怎么办?是否可以在现有副本集中启动安全性或者我应该在设置身份验证后删除副本集并重建它.

mongodb

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

在python和android中使用AES算法加密和解密

我有用于AES加密的python和android代码.当我加密android中的文本时,它在python上成功解密,但它无法在android端解密.有人有想法吗?

Python代码:

import base64
import hashlib
from Crypto import Random
from Crypto.Cipher import AES


class AESCipher:

    def __init__(self, key):
        self.bs = 16
        self.key = hashlib.sha256(key.encode()).digest()

    def encrypt(self, message):
        message = self._pad(message)
        iv = Random.new().read(AES.block_size)
        cipher = AES.new(self.key, AES.MODE_CBC, iv)
        return base64.b64encode(iv + cipher.encrypt(message)).decode('utf-8')

    def decrypt(self, enc):
        enc = base64.b64decode(enc)
        iv = enc[:AES.block_size]
        cipher = AES.new(self.key, AES.MODE_CBC, iv)
        return self._unpad(cipher.decrypt(enc[AES.block_size:])).decode('utf-8')

    def _pad(self, s):
        return s + (self.bs - len(s) % self.bs) * chr(self.bs - len(s) % self.bs)

    @staticmethod
    def _unpad(s):
        return …
Run Code Online (Sandbox Code Playgroud)

python encryption encoding android aes

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

如何从c#驱动程序运行mongo命令"rs.status"

我有一个副本集,我想让rs.status()来分析它.我如何运行rs.status()来自C#驱动程序的命令?

c# mongodb mongodb-.net-driver

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

如何通过 psutil 获取磁盘 IO 和网络使用百分比

有没有办法通过 psutil 获取磁盘 IO 和网络使用百分比。

我发现了一些有用的功能。但我不知道如何使用百分比获得

psutil.disk_io_counters()

psutil.net_io_counters()
Run Code Online (Sandbox Code Playgroud)

python psutil

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

正则表达式在Javascript中获取两个字符串之间的数字

以下是示例:

  • 示例 1: string1<span id="header">5655811</span>string2
  • 例子2: string3<span id="header">51481</span>string4
  • 示例 3: string5<span id="header">854211</span>string6

如何获取JavaScript 正则表达式之间<span id="header">和之间的数字</span>

javascript regex html-parsing

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

缓存复杂数据的最佳方法

我有一个表,用于根据号码的前缀存储语音呼叫的费用:

Prefix  ratio 
44      0.01597
447     0.04958
447530  0.03
447531  0.048
447532  0.04950
1       0.1
97      0.1
Run Code Online (Sandbox Code Playgroud)

在表中查找数字的前缀有点复杂,因为需要最大匹配前缀.例如,
前缀4475122112是447
,前缀4475302112是447530

我想将表缓存在内存中,以通过减少数据库交互来提高性能.获取数字前缀(然后是它的速率)需要在缓存上进行搜索

我发现了两种方法:

  1. 将它们存储在纯地图中.在地图上搜索可以很简单,因为扫描所有地图(可能是懒惰的).
  2. 将链表结构创建为树.而短前缀接近根,最长前缀接近叶子.

现在,缓存此类数据的最佳方法是什么?还是有其他机制吗?

dictionary go

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

Access-Control-Allow-Origin未检查chrome扩展名

如您所知,当将$ .ajax(..)请求发送到另一个域(跨域)时,大多数浏览器会抛出异常,例如:

 XMLHttpRequest cannot load http://mysite.com/test.php. Origin
 http://127.0.0.1:8888 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

我正在创建chrome扩展,它应该向我的网站发送请求.首先,我也希望看到上述信息.但是当我看到它工作正常时我很困惑.

首先,它似乎很好,它正在工作,我有我想要的东西.但它可能很糟糕.每个人都可以使用这种方式(只有一个简单的脚本)来攻击我的网站并获取其数据.

当然,抓取也可能以其他方式发生.我是api编程和chrome扩展的新手.有人可以指路吗?

的manifest.json

{
  "manifest_version": 2,
  "name": "MyTestExtension",
  "description": "this extension is for test",
  "version": "1.0",
  "icons": {
    "128": "icon.png"
  },
  "browser_action": {
    "default_icon": "icon.png" 
  },
  "permissions": [
    "tabs" ,
    "*://*/*"
  ],
  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["jquery-1.7.2.min.js","content_script.js"],
      "run_at": "document_end"
    }
  ]  
}
Run Code Online (Sandbox Code Playgroud)

content_script.js

$(document).ready(function(){
    $('html').mouseup(function() {
        var selectedText = getSelectedText();
        if(selectedText > ''){
            my_syncTest(selectedText)      // here : selected test send to my site
        } …
Run Code Online (Sandbox Code Playgroud)

javascript security jquery google-chrome-extension

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

选择减法结果。MongoDB

假设有如下集合:

db.test.insert([{"f1":100,"f2":150},{"f1":120,"f2":541},{"f1":125,"f2":140}])
Run Code Online (Sandbox Code Playgroud)

如何创建类似的查询 mongodb

Select count(*) from test where  (f2-f1)<100 
Run Code Online (Sandbox Code Playgroud)

我做了一些尝试,但没有奏效:

db.test.aggregate([{ $match: {} }, { $project: { _id : 0,name : 1, r1: {$subtract:["$f2", "$f1"]} }}])
Run Code Online (Sandbox Code Playgroud)

mongodb

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

如何在编组中省略struct的条件字段

MyStruct的结构.

type MyStruct struct {
    Code        int   `json:"Code"`
    Flags       uint8 `json:"Flags"`
    OptionField int   `json:",omitempty"`
}
Run Code Online (Sandbox Code Playgroud)

以下代码将其转换为json.

f := MyStruct{Code:500, OptionField:41}
r, _ := json.Marshal(f)
fmt.Println(string(r)
Run Code Online (Sandbox Code Playgroud)

我需要"OptionField"是可选的.有些时候它应该存在于json中,其中一个值为[0,1,2,3,].而在另一个时间它应该从json中排除.

我的问题是:omitempty将在值为零时将其排除,并且int的默认值为零.是否有任何方法可以在条件中省略字段(例如:如果值为-1则省略).或者有任何方法可以做到这一点.

go

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