小编Ale*_*lls的帖子

在TypeScript中声明关键字的目的

declare关键字的目的是什么?

type Callback = (err: Error | String, data: Array<CalledBackData>) => void;
Run Code Online (Sandbox Code Playgroud)

declare type Callback = (err: Error | String, data:Array<CalledBackData>) => void;
Run Code Online (Sandbox Code Playgroud)

找不到解释declareTS中关键字用途的文档.

typescript typescript2.0

20
推荐指数
6
解决办法
4961
查看次数

如何确定Java字段是否具有transient修饰符?

在Java反射世界中 -

我们如何确定Field对象是否具有transient修饰符?

http://docs.oracle.com/javase/tutorial/reflect/member/fieldModifiers.html

文档没有帮助.

我正在使用DB4o并试图避免从数据库中请求从未存储过的实例或类变量.

db4o transient

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

NPM警告有关已弃用软件包的消息

我正在全球安装一个模块

$ npm install -g X
Run Code Online (Sandbox Code Playgroud)

和NPM说

"npm WARN已弃用lodash@1.0.2:不再保留lodash @ <3.0.0.升级到lodash@^4.0.0"

如何找出哪个模块依赖于这个旧版本的lodash?

来自NPM的警告消息似乎没有给我任何线索哪个模块引用这个旧版本(我相信模块X没有直接依赖于这个旧版本的lodash.).

node.js npm

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

TypeScript检查空字符串

有没有办法让TypeScript静态检查空字符串?有没有办法静态要求将非空字符串传递给函数?

let fn = function(a:string){

};

fn('');
Run Code Online (Sandbox Code Playgroud)

要么

let a = '';
fn(a);
Run Code Online (Sandbox Code Playgroud)

TS可以帮助我们吗?

typescript typescript2.0

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

如何删除默认证书(需要更改为不同的证书)

我无法删除当前证书,因为它是默认证书。所以呃..如何将另一个设置为默认值,以便我可以删除当前的默认值?

enter image description here

请注意屏幕截图中的内容:

选择要从此侦听器中删除的证书

请注意,您无法删除默认证书

请帮忙

amazon-ec2 ssl-certificate amazon-web-services aws-load-balancer

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

Unix命令"主机" - 是否有Windows等效?

我在Windows 7机器上,我被指示按照本文使用Unix命令"host":

https://devcenter.heroku.com/articles/custom-domains

但是,host对Windows不是一个有效的命令,甚至在Windows上我可以找到host安装的bash .

Windows是否等同于"主机"?

windows host

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

用于检查当前git branch ="x"的bash脚本

我非常擅长shell脚本(使用bash),我正在寻找一种方法来检查当前git分支是否为"x",如果不是"x"则中止脚本.

    #!/usr/bin/env bash

    CURRENT_BRANCH="$(git branch)"
    if [[ "$CURRENT_BRANCH" -ne "master" ]]; then
          echo "Aborting script because you are not on the master branch."
          return;      # I need to abort here!
    fi

    echo "foo"
Run Code Online (Sandbox Code Playgroud)

但这不太对

git bash shell sh

18
推荐指数
2
解决办法
6277
查看次数

Node.js socket.send()函数在退出之前无法完成

在我编写的一些Node.js脚本中,我注意到即使最后一行是同步调用,有时它也会在Node.js退出之前完成.

我从未见过一个console.log语句在退出之前无法运行/完成,但我看到其他一些语句在退出之前未能完成,我相信它们都是同步的.我可以理解为什么在这种情况下异步函数的回调当然无法触发.

有问题的代码是ZeroMQ .send()调用,如下所示:

   var zmq = require('zmq');
   var pub = zmq.socket('pub');

   pub.bindSync('tcp://127.0.0.1:5555');   

    setInterval(function(){
        pub.send('polyglot');
    },500);
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期工作...但如果我删除setInterval()并只是这样调用它:

   var zmq = require('zmq');
   var pub = zmq.socket('pub');

    pub.bindSync('tcp://127.0.0.1:5555');

    pub.send('polyglot');  //this message does not get delivered before exit
    process.exit(0);
Run Code Online (Sandbox Code Playgroud)

...然后消息将无法传递 - 程序将在pub.send()呼叫完成之前退出.

在Node.js中退出之前确保语句完成的最佳方法是什么?关机挂钩可以在这里工作,但我担心这只会掩盖问题,因为你不能把所有你需要的东西确保在关机钩子中运行.

这个问题也可以通过这种方式证明:

 if (typeof messageHandler[nameOfHandlerFunction] == 'function') {
          reply.send('Success');
          messageHandler[nameOfHandlerFunction](null, args);
         } else {
         reply.send('Failure'); //***this call might not complete before the error is thrown below.***
         throw new Error('SmartConnect error: no handler for ZMQ …
Run Code Online (Sandbox Code Playgroud)

javascript zeromq node.js

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

使用NCONF捕获命令行参数

我有一个简单的node.js后端脚本,我想捕获命令行参数以及config.json文件和环境变量中的键/值.第二个我没有问题,但我在捕获命令行args时几乎无法解决.

可以这样捕获命令行参数:

var nconf = require('nconf');
nconf.argv().env().file({file: './config.json'});

var csvFilePath = nconf.argv().get()._[0]; // var csvFilePath = process.argv[2];
var csvType = nconf.argv().get()._[1];     // var csvType = process.argv[3];
Run Code Online (Sandbox Code Playgroud)

这两个调用等同于process.argv [index],但索引已更改.

必须有一种更简单的方法来捕获命令行参数,但即使我调试并查看nconf产生的变量,我仍然无法弄明白.

有nconf经验的人可以帮忙吗?

node.js nconf

17
推荐指数
2
解决办法
3965
查看次数

在Docker中使用字符串中的变量插值

我在Dockerfile中创建和使用变量时遇到问题 - 我使用此命令通过Dockerfile构建Docker镜像:

$ docker build --build-arg s=scripts/a.sh -t a .
Run Code Online (Sandbox Code Playgroud)

(因为我使用--build-arg,$ s将是Dockerfile中的可用参数,这部分有效)

Dockerfile是这样的:

ARG s

RUN echo $s 

RUN useradd -ms /bin/bash newuser

USER newuser
WORKDIR /home/newuser

ENV fn=$(filename $s)  # fails on this line

COPY $s .

ENTRYPOINT ["/bin/bash", "/home/newuser/$fn"]
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是Docker构建在上面指定的行上失败了.

Error response from daemon: Syntax error - can't find = in "$s)". Must be of the form: name=value
Run Code Online (Sandbox Code Playgroud)

如果我将该行更改为:

RUN fn=$(filename $s)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Error: Command failed: docker build --build-arg s=scripts/a.sh -t a .
The command '/bin/sh -c …
Run Code Online (Sandbox Code Playgroud)

bash docker

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