小编Jie*_*eng的帖子

测试是否在对象中设置了属性,否则返回true

我正在使用in运算符来检查属性是否已设置.我得到了意想不到的结果.如果未设置属性,由于某种原因,它仍然返回true

console.log('completion', JSON.stringify(completion), (completion && ('transaction' in completion)));
Run Code Online (Sandbox Code Playgroud)

JSON.stringify(completion)返回{"user":3,"survey":"4ydBY0t6","year":2015,"month":9,"id":38,"createdAt":"2015-09-29T08:08:08.000Z","updatedAt":"2015-09-29T08:08:08.000Z"}(completion && ('transaction' in completion))返回true原因可能是什么?

在受影响的线路周围修改更多代码

resp.surveys.forEach(function(survey) {
    var completion = _.find(completions, { survey: survey.id });

    console.log('completion', JSON.stringify(completion), (completion && ('transaction' in completion)));

    // ...
    survey.pointsAwarded = (completion && ('transaction' in completion)) ? completion.transaction.points : 0;
});
Run Code Online (Sandbox Code Playgroud)

javascript

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

产生的价值不能被视为承诺

我正在使用Koa和Bluebird并正在尝试协同程序.我发现下面给出了一个错误.但如果我替换yield initRouters()它的内容initRouters()工作.这是为什么?

'use strict';

const fs = require('fs');
const Promise = require('bluebird');
const readdir = Promise.promisify(fs.readdir);

let app = require('koa')();

let initRouters = function *() {
  const routerDir = `${__dirname}/routers`;
  let routerFiles = yield readdir(routerDir);
  return Promise.map(routerFiles, function *(file) {
    var router = require(`${routerDir}/${file}`);

    app
      .use(router.routes())
      .use(router.allowedMethods());
  });
}

Promise.coroutine(function *() {
  yield initRouters();

  const PORT = process.env.PORT || 8000;
  app.listen(PORT);
  console.log(`Server listening on ${PORT}`);
})();
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

Unhandled rejection TypeError: A value [object Generator] was yielded …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 bluebird koa

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

错误包括使用webpack的字体很棒

我试图在webpack中加入font-awesome.下面

import 'font-awesome/css/font-awesome.css';
Run Code Online (Sandbox Code Playgroud)

要么

require('font-awesome/css/font-awesome.css')
Run Code Online (Sandbox Code Playgroud)

产生以下错误

ERROR in multi vendor
Module not found: Error: Can't resolve 'font-awesome' in '...'
 @ multi vendor
Run Code Online (Sandbox Code Playgroud)

怎么了?font-awesome已安装

我正在使用fountain.io,完整的webpack配置如下所示:

const webpack = require('webpack');
const conf = require('./gulp.conf');
const path = require('path');

const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const pkg = require('../package.json');
const autoprefixer = require('autoprefixer');

