小编Yu *_*hen的帖子

浏览器从Webpack加载旧的bundle.js

我是一名React新手,试图学习如何将Flask应用程序与React集成。我发现,每当我对React .js文件进行更改时,所做的更改都会重新编译bundle.js到我的浏览器中,而不会出现在浏览器中。

要复制,请从此Github存储库克隆源代码。按照说明进行设置,并确保运行webpack --watchpython app.py从虚拟环境。它应该启动一个简单的Web服务器,该服务器可以从访问localhost:5000

在Chrome浏览器上访问时,应该显示以下屏幕: 在此处输入图片说明

接下来,进入Hello.js文件并进行一些随机编辑-例如,更改Hello World!Hello everyone!。从我学到的知识来看,webpack --watch应该注意监听更改并重新编译,这确实可以做到:如果您进入,bundle.js您将看到更改已重新编译:

var Hello = _react2.default.createClass({
  displayName: 'Hello',
  render: function render() {
    return _react2.default.createElement(
      'h1',
      null,
      'Hello, everyone!'
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

但是,刷新浏览器时,将获得与以前相同的消息(Hello World)。当我检查bundle.jsChrome使用的源代码时,发现使用我的旧代码仍为STILL:在此处输入图片说明

我的理论是Chrome使用某种缓存?但是我已经玩了大约一个小时,无法bundle.js更新。

是什么导致浏览器加载bundle.js文件?

编辑:我已重新加载,现在更改已应用于我的浏览器屏幕。但是,刷新和更新似乎耗时特别长,至少需要4-5分钟。有什么办法可以缩短这个时间范围?

javascript python flask reactjs

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

AWS - EC2用户数据脚本如何分配弹性IP?

我正在尝试为 VPC 创建自己的堡垒主机,并创建一个最小/最大实例数为 1 的自动缩放组。在我的启动配置中,我为 ec2 用户数据指定以下内容:

#!

INSTANCE_ID=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`

aws ec2 associate-address --instance-id $INSTANCE_ID --allocation-id eipalloc-my-eip-id --allow-reassociation
Run Code Online (Sandbox Code Playgroud)

此用户数据的目标是立即将弹性 IP 地址与我新创建的 EC2 实例关联起来 -我从其他 StackOverflow 帖子中读到,在使用 ASG 时必须明确完成此操作。

但是,在 ASG 实例启动并完成初始化后,我在控制台输出中仍然看不到该实例的任何弹性 IP:

在此输入图像描述

我已经确认实例确实正在使用用户数据: 在此输入图像描述

我尝试查看系统日志内部,看看初始化期间是否有任何错误消息,但一开始我看不到任何表明命令associate-address失败的信息(内部/var/log/cloud-init-output)。

编辑:尝试调试:

但是,我随后手动将弹性 IP 与我的实例关联,通过 SSH 进行连接,并尝试运行上面的用户数据命令。有趣的是,当我到达该aws ec2 associate-address部分时,我遇到了

无法找到凭据。您可以通过运行“aws configure”来配置凭证。

这似乎是问题的根源 - 我的 AWS 配置文件未配置。但是,我一直认为默认的 AWS 实例配置文件已设置好,您可以在实例完成初始化后访问 AWS CLI。

谁能指出为什么我的用于关联弹性 IP 地址的用户数据可能无法正确执行?

谢谢你!

amazon-ec2 amazon-web-services

6
推荐指数
2
解决办法
9372
查看次数

Javascript对象中的数组属性未定义

我正在使用Node.js遍历Artist从Mongoose获得的一系列结果:

User.find({UserType: "Artist"}, '_id Firstname BIO list_artworks').then((artists) =>{
    for (var i=0; i < artists.length; i++){
        console.log(artists[i]);
    }
})
Run Code Online (Sandbox Code Playgroud)

上面的代码可以找到并打印出Artists我要求的所有三个属性。

编辑:这是我在控制台中看到的示例:

{
    _id: 'T8fdSmf0e1ua',
    BIO: 'This is Susan's bio...\n',
    Firstname: 'Susan',
    list_artworks: [
        'ID ONE',
        'ID TWO', 
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试访问包含ArtworkID 数组的属性时,使用console.log()以下命令无法定义所有内容:

for (var i=0; i < artists.length; i++){
    console.log(artists[i].list_artworks);
}
Run Code Online (Sandbox Code Playgroud)

当我访问Artist的其他属性(例如BIO或)时Firstname,它会成功打印到控制台上:

for (var i=0; i < artists.length; i++){
    console.log(artists[i].BIO);
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?考虑到所有对象都在then()链中返回,在这种情况下,我认为这与异步代码无关。list_artworks如果我打印整个artist对象,该属性显然就在那里,但是为什么当我尝试访问它时却未定义它?

这是另一个例子。我先打印每个属性,然后再打印对象本身: …

javascript mongoose node.js

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

pyspark 需要 psutil 做什么?(面对“用户警告:请安装 psutil 以获得更好的溢出支持”)?

我开始使用 pyspark 学习 Spark 并想知道以下日志消息的含义是什么?

用户警告:请安装 psutil 以获得更好的溢出支持

导致溢出的操作是join两个 RDD 之间的操作:

print(user_types.join(user_genres).collect())
Run Code Online (Sandbox Code Playgroud)

这听起来可能有些明显,但我的第一个问题是

我确实安装了psutil,警告消失了,但我想了解到底发生了什么。这里有一个非常相似的问题,但 OP 主要询问如何安装psutil

python apache-spark pyspark

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

API Gateway 区域自定义域名未解析

我正在尝试获取我的 API 网关端点并将其映射到自定义区域域名。有人可以帮助确定我是否在此过程中的任何地方犯了错误吗?我非常忠实地遵循文档,但无法确定我哪里出错了。我执行了以下步骤:

  1. 使用 Route 53 注册域,比方说mydomainname.com.

  2. 通过 ACM 创建了一个证书api.mydomainname.commydomainname.comexample.mydomainname.com作为 CNAME 记录包含在我的域的 DNS 配置中。

  3. 在 API Gateway 中为我的playground-apiAPI 使用 stage创建了一个自定义域名development(见下文):

在此处输入图片说明

  1. 使用上图中指定的目标域名,转到我的Route 53 结果记录集并将其添加为目标:

在此处输入图片说明

当我尝试访问GET 时https://api.mydomainname.com,出现CONNECTION REFUSED错误。但是,通过 API Gateway 使用来自已部署阶段的端点(部署阶段后提供的端点)非常有效。

我已经公开并部署在网关API可用的端点GET /PUT /widgets/GET /widgets/{id}

我承认有很多关于这个主题的帖子(比如这里、这里这里这里),但看起来还没有人找到任何好的解决方案。然而,到目前为止所有帖子的共同主题似乎都缺乏足够的细节,所以我希望我的帖子包含足够的信息,以便更有经验的 SOers 提供帮助。

amazon-web-services amazon-route53 aws-api-gateway

5
推荐指数
0
解决办法
1921
查看次数

使用MPI_Gather的MPI_Barrier使用小型和大型数据集大小?

我一直在使用MPI_Scatter/MPI_Gather进行各种并行计算.我注意到的一件事是MPI_Barrier()通常被称为同步处理器,类似于OpenMP屏障指令.我正在为一个项目调整我的代码并在下面注释掉我的MPI_Barrier()行,并发现计算仍然是正确的.为什么会这样?我可以理解为什么需要第一个MPI_Barrier() - 其他处理器不需要等待; 一旦他们从处理器MASTER获取数据,他们就可以开始计算.但MPI_arather之后是否需要MPI_Barrier,或者MPI_Gather内部是否已经存在隐含障碍?

编辑:在这种情况下,正在处理的数据的大小是否重要?

MPI_Scatter(&sendingbuffer,sendingcount,MPI_FLOAT,receivingbuffer,sendcount,
MPI_INT,MASTER_ID,MPI_COMM_WORLD);

// PERFORM SOME COMPUTATIONS
MPI_Barrier(); //<--- I understand why this is needed

MPI_Gather(localdata,sendcount, MPI_INT, global,sendcount, MPI_INT, MASTER_ID, MPI_COMM_WORLD);
//MPI_Barrier(); <------ is this ever needed?
Run Code Online (Sandbox Code Playgroud)

c synchronization distributed-computing mpi

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

BlueprintJS 不加载其图标 CSS 模块,但能够加载核心 CSS 模块

我正在学习将 BlueprintJS 合并到我的 React Web 应用程序中,并且在加载某些 CSS 模块时遇到了很多问题。

我已经安装npm install @blueprintjs/corenpm install react-transition-group.

BlueprintJS入门文档说要像这样加载 CSS 文件:

 // or, using node-style package resolution in a CSS file: 
 @import "~@blueprintjs/core/lib/css/blueprint.css";
 @import "~@blueprintjs/icons/lib/css/blueprint-icons.css";
Run Code Online (Sandbox Code Playgroud)

我目前正在使用webpack我的构建工具,所以我在我的webpack.config.js:

然而,当我试图建立我的bundle.js,我收到包括在此错误消息~@blueprintjs/icons/lib/css/blueprint-icons.css的文件:

ERROR in ./node_modules/@blueprintjs/icons/resources/icons/icons-16.eot
Module parse failed: Unexpected character '' (1:0)
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)
 @ ./node_modules/css-loader!./node_modules/@blueprintjs/icons/lib/css/blueprint-icons.css 7:296-341
 @ ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./js/styles/styles.scss
 @ …
Run Code Online (Sandbox Code Playgroud)

css blueprint reactjs webpack

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

Using async/await inside a React functional component

I'm just beginning to use React for a project, and am really struggling with incorporating async/await functionality into one of my components.

I have an asynchronous function called fetchKey that goes and gets an access key from an API I am serving via AWS API Gateway:

const fetchKey = async authProps => {
  try {
    const headers = {
      Authorization: authProps.idToken // using Cognito authorizer
    };

    const response = await axios.post(
      "https://MY_ENDPOINT.execute-api.us-east-1.amazonaws.com/v1/",
      API_GATEWAY_POST_PAYLOAD_TEMPLATE,
      {
        headers: headers
      }
    );
      return response.data.access_token; …
Run Code Online (Sandbox Code Playgroud)

javascript async-await reactjs material-ui

4
推荐指数
2
解决办法
1829
查看次数

为什么在发生参数错误时不使用装饰函数的名称?

我理解的目的functools.wraps-在开展类似的属性__doc____name__等等。但是我努力解释为什么下面发生的事情。我在 Python 中有这个装饰器函数:

from functools import update_wrapper
class Environment:
    ...

def requires_environment(function: Callable) -> Callable:
    def wrapped_function(*args, environment, **kwargs):
        if not isinstance(environment, Environment):
            raise TypeError("The environment keyword argument must be of type Environment.")
        kwargs["environment"] = environment
        return function(*args, **kwargs)
    update_wrapper(wrapped_function, function)
    return wrapped_function
Run Code Online (Sandbox Code Playgroud)

然后我用它装饰一个函数:

@requires_environment
def function_with_args(arg1, arg2, environment):
   pass
Run Code Online (Sandbox Code Playgroud)

当我没有为environmentmy提供关键字时function_with_args,我希望错误消息应该说TypeError: function_with_args()

function_with_args(1, 2, Environment.PROD)
Run Code Online (Sandbox Code Playgroud)

我得到

TypeError: wrapped_function() missing 1 required keyword-only argument: 'environment'
Run Code Online (Sandbox Code Playgroud)

为什么是wrapped_function显示而不是function_with_args …

python

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

使用Terraform for ECS在CloudWatch中包括退出代码1事件

我一直在ECS上运行容器,并使用AWS Cloudwatch事件在任务完成时通知我。所有基础结构都是使用Terraform创建的。但是,我无法在事件模式中获得正确的语法,因此仅通知我非零退出代码。

以下资源很好用,每当我的一个容器退出时,它就会向SNS发送通知:

resource "aws_cloudwatch_event_rule" "container-stopped-rule" {
  name        = "container-stopped"
  description = "Notification for containers that exit for any reason. (error)."

  event_pattern = <<PATTERN
{
  "source": [
    "aws.ecs"
    ],
  "detail-type": [
    "ECS Task State Change"
    ],
  "detail": {

    "lastStatus": [
      "STOPPED"
    ],
"stoppedReason" : [
    "Essential container in task exited"
  ]
}
}
PATTERN
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在尝试略微修改模式,以便仅在容器退出并显示错误代码时通知我-由于我们收到的通知太多,我们已经开始调出电子邮件,有时不会注意到容器错误退出的电子邮件通知:

resource "aws_cloudwatch_event_rule" "container-stopped-rule" {
  name        = "container-stopped"
  description = "Notification for containers with exit code of 1 (error)."

  event_pattern = <<PATTERN
{
  "source": [ …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudwatch terraform

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