小编Mic*_*ole的帖子


JS async/await - 为什么等待需要异步?

为什么使用await需要声明的外部函数async

例如,为什么这个mongoose语句需要它返回一个promise的函数?

async function middleware(hostname, done) {
  try {
    let team = await Teams.findOne({ hostnames: hostname.toLowerCase() }).exec();
    done(null, team);
  } catch (err) { done(err); }
}
Run Code Online (Sandbox Code Playgroud)

我看到运行时/转换器解析了团队对它的价值的承诺和异步信号,它"抛出"被拒绝的承诺.

但是try/catch"捕获"那些被拒绝的承诺,那么为什么异步并等待如此紧密耦合呢?

javascript asynchronous async-await

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

盐渍SHA1与盐渍SHA512相比有多不安全

SHA512比SHA1更复杂,但是与使用512对哈希值进行散列相比,使用SHA1对盐渍密码进行哈希处理会损失多少安全性?就拥有数据库的人破解单个密码所需的时间而言.我使用的框架不能让我轻松访问SHA512,我必须覆盖一些东西以使其工作,所以我想只使用SHA1,虽然在过去我总是使用SHA512.

php security hash sha1 sha512

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

使用Compose.io作为副本集的本地mongodb?

基本上,我正在考虑这个:

由Compose.io备份的本地MongoDB服务器.因此Compose处理HA,备份等 - 但我获得了本地MongoDB实例的速度.

这可能/理智吗?这实际上是解决HA /备份问题,还是只是复杂化?

我有两台DigitalOcean服务器,但没有ops管理MongoDB的经验.

谢谢!

compose-db mongodb

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

如何使用带有 nodemailer 的把手发送电子邮件?

我正在使用 nodemailer 使用以下nodemailer-express-handlebars插件发送电子邮件。我用这个{dead blog post}作为参考

代码正在编译welcome模板但没有使用layout

我的代码如下:

var nodemailer = require('nodemailer');
var mg = require('nodemailer-mailgun-transport');
var hbs = require('nodemailer-express-handlebars');

var config = {auth: {api_key: "key-xxx",domain: "mydomain.com}}
var nodemailerTransport = nodemailer.createTransport(mg(config));

var options = {
    viewEngine: {
        extname: '.handlebars',
        layoutsDir: 'views/email/',
        defaultLayout : 'layout',
    },
    viewPath: 'views/email/'
}

nodemailerTransport.use('compile', hbs(options));

nodemailerTransport.sendMail({
        from: 'from@mydomain.com',
        to: 'to@gmail.com',
        subject: 'Welcome to the XXX',
        template: 'welcome'
    }, function (err, results) {
        if (err) console.log('Error: ' + err);
        else console.log('Response: ' …
Run Code Online (Sandbox Code Playgroud)

handlebars.js nodemailer express-handlebars

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

它可以弹性箱吗?聊天窗口底部有输入,聊天向上滚动

似乎应该可以使用flexbox,但我无法弄明白.

http://codepen.io/MichaelJCole/pen/NGBVGe

目标:

  1. textarea(用于输入消息)始终保持在底部.
  2. 聊天从底部开始,然后根据需要向上滚动.
  3. 如果您使用"Google Hangouts",就像其中的消息应用一样.

这是标记:

 <div id="chatBar">
    <div id="chatList">
      <div class="chat mine">hello world</div>
      <div class="chat theirs">hello moon</div>
    </div>
    <input id="chatBarInput" class="form-control" type="textarea">
  </div>
Run Code Online (Sandbox Code Playgroud)

这是CSS:

html, body { height: 100%; }
#chatBar {
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  overflow: none;
}

#chatList {
  flex: 0 1 auto;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  overflow-y: scroll;
}

#chatBarInput {
  flex: 1 0 auto;
}

.chat {
  flex: none;
  align-self: flex-start;
  background-color: lightgreen;
}

.chat.mine …
Run Code Online (Sandbox Code Playgroud)

css css3 flexbox

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

Kubernetes Ingress在GKE上

我使用KOPS和nginx-ingress在AWS上部署了Kubernetes.

为了评估多个云(并削减成本),我想部署在GKE上.一切都有效,除了Ingress's.(那是AWS上最难的部分).

下面是我在GKE上使用的Ingress.它在仪表板中生成两个Ingress,每个Ingress都有一个IP地址.

如果我将DNS指向这些地址,则拒绝连接.我用ping检查DNS结果.

所有HTTPS都无法连接"无法建立SSL连接.",除了"502 Bad Gateway"按钮

HTTP无法连接502,除了admin,即503.

在Google Cloud Platform信息中心中,我看到了两个负载均衡器."all"指向我的SSL证书."按钮"没有使用HTTPS,但这是另一个问题.

显然我错过了一些东西.我错过了什么?

我正在使用kubectl v1.4.6和GKE上的任何版本昨天都会安装.

```
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    # this is for nginx ingress controler on AWS
    # kubernetes.io/ingress.class: "nginx"
  name: all-ingress
spec:
  tls:
  - hosts:
    - admin-stage.example.com
    - dashboard-stage.example.com
    - expert-stage.example.com
    - signal-stage.example.com
    - stage.example.com
    secretName: tls-secret
  rules:
  - host: admin-stage.example.com
    http:
      paths:
      - backend:
          serviceName: admin-service
          servicePort: http-port
        path: /
  - host: dashboard-stage.example.com
    http:
      paths:
      - backend:
          serviceName: dashboard-service
          servicePort: http-port
        path: /
  - host: …
Run Code Online (Sandbox Code Playgroud)

kubernetes google-kubernetes-engine

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

向Express app和req添加自定义属性.什么是最好的方式?

我在脚下射击自己:

我想在我的Express应用程序中的app和req对象上提供config,core和mean.

我正在使用不在4.x API中的属性.我还应该知道什么?

将它们添加为属性是否存在问题?

// express.js
module.exports = function(db, config, meanModules) {

  var app = express();

  // ... 

  // Get mean-core
  var core = require('meanjs-core')(db, config);

  // Attach config, core, and modules to app    <==== POSSIBLE FOOT SHOOTING
  app.config = config;
  app.core = core;
  app.mean = meanModules;

  // Middleware to adjust req
  app.use(function(req, res, next) {
    // Add config, core, and modules to all requests  <==== POSSIBLE FOOT SHOOTING
    req.config = config;
    req.core = core;
    req.mean = meanModules;
    next(); …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express

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

如何删除 NPM 项目?

我将一些垃圾代码推送到 npm 中。如何删除项目?有一个更好的选择。我的项目还没有任何用户。

谢谢!

麦克风

npm

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

离子电话应用程序.设置重启后仍然存在的警报.报警触发时打开应用程序

我是Ionic的新手,正在构建一个警报应用程序.

如何设置闹钟并让它在重启后继续运行?
警报如何将应用程序激活到某个ui状态?

我发现了这个,但它有这个问题

看起来很有希望,但我没有看到报警功能.

两个 Cordova插件看起来很有前途,但它们不支持IOS.

什么是最好的策略?谢谢!

android alarm ios ionic-framework ionic

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