module.exports = {
  module: {
    preLoaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'eslint'
      }
    ],

    loaders: [
      {
        test: /.json$/,
        loaders: [
          'json' …
Run Code Online (Sandbox Code Playgroud)

font-awesome webpack

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

CloudFormation设置CodePipeline / CodeBuild以部署SAM应用程序

我已经成功设置了CodePipeline和CodeBuild来部署我的SAM应用程序。但是现在我想将其转换为CloudFormation。我该怎么做呢?我按照这里的步骤http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html

我被困在CloudFormation模板的CodeBuild部分中...

amazon-web-services aws-cloudformation aws-codepipeline aws-codebuild

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

CloudFormation StackSet S3错误:区域'us-east-1'错误; 期待'ap-southeast-1'

我正在尝试使用CloudFormation StackSets将我的lambda函数部署到多个AWS账户和区域.但由于以下错误而失败

ResourceLogicalId:OfficeHoursAutoScalingStart,ResourceType:AWS :: Lambda :: Function,ResourceStatusReason:GetObject时发生错误.S3错误代码:AuthorizationHeaderMalformed.S3错误消息:授权标头格式错误; 该地区'us-east-1'错了; 期待'ap-southeast-1'

它似乎是一个权限的东西?我该如何解决这个问题?

我的模板:

AWSTemplateFormatVersion : '2010-09-09'
Description: 'Skynet. AWS Management Assistant'
Parameters:
  AppName:
    Type: String
    Description: Prefix for resources
    Default: skynet-lambda-stackset
  ArtifactsBucket:
    Type: String
    Description: S3 bucket storing lambda function zip
  ArtifactZipPath:
    Type: String
    Description: Path to lambda function zip
  CostCenter:
    Type: String
    Description: Cost center
    Default: Admin
  Owner:
    Type: String
    Description: Owner
    Default: Jiew Meng

Resources:
  LambdaRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: !Sub '${AppName}-lambda'
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
        - Effect: Allow
          Principal: …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cloudformation

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

如何使用入口点在 docker 容器上运行 bash?

如何在具有 ENTRYPOINT 的容器上运行 bash?

FROM ubuntu:18.04
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update \
    && apt-get install -y curl gnupg
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash \
    && export NVM_DIR="$HOME/.nvm" \
    && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \
    && [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  \
    && nvm i 8.11 \
    && apt-get install -y mysql-server=5.7.23-0ubuntu0.18.04.1 python3 python3-pip  \
    && ln -s /usr/bin/python3 /usr/bin/python \
    && ln -s /usr/bin/pip3 /usr/bin/pip \
    && pip install awscli --upgrade --user \ …
Run Code Online (Sandbox Code Playgroud)

mysql docker

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

API网关授权者和注销(性能/安全注意事项)

我正在使用Cognito,API网关和授权者。授权者配置为缓存5分钟以提高性能。我觉得这是一个不错的功能。

我知道授权者是将身份验证逻辑放在一个地方的好方法,并且应用程序可以假定用户已被授权。但是,我对此表示怀疑。

渗透测试报告建议,一旦注销,令牌就不能使用。因此,为了安全起见,我不应该启用授权者缓存吗?这也意味着所有经过身份验证的API都要经过一个lambda授权者的开销...

同样从编码的角度来看,使用很难进行端到端测试的授权者真的是一个好主意吗?我可以将lambda函数作为一个单元进行测试。但是对我来说更重要的是它们已连接到正确的API。我目前无法看到可以轻松测试的方法。

另一个问题是查看代码,我再也无法轻易分辨出需要什么授权……我必须查看应该附加哪个授权者(例如CloudFormation),然后查看lambda代码本身。

使用授权者有什么好处吗?或实际上最佳做法是什么?

amazon-web-services aws-lambda aws-api-gateway serverless

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

了解 Spark 解释:收集、全局与本地限制

我试图了解 Spark/AWS Glue 中进行限制的区别

我尝试使用 Spark SQL

spark.sql("SELECT * FROM flights LIMIT 10")
Run Code Online (Sandbox Code Playgroud)

解释看起来像这样:

CollectLimit 10
+- *FileScan parquet xxxxxx.flights[Id#31,...] Batched: true, Format: Parquet, Location: CatalogFileIndex[s3://xxxxxx/flights], PartitionCount: 14509, PartitionFilters: [], PushedFilters: [], ReadSchema: struct<...
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用 AWS Glue Data Catalog 看看它是否更快

gdf = glueContext.create_dynamic_frame.from_catalog(database = "xxxxxx", table_name = "xxxxxx")
df = gdf.toDF()
df = df.limit(10)

df.explain(True)

df.show(10)
Run Code Online (Sandbox Code Playgroud)

解释如下:

GlobalLimit 10
+- LocalLimit 10
+- LogicalRDD [Id#70, ...]
Run Code Online (Sandbox Code Playgroud)

第一次运行在 5 分钟内,第二次运行在 4 分钟内,还没有那么重要,但我认为查询数据目录更快或者在数据帧中进行限制比在 Spark SQL 中进行限制更好?

收集限制、全局限制和本地限制之间有什么区别?我猜测本地限制意味着它确实在本地进行限制,然后驱动程序将执行全局限制以给出最终结果。但为什么 Spark SQL 不做这种优化呢?

Spark 在执行任何限制之前是否会读取所有底层镶木地板文件?在本示例中,有没有办法告诉 …

apache-spark pyspark aws-glue

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

使用JSON而不是XML的差异/优势,反之亦然?

可能重复:
什么时候更喜欢JSON而不是XML?

我想知道JSON是否是基于XML的AJAX传输(如果这是它的名称)的首选?我看到通常JSON用于基于XML的jQuery文档?

javascript xml ajax json

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

Zend_Form_Element忽略标志不起作用?

我了解到我可以ignore在a上设置标志,Zend_Form_Element以便在获取值时忽略它.

我有

$this->addElement('submit', 'btnLogin', array(
    'label' => 'Login',
    'ignore' => true
));
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做

foreach ($this->getElements() as $elem) {
    echo $elem->getName() . "<br />";
}
Run Code Online (Sandbox Code Playgroud)

它仍然包括 btnLogin

php zend-framework

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