小编nbr*_*ing的帖子

如何在javascript中迭代(键,值)?

我有一个格式为的字典

dictionary = {0: {object}, 1:{object}, 2:{object}}
Run Code Online (Sandbox Code Playgroud)

我怎样才能通过做类似的事情来遍历这本词典

for((key,value) in dictionary){
  //Do stuff where key would be 0 and value would be the object
}
Run Code Online (Sandbox Code Playgroud)

javascript iteration object

255
推荐指数
7
解决办法
35万
查看次数

如何在reactJS中映射字典?

我正在以{{key:object},{key:object}的形式从在线api获取字典,...对于类似1000对象}.我想用reactJS来做类似的事情

this.props.dict.map(function(object, key)){
 //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

此映射适用于数组,但它显然不适用于字典.我怎样才能达到类似的效果?

javascript reactjs

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

为什么我的裸机kubernetes nginx Ingress-controller返回308?

我正在尝试创建将nginx入口控制器添加到我的kubernetes集群.我当前的群集有3个节点,它们之间都有开放的防火墙规则.(注意:这是一个用于教育目的的裸机群集)

我已使用以下配置创建了部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nodejs-test
  labels:
    app: nodejs
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nodejs
  template:
    metadata:
      labels:
        app: nodejs
    spec:
      containers:
      - name: nodejs-container
        image: gcr.io/infrastructure/test-nodejs-server
        ports:
        - containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
  name: test-deployment-service
spec:
  selector:
    app: nodejs
  ports:
  - protocol: TCP
    port: 80
    targetPort: 3000
Run Code Online (Sandbox Code Playgroud)

运行kubectl后创建-f file.yaml

我看到所有的pod和服务都在运行.在群集中,我可以卷曲该服务ip并从pod获得响应.

现在我去创建一个入口.

我首先按照https://github.com/kubernetes/ingress-nginx/tree/master/deploy上的安装步骤进行操作

我可以看到我的入口控制器正在运行.

    NAMESPACE       NAME                                         READY     STATUS    RESTARTS   AGE
default         my-test-6445d9bb7b-blm7t                     1/1       Running   0          3h
default         nodejs-test-5657f7bb74-7hwqk                 1/1       Running   0 …
Run Code Online (Sandbox Code Playgroud)

nginx kubernetes

9
推荐指数
2
解决办法
3833
查看次数

如何强制 sqlite 将日志文件合并到主数据库中?

我有一个通过事务写入数据库的应用程序。我知道 sqlite 会写入日志文件,然后在日志文件达到一定大小时将其合并。我还具有尝试将数据库文件复制到另一个位置的功能。我的问题是我找不到强制 sqlite 将日志合并到主数据库的方法。

我所有的查询看起来都是这样的

SQLiteDatabase database =null;
try{
    database = getReadableDatabase();

    //PERFORM SOME INSERT

   }
   catch (Exception e){
            Log.e(TAG, "Error with insert");
   }
   finally {
        if( database != null){
            database.close();
        }
  }
Run Code Online (Sandbox Code Playgroud)

执行这些方法后,我将关闭应用程序并检查应用程序保存其数据库的目录。我可以看到数据库文件和数据库日志。

我正在尝试做类似的事情

public void copyDatabase(){
    //FORCE MERGE

    //DO OTHER OPERATIONS
}
Run Code Online (Sandbox Code Playgroud)

有人对如何在需要时合并日志文件有任何想法吗?

database sqlite android

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

如果node.js是单线程的,那么为什么server.listen()会返回?

我熟悉c ++和java中基于事件的系统.我试图学习node.js并遇到有趣的行为,我希望有人可以解释幕后发生的事情.

我有一个看起来像的程序

var http = require("http");


function main(){
    // Console will print the message
    console.log('Server running at http://127.0.0.1:8080/');
    var server = http.createServer(function (request, response) {

        // Send the HTTP header
        // HTTP Status: 200 : OK
        // Content Type: text/plain
        response.writeHead(200, {'Content-Type': 'text/plain'});

        // Send the response body as "Hello World"
        response.end('Hello World\n');
    });

    server.listen(8080); //Why is this not blocking
    console.log('Main completed');

    //main loop here prevents other stuff from working
}

main();
Run Code Online (Sandbox Code Playgroud)

在像java或c这样的语言中我会期待两件事.server.listen都提供了一个事件循环,它会导致server.listen永远不会返回.或者server.listen生成一个新线程并在新线程中立即运行事件循环.然后它将调用console.log,然后返回并关闭该程序.

为了测试这个,我还在console.log下面添加了一个繁忙的循环.

var http = require("http");


function …
Run Code Online (Sandbox Code Playgroud)

node.js

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

node.js 事件队列在哪里?

我在堆栈溢出上看到过类似的问题,但没有一个完全深入探讨我的问题?我熟悉事件队列,它们如何工作以及实现它们。我是 node.js 的新手,我正在尝试了解 Node.js 是如何做到的。

在 C++ 应用程序中,您将执行以下操作:

int main(){
    std::vector<Handler*> handlers;
    BlockingQueue queue = new BlockingQueue();
    //Add all the handlers call constructors and other such initialization

    //Then run the event loop
    while(true){
        Event e = queue.pop();

        for( std::vector<Handler>::iterator it = handlers.begin(); it != handlers.end(); ++it){
            *it.handle(e);
         }
     }
}
Run Code Online (Sandbox Code Playgroud)

现在在 node.js 的情况下,我可能有一个名为 main.js 的主文件,看起来像。

var http = require("http");
function main(){
    // Console will print the message
    console.log('Server running at http://127.0.0.1:8080/');
    var server = http.createServer(function (request, response) {

        // Send …
Run Code Online (Sandbox Code Playgroud)

javascript c++ node.js

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

如何发送带有请求承诺的表单?

我正在尝试使用请求承诺库或类似的任何东西通过从节点发送到另一台运行Node的计算机的发送请求来发送文件.使用正常的请求模块,我可以这样

var req = request.post(url, function (err, resp, body) {
 if (err) {
    console.log('Error!');
  } else {
    console.log('URL: ' + body);
  }
});
var form = req.form();
form.append('file', '<FILE_DATA>', {
  filename: 'myfile.txt',
  contentType: 'text/plain'
});
Run Code Online (Sandbox Code Playgroud)

此代码来自以下问题: 在Node.js中使用POST请求上传文件但是它没有使用promises.

任何人都可以解释如何做同样的事情,但与请求承诺库或如果有任何其他方式来宣传这个?

javascript node.js promise

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

如何在systemd配置中有条件地运行不同的文件?

我希望这不是一个重复的问题。Systemd真的很难搜索......

我有一个 systemd 文件,看起来像

[Unit]
Description=My Daemon

[Service]
User=root
Type=simple
PIDFile=/var/run/app.pid
ExecStart=/usr/bin/python /opt/app/app.pyc
Restart=always

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我希望 ExecStart 运行 /usr/bin/python /opt/app/app.pyc 如果它存在并运行 /usr/bin/python /opt/app/app.py 如果它不存在。

目标是在部署的系统上不会有一个 py 文件,只有一个 pyc,但在开发系统上我们可能只有一个 py 文件。我怎样才能让它发挥作用?

systemd ubuntu-16.04

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