小编Raf*_*deh的帖子

使用 ES6 Proxy 延迟加载资源

我正在为存储在 MongoDB 中的文档(类似于 Mongoose)构建类似 ActiveRecord 类的东西。我有两个目标:

  1. 使用代理拦截文档上的所有属性设置器,并自动创建要发送到 Mongo 的更新查询。我已经在 SO 上找到了解决此问题的方法。

  2. 防止从数据库中进行不必要的读取。即如果在文档上执行一个函数,并且该函数只设置属性,并且不使用文档的现有属性,那么我不需要从数据库中读取文档,我可以直接更新它. 但是,如果该函数使用文档的任何属性,我必须先从数据库中读取它,然后才能继续使用代码。例子:

    // Don't load the document yet, wait for a property 'read'.
    const order = new Order({ id: '123abc' });
    // Set property.
    order.destination = 'USA'; 
    // No property 'read', Order class can just directly send a update query to Mongo ({ $set: { destination: 'USA' } }).      
    await order.save();                            
    
    Run Code Online (Sandbox Code Playgroud)
    // Don't load the document yet, wait for a property 'read'.
    const order = …
    Run Code Online (Sandbox Code Playgroud)

javascript metaprogramming mongodb node.js es6-proxy

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

Query a remote server's operating system

我正在用 Node.js 编写一个微服务,它运行一个特定的命令行操作来获取特定的信息。该服务在多个服务器上运行,其中一些在 Linux 上,一些在 Windows 上。我正在使用ssh2-exec连接到服务器并执行命令,但是,我需要一种方法来确定服务器的操作系统以运行正确的命令。

let ssh2Connect = require('ssh2-connect');
let ssh2Exec = require('ssh2-exec');

ssh2Connect(config, function(error, connection) {
    let process = ssh2Exec({
        cmd: '<CHANGE THE COMMAND BASED ON OS>',
        ssh: connection
    });
    //using the results of process...
});
Run Code Online (Sandbox Code Playgroud)

我有一个解决方案的想法:按照这个问题,预先运行一些其他命令,并从所述命令的输出中确定操作系统;但是,我想了解是否有更“正式”的方式来实现这一点,特别是使用SSH2库。

ssh shell node.js ssh2-sftp ssh2-exec

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

产品名称字符串与树匹配(支持省略)

我有一个 CPU 型号列表。现在,我认为最合适的方法是从列表中形成一个特里,如下所示:

Intel -- Core -- i -- 3
      |       |    |- 5
      |       |    |- 7
      |       |    -- 9
      |       |
      |       -- 2 Duo
      |
      |- Xeon -- ...
      |
      |...
Run Code Online (Sandbox Code Playgroud)

现在,我想将输入字符串与此树进行匹配。这对于精确匹配很容易,但是如果我需要一个模糊的匹配,字符串序列可以有遗漏怎么办?对于“Intel i3”,“Core i3”和“i3”都匹配到树中的“Intel -> Core -> i -> 3”。

对于这个问题,尝试是正确的任务吗?我想过使用带通配符的特里搜索,但这里的通配符可以在序列中的任何位置。

我可以使用什么数据结构以最适用于这个问题的方式来表示列表?我使用什么算法进行搜索?

search string-matching string-search data-structures

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

找到最小整数,其数字平方和将添加到给定数字

例:

输入:| 输出:

  • 5 - > 12(1 ^ 2 + 2 ^ 2 = 5)

  • 500 - > 18888999(1 ^ 2 + 8 ^ 2 + 8 ^ 2 + 8 ^ 2 + 9 ^ 2 + 9 ^ 2 + 9 ^ 2 = 500)

我写了一个非常简单的暴力解决方案,但它有很大的性能问题:

#include <iostream>
using namespace std;

int main() {
 int n;
 bool found = true;
 unsigned long int sum = 0;

 cin >> n;
 int i = 0;
 while (found) {
     ++i;
     if …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm performance

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