小编yan*_*ory的帖子

具有 HTTPS 和仅 VPN 访问权限的 AWS S3 静态站点

目前我们有一个静态站点部署到 ECS(弹性容器服务)并由 ELB(弹性负载均衡器)前端。这个模型没有意义,因为容器只是运行 NGINX 来服务静态资产。

然而,我们从这个模型中得到的是,仅通过 VPN 访问网站(我们的 VPN 客户端将所有 10.x 流量转发到我们的 VPC),以及 ELB 上的 HTTPS 侦听器,这些都是我们想要保留的.

将这个目前只能通过 VPN 访问的静态站点迁移到通过 HTTPS 从 S3/Cloudfront 提供服务并且只能通过 VPN 访问的最佳方法是什么?

我们具有与此答案相同的 VPN 配置。这个答案对我们有用,但它没有解决 S3 存储桶 IP 可能发生变化的问题(这会使 VPN 客户端上提议的路由规则无效),而且我不清楚如何让 HTTPS 与此一起工作(AFAIK,您需要将 CF 放在 S3 静态站点的前面,但我不确定如何通过我们的 VPN 将流量路由到 Cloudfront。)

vpn https amazon-s3 amazon-web-services amazon-cloudfront

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

在Java中返回反向通用列表类型

我正在做一些关于泛型编程的练习; 有没有办法获取一个实现List的类并返回同一个类的反转版本?看来这应该是可行的,因为至少采用面值的术语,"通用编程"写得很大.

也许通过执行就地反转?我也考虑过Collections.reverse(),但它是一个void方法.

这是我的尝试和演示:

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Arrays;

public class ReverseDemo {

public static <T> List<T> reverse(List<T> list) {
    List<T> reversed = new ArrayList<T>();

    for (int i = list.size() - 1; i >= 0; i--) {
        reversed.add(list.get(i));
      }

    return reversed;
}

public static void main(String[] args) {
    LinkedList<Integer> linkedInt = new LinkedList<Integer>();
    ArrayList<Double> arrayDouble = new ArrayList<Double>();

    for (int k = 0; k < 10; k++) {
        double doubleNum = 10*Math.random();
        int intNum = …
Run Code Online (Sandbox Code Playgroud)

java generics reverse list

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

THREE.js webGL垃圾收集

我们有一个使用THREE.js渲染身体网格物体3D图像的应用程序.我们有一个名为MeshViewer的对象,它封装了渲染功能; 在初始化方法中,我们设置

this.renderer = new THREE.WebGLRenderer({ antialias: true, preserveDrawingBuffer: true })
Run Code Online (Sandbox Code Playgroud)

我们写了一个脚本来测试this.renderer没有被释放.

<script>
    var count = 0;
    function loop () {
        if (count >= 25) { 
            return; 
        }
        else {
            count++;
            var viewer = new MeshViewer(
                'mesh_viewer',
                's3_assets/textured_mean_scape_female.obj',
                []
            );

            viewer.cleanup();

            setTimeout(function () {
                loop();
            }, 500);
        }
    }
    loop();
</script>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,'mesh_viewer'是我们想要嵌入查看器的DOM元素的id.我们的清理方法集

this.renderer = null
Run Code Online (Sandbox Code Playgroud)

清理工作,从某种意义上说,如果我们不执行清理,我们会收到一个错误,即存在太多活动的WebGL上下文,我们无法创建,如果我们进行清理,我们就不会收到错误.

我的问题是,为什么在setTimeout中在循环之前调用viewer.cleanup时会失败,并且在setTimeout之前和之前调用cleanup时调用?(这可能是一个JavaScript问题而不是THREE.js/WebGL问题.)

javascript webgl three.js

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

Scrapy download_delay与max_concurrent_requests_per_domain

我对Scrapy DOWNLOAD_DELAYMAX_CONCURRENT_REQUESTS_PER_DOMAINScrapy 之间的差异和相互作用感到非常困惑。

下载延迟是否会影响每个域的并发请求的最大数量,例如,如果我将延迟设置为10秒,但每个域允许8个并发请求,那么这些并发请求是否不会并发而会根据下载延迟而错开?被同时解雇,但响应的下载却被错开了?有什么理由DOWNLOAD_DELAY不打电话REQUEST_DELAY吗?

例如,在以下情况下,信封的吞吐量计算将是什么:

  • start_urls 拥有给定域的100个URL
  • MAX_CONCURRENT_REQUESTS_PER_DOMAIN = 8
  • DOWNLOAD_DELAY = 3
  • 假设服务器需要2秒钟来生成响应
  • 假设我们生成的URL不超过已经生成的URL start_urls

相关的蜘蛛需要多长时间来处理此队列?

python concurrency scrapy

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

AWS:为什么互联网网关要执行 NAT?

Internet 网关有两个用途:在 VPC 路由表中为 Internet 可路由流量提供目标,以及为已分配公共 IPv4 地址的实例执行网络地址转换 (NAT)。

来源:https ://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html

如果上述实例都有公有 IPv4 地址,为什么 Internet 网关需要执行网络地址转换?最好有一个网络流的示例,该示例在以下情况下会被破坏

  • 附加了 Internet 网关的 VPC 子网
  • 该 VPC 子网中的实例,其 IP 地址(AWS VPC 术语中的弹性 IP)位于公共 IP 地址空间中
  • 如果没有 Internet 网关执行 NAT,Internet 上的主机无法将数据包发送到这些实例

networking nat vpc amazon-web-services amazon-vpc

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

在golang中循环无限

我是Golang的新手,但我希望不会有像这样基本的问题.

package main

import "fmt"

func main() {
    s := make([]int, 0)
    s = append(s, 1)
    for len(s) != 0 {
        j := len(s) - 1
        top, s := s[j], s[:j]
        fmt.Printf("top = %+v\n", top)
        fmt.Printf("s = %+v\n", s)
        fmt.Printf("len(s) = %+v\n", len(s))
    }
}
Run Code Online (Sandbox Code Playgroud)

此命令不会退出,只是打印

len(s) = 0
top = 1
s = []
len(s) = 0
top = 1
s = []
len(s) = ^C
Run Code Online (Sandbox Code Playgroud)

我发现这令人惊叹; 我究竟做错了什么?从语法上讲,基于https://tour.golang.org/flowcontrol/3,一切似乎都可以.

loops go

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

零指针嵌入错误

当我尝试打印带有未初始化嵌入错误的指针时,为什么会出现nil指针错误:

package main

import (
  "log"
  "errors"
)

type Danger struct {
  error
}

func main() {
  // the nil pointer issue has to do with struct embedding an error value that is nil
  d := &Danger{}
  log.Println(d)

  d = &Danger{errors.New("foobar")}
  log.Println(d)
}
Run Code Online (Sandbox Code Playgroud)

结果是

2009/11/10 23:00:00 %!v(PANIC=runtime error: invalid memory address or nil pointer dereference)
2009/11/10 23:00:00 foobar
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/fBuN0XonX9v

这在今天的一次采访中提出,面试官和受访者都无法理解.

null go

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