小编Chu*_* Lu的帖子

MongoDB docker 副本集连接错误“找不到主机”

我按照这个 SO 答案创建了一个本地 MongoDB 副本集。

docker-compose 文件:

services:
  mongo1:
    container_name: mongo1
    image: mongo:4.2
    ports:
      - 27017:27017
    restart: always
    command: ["--bind_ip_all", "--replSet", "rs" ]
  mongo2:
    container_name: mongo2
    image: mongo:4.2
    ports:
      - 27018:27017
    restart: always
    command: ["--bind_ip_all", "--replSet", "rs" ]
  mongo3:
    container_name: mongo3
    image: mongo:4.2
    ports:
      - 27019:27017
    restart: always
    command: ["--bind_ip_all", "--replSet", "rs" ]
  replica_set:
    image: mongo:4.2
    container_name: replica_set
    depends_on:
      - mongo1
      - mongo2
      - mongo3
    volume:
      - ./initiate_replica_set.sh:/initiate_replica_set.sh
    entrypoint: 
      - /initiate_replica_set.sh
Run Code Online (Sandbox Code Playgroud)

initiate_replica_set.sh 文件:

#!/bin/bash

echo "Starting replica set initialize" …
Run Code Online (Sandbox Code Playgroud)

mongodb docker replicaset docker-compose

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

send和instance_eval之间的Ruby差异?

我知道send接受带有参数的字符串或符号,而instance_eval接受字符串或块,并且给定接收器它们的区别可能很明显.

我的问题是下面的例子中"引擎盖下 "的区别是什么?

1234.send 'to_s'               # '1234'
1234.instance_eval 'to_s'      # '1234'
Run Code Online (Sandbox Code Playgroud)

ruby send instance-eval

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

python:如何通过正则表达式找到连续的字母对?

我想找到使用正则表达式连续字母对的单词.我知道只有一对连续的动物园(oo),拼图(zz),安排(rr),它可以实现'(\w){2}'.但是怎么样

  • 连续两对: 委员会(ttee)
  • 连续三对: 簿记员(ookkee)

编辑:

  • '(\w){2}' 实际上是错的,它找到任何两个字母而不是双字母对.
  • 我的目的是找到有字母对的单词,而不是对.
  • "连续",我的意思是字母对之间没有其他字母.

python regex

6
推荐指数
2
解决办法
9624
查看次数

使用随机的Python中的fizzbuzz,它是如何工作的?

我很难弄清楚下面的代码是如何工作的:

import random

for i in range(0, 100):
    if not i % 15:
        random.seed(1178741599)
    print [i+1, "Fizz", "Buzz", "FizzBuzz"][random.randint(0,3)]
Run Code Online (Sandbox Code Playgroud)

我明白,当i被整除时15,random将使用相同的seed,因此randint(0, 3)将始终返回相同的索引,但当我尝试

for i in range(100):
    random.seed(1178741599)
    print random.randint(0,3) #always print 0
Run Code Online (Sandbox Code Playgroud)

上面的代码总是打印0,不应该是3(作为"FizzBuzz"列表中的索引[i+1, "Fizz", "Buzz", "FizzBuzz"](这是正确的行为,并i+1在列表中对应).

又是怎么回事的时候i是整除35

种子的魔力是1178741599什么?

编辑:正如jonrsharpe所指出的,fizzbuzz代码仅适用于python 2.x.

python fizzbuzz random-seed

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