小编fga*_*lan的帖子

在ShardingTest中设置小文件

我知道有一个ShardingTest()对象可用于创建测试分片环境(参见https://serverfault.com/questions/590576/installing-multiple-mongodb-versions-on-the-same-server),例如:

mongo --nodb
cluster = new ShardingTest({shards : 3, rs : false})
Run Code Online (Sandbox Code Playgroud)

但是,鉴于我的测试机器中的磁盘空间有限,并且在使用上述命令时我得到"日志文件的可用空间不足"错误,我想设置smallfiles选项.我试过以下没有运气:

cluster = new ShardingTest({shards : 3, rs : false, smallfiles: true})
Run Code Online (Sandbox Code Playgroud)

请问如何为小型测试启用小文件?谢谢!

sharding mongodb

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

MongoDB 中聚合命令的默认批量大小

来自aggregate命令文档`

要指示具有默认批量大小的游标,请指定游标:{}。

但是,我还没有找到这种默认值或如何找到它(也许使用 mongo admin 命令)。

如何找到这样的价值?

mongodb aggregation-framework

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

如何配置系统以使用FIWARE yum存储库?

我知道FI-WARE在http://repositories.testbed.fiware.org/上提供了一个公共yum存储库,可用于安装FI-WARE软件包,如Orion contexto Broker.

但是,如何配置我的系统以使用该存储库?例如,我需要在/etc/yum.repos.d/目录中添加哪个.conf文件才能使其正常工作.

谢谢!

yum fiware filab

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

write() (不带回调)是否保留 Node.js 写入流中的顺序?

我有一个 node.js 程序,在其中使用流将信息写入 SFTP 服务器。像这样(简化版):

var conn = new SSHClient();
process.nextTick(function (){      
   conn.on('ready', function () {
      conn.sftp(function (error, sftp) {
         var writeStream = sftp.createWriteStream(filename);
         ...
         writeStream.write(line1);
         writeStream.write(line2);
         writeStream.write(line3);
         ...
      });
    }).connect(...);
});
Run Code Online (Sandbox Code Playgroud)

注意我没有使用(可选)回调参数(在write() API 规范中描述),并且我不确定这是否会导致不良行为(即未按以下顺序写入的行:line1、line2、line3) 。换句话说,我不知道是否应该使用这种替代方案(更复杂的代码并且不确定是否效率较低):

writeStream.write(line1, ..., function() {
   writeStream.write(line2, ..., function() {
      writeStream.write(line3);
   });
});
Run Code Online (Sandbox Code Playgroud)

(或使用async series() 的等效替代方案)

根据我的测试经验,我总是按照所需的顺序写入文件(我的意思是,首先是第 1 行,然后是第 2 行,最后是第 3 行)。但是,我现在不知道这是否只是偶然发生,或者上面是使用 write() 的正确方法。

我知道流中的写入通常是异步的(所有 I/O 工作都应该是异步的),但我想知道 Node.js 中的流是否保留内部缓冲区或类似的东西来保持数据有序,因此每个 write() 调用都不会返回直到数据被放入该缓冲区。

在实际程序中使用 write() 的示例非常受欢迎。谢谢!

node.js node-streams

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

rapidjson pretty print使用JSON字符串作为编写器的输入

rapidjson文档之后,我能够以逐个键的方式生成漂亮的JSON输出写入,例如:

rapidjson::StringBuffer s;
rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(s);    

writer.StartObject();
writer.Key("hello");
writer.String("world");
writer.EndObject();

std::string result = s.GetString();
Run Code Online (Sandbox Code Playgroud)

但是,我想做同样的事情,但使用JSON字符串(即std::string内容是有效JSON 的对象)来提供编写器,而不是调用Key(),String()等等.

期待PrettyWriterAPI我没有看到以这种方式传递JSON字符串的任何方法.另一种方法是将解析后的JSON字符串作为rapidjson::Document对象传递,但我没有发现这种可能性.

关于如何做到这一点的任何想法,好吗?

c++ json rapidjson

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

为什么现代的curl版本会截断URL的#anchor部分?

我观察到不同卷曲版本之间的奇怪行为。

如果我使用带有7.19.7的curl的CentOS 6 curl 'localhost:9999/foo#bar'(在9999上侦听),我得到:

GET /foo#bar HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: localhost:9999
Accept: */*
Run Code Online (Sandbox Code Playgroud)

但是如果我在带有curl 7.38.0的现代系统(Debian 8)上进行相同的卷曲,则会得到:

GET /foo HTTP/1.1
User-Agent: curl/7.38.0
Host: localhost:9999
Accept: */*
Run Code Online (Sandbox Code Playgroud)

请注意,URL不同:(7.19.7)/foo#bar/foo(7.38.0)

我了解正确的行为是删除了该#anchor部件,因为这是curl工具的较新版本。但是,我不知道发生此更改的原因...请问有关此原因的任何提示或对此的引用(例如RFC)?

我试图在curl更新日志中找到信息,但是它太冗长,而且我还没有找到它背后的更改和/或原理。

url curl http libcurl

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

MongoDB TTL过期检查的更改周期

关于基于 TTL 索引的文档过期,MongoDB 文档说:

删除过期文档的后台任务每 60 秒运行一次。因此,在文档过期和后台任务运行之间的时间段内,文档可能会保留在集合中。

有没有办法通过配置更改该周期?或者它是硬连线在 mongod 代码中的?

mongodb

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

MongoDB 中 db.currentOp() 输出中的奇怪操作

启动我的 MongoDB 服务器(独立实例,版本 4.2.2)后,如果我运行,db.currentOp()我会看到以下操作:

    {
        "type" : "op",
        "host" : "menzo:27017",
        "desc" : "waitForMajority",
        "active" : true,
        "currentOpTime" : "2020-05-06T16:16:33.077+0200",
        "opid" : 2,
        "op" : "none",
        "ns" : "",
        "command" : {

        },
        "numYields" : 0,
        "waitingForLatch" : {
            "timestamp" : ISODate("2020-05-06T14:02:55.895Z"),
            "captureName" : "WaitForMaorityService::_mutex"
        },
        "locks" : {

        },
        "waitingForLock" : false,
        "lockStats" : {

        },
        "waitingForFlowControl" : false,
        "flowControlStats" : {

        }
    }
Run Code Online (Sandbox Code Playgroud)

似乎这个操作一直都在,无论过去多久。另外,它在某些方面也是一个奇怪的操作:

  • 它的数量非常多opid(2)
  • op"none"
  • 它没有通常secs_runningmicrosecs_running参数 …

mongodb

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

如何链接到github降价中名称中带有`/`的部分

我在 github 中的 Markdown 代码(.md 文件)中有以下部分:

## src/app/contextBroker/
Run Code Online (Sandbox Code Playgroud)

我想在同一个 .md 文件中的一个点包含一个指向它的链接。然而,这似乎/有点问题。我试过了:

[src/app/contextBroker/ (Main program)](#src-app-contextBroker-)
Run Code Online (Sandbox Code Playgroud)

[src/app/contextBroker/ (Main program)](#src/app/contextBroker/)
Run Code Online (Sandbox Code Playgroud)

和小写相同:

[src/app/contextBroker/ (Main program)](#src-app-contextbroker-)
[src/app/contextBroker/ (Main program)](#src/app/contextbroker/)
Run Code Online (Sandbox Code Playgroud)

但没有人工作过。

关于在这种情况下使用正确的语法有什么想法吗?

markdown github-flavored-markdown

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

使用 Maven 运行多个类

我有一个包含多个类的包(每个类都封装一个可执行程序,即使用 main() 方法),即:

com.myorg.examples.classA
com.myorg.examples.classB
etc.
Run Code Online (Sandbox Code Playgroud)

所有的类都属于同一个包 ( com.myorg.examples)。

我知道我可以使用Maven运行一个这样的类,例如:

mvn exec:java -D"exec.mainClass"="com.myorg.examples.classA"
Run Code Online (Sandbox Code Playgroud)

我也知道我可以配置 exec-maven-plugin 以便使用较短的命令执行相同的操作,例如:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.2.1</version>
  <executions>
    <execution>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>com.myorg.examples.classA</mainClass>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

然后使用:

mvn exec:java
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有可能:

  1. 使用 exec-maven-plugin(或另一个)来配置多个执行并执行类似的操作

    mvn exec:classA       # or,
    mvn exec:java classA 
    
    Run Code Online (Sandbox Code Playgroud)

    因此运行 classA,但使用比普通 exec:java 更短的语法。查看 XML 结构,似乎只能设置一个类,所以我不确定如何实现。

  2. 要按顺序执行所有类,例如:

    mvn exec-all
    
    Run Code Online (Sandbox Code Playgroud)

    为了运行classA,下一个classB,等等。

任何有关这些主题的帮助或链接都将受到高度欢迎。谢谢!

编辑:问题的第二部分已被分拆到另一个帖子

java maven exec-maven-plugin

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

使用std :: find没有匹配的函数调用错误

我有以下功能(用于测试):

static bool foo(void)
{
  std::string name = "name";
  std::vector<std::string> test;
  std::vector<std::string>::iterator vStart = test.begin();
  std::vector<std::string>::iterator vEnd = test.end();
  return (std::find(vStart, vEnd, name) == vEnd);
}
Run Code Online (Sandbox Code Playgroud)

我收到编译错误:

/data/src/fiware-orion/src/lib/common/string.cpp: In function 'bool foo()':
/data/src/fiware-orion/src/lib/common/string.cpp:167:39: error: no matching function for call to 'find(std::vector<std::basic_string<char> >::iterator&, std::vector<std::basic_string<char> >::iterator&, std::string&)'
   return (std::find(vStart, vEnd, name) == vEnd);
                                       ^
/data/src/fiware-orion/src/lib/common/string.cpp:167:39: note: candidate is:
In file included from /usr/include/c++/4.9/bits/locale_facets.h:48:0,
                 from /usr/include/c++/4.9/bits/basic_ios.h:37,
                 from /usr/include/c++/4.9/ios:44,
                 from /usr/include/c++/4.9/istream:38,
                 from /usr/include/c++/4.9/sstream:38,
                 from /data/src/fiware-orion/src/lib/common/string.cpp:31:
/usr/include/c++/4.9/bits/streambuf_iterator.h:369:5: note: template<class _CharT2> typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, std::istreambuf_iterator<_CharT> >::__type std::find(std::istreambuf_iterator<_CharT>, …
Run Code Online (Sandbox Code Playgroud)

c++ std stdvector

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