小编Bri*_*asa的帖子

Docker容器无法连接到主机:没有路由到主机

我一直在尝试使用docker compose设置docker环境。让我感到困扰的一个问题是,我的docker容器无法访问我的主机。

我使用以下撰写文件设置了一个容器:

version: '3'
services:
  webapp:
    image: ...
    ports:
      - "8080:8080"
Run Code Online (Sandbox Code Playgroud)

当我进入容器时,我可以ping通我的主机:

ping ${dockerHostIP}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用容器内的curl检索主页时:

curl http://${dockerHostIP}:8080
Run Code Online (Sandbox Code Playgroud)

我得到:

curl: (7) Failed connect to ${dockerHostIP}:8080; No route to host
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚解决此无主机路由错误的方法。不幸的是,由于Web应用程序内部使用其主机名发出请求,因此我需要能够执行此操作。

Traceroute结果:

traceroute ${dockerHostIP}
traceroute to ${dockerHostIP} (${dockerHostIP}), 30 hops max, 60 byte packets
 1  ${dockerHostName} (${dockerHostIP})  0.039 ms !X  0.012 ms !X  0.007 ms !X
Run Code Online (Sandbox Code Playgroud)

networking docker docker-compose

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

需要帮助C#generics

我在编写一个使用泛型的类时遇到了一些麻烦,因为这是我第一次创建一个使用泛型的类.

我要做的就是创建一个将List转换为EntityCollection的方法.

我正在编译器错误:类型"T"必须是引用类型,以便在通用类型或方法"System.Data.Objects.DataClasses.EntityCollection"使用它作为参数"TEntity"

这是我尝试使用的代码:

    public static EntityCollection<T> Convert(List<T> listToConvert)
    {
        EntityCollection<T> collection = new EntityCollection<T>();

        // Want to loop through list and add items to entity
        // collection here.

        return collection;
    }
Run Code Online (Sandbox Code Playgroud)

它抱怨EntityCollection集合=新的EntityCollection()代码行.

如果有人能帮助我解决这个错误,或者向我解释我收到它的原因,我将非常感激.谢谢.

c# generics

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

Ruby多个命名参数

我是ruby的新手,我正在尝试使用rails框架编写Web应用程序.通过阅读我看到的方法被调用如下:

some_method "first argument", :other_arg => "value1", :other_arg2 => "value2"
Run Code Online (Sandbox Code Playgroud)

在哪里可以传递无限数量的参数.

如何在ruby中创建一个可以这种方式使用的方法?

谢谢您的帮助.

ruby methods arguments

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

ASP.NET - 使用AJAX加载用户控件?

我不确定我正在尝试做什么是可能的 - 我只是想用AJAX调用用户控件并获取控件的渲染html.但是,当我尝试获取控件时,我收到以下错误消息:

此类页面不会提供.

描述:未提供您请求的页面类型,因为它已被明确禁止.扩展名".ascx"可能不正确.请查看下面的网址,确保拼写正确.

请求的URL:/Controls/ClientFormControl.ascx

是否可以使这种类型的页面可以使用,或者是否需要调用它?我知道在MVC框架中这些事情很容易......

提前致谢.

asp.net ajax user-controls asp.net-ajax

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

Google联合登录(OpenID + OAuth 2)

我正在尝试让OpenID使用OAuth 2来使用Google的API.我只希望用户在第一次登录时必须"授予访问权限".这是我到目前为止的流程:

  1. 用户点击"使用Google登录"
  2. 我的服务器使用OpenID登录User.通过联合登录,我收到OAuth请求令牌.

来自https://developers.google.com/accounts/docs/OpenID#oauth,它表示下一步是交换请求令牌以获取访问令牌.但是,我发现有两个问题:

  1. 这是一个OAuth 1 API调用.
  2. 它需要验证者.我不需要用户"授予访问权限"来接收验证者吗?这是如何联合的?

谢谢你的帮助!

openid oauth google-api oauth-2.0

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

使用Ansible配置EC2实例时遇到问题

我对如何使用Ansible启动EC2实例感到困惑.

我正在尝试使用ec2.py库存脚本.我不确定应该使用哪一个,因为有三个安装了Ansible:

  • ansible/lib目录/ ansible/module_utils/ec2.py
  • ansible/LIB/ansible /模块/核心/云/亚马逊/ ec2.py
  • ansible /插件/存货/ ec2.py

我认为在库存中运行一个/最有意义,所以我使用:

ansible-playbook launch-ec2.yaml -i ec2.py
Run Code Online (Sandbox Code Playgroud)

这给了我:

msg: Either region or ec2_url must be specified
Run Code Online (Sandbox Code Playgroud)

所以我添加一个区域(即使我指定了vpc_subnet_id),我得到:

msg: Region us-east-1e does not seem to be available for aws module boto.ec2. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path
Run Code Online (Sandbox Code Playgroud)

我想亚马逊最近必须改变ec2所以你需要使用VPC吗?即使我尝试从亚马逊的控制台启动实例,也会禁用"EC2 Classic"选项.

当我尝试在cloud/amazon /中使用ec2.py脚本时,我得到:

ERROR: Inventory script (/software/ansible/lib/ansible/modules/core/cloud/amazon/ec2.py) had an execution error:
Run Code Online (Sandbox Code Playgroud)

没有比这更详细的细节了.

经过一些搜索,我发现/ module_utils中的ec2.py模块已被更改,因此不需要指定区域.我尝试运行此文件,但得到:

错误:文件/software/ansible/lib/ansible/module_utils/ec2.py被标记为可执行文件,但无法正确执行.如果这不应该是可执行脚本,请更正此问题chmod -x /software/ansible/lib/ansible/module_utils/ec2.py.

因此,正如错误所示,我删除了ec2.py文件的可执行权限,但随后出现以下错误:

ERROR: /software/ansible/lib/ansible/module_utils/ec2.py:30: Invalid ini …
Run Code Online (Sandbox Code Playgroud)

ansible ansible-playbook

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

Vuejs 在数组中的项目上使用 v-model 时,数据绑定不起作用

Vue.js 新手。不知道我哪里出错了。我有一个动态用户列表,您可以添加到其中。我还有一个选择,我想随时了解用户的任何模型更改。但是,当我更改用户信息时,选择不会更新。我已附上代码和小提琴。

HTML:

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.3/vue.js"></script>
<div id="app">
  <h1>Users</h1>
  <div v-for="user in users">
    User ID: <input type="text" v-model="user.id" /><br /> 
    First Name: <input type="text" v-model="user.firstName" /><br />
    Last Name: <input type="text" v-model="user.lastName" />
    <br />
  </div>
  <input type="button" value="Add User" v-on:click="addUser" />
  <br /><br />
  This select should stay synced with what is entered above<br />
  <select>
    <option v-for="user in users" v-bind:value="user.firstName">{{user.firstName}} {{user.lastName}}</option>
  </select>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

var app = new Vue({
    el: "#app",
    data: {
        users: [{}]
    },
    methods: {
        addUser: …
Run Code Online (Sandbox Code Playgroud)

vuejs2

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

Rails从现有表生成模型?

我是rails框架的新手,想知道如何基于现有表生成模型.例如,我有一个名为person的表,并希望根据该表中的列生成模型.但是,每当我使用"ruby脚本/生成模型Person --skip-migration时,它会创建一个名为people的空表并在此之后创建模型.有没有办法在名为person的表之后生成模型?

谢谢.

ruby-on-rails

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

为什么我的锚标记在我指定的路径之前包含我的请求上下文路径?

我正在使用带有java servlet和JSP的Apache Tomcat 6.0.26.

每当我尝试链接到外部网站时,我的锚标记始终在外部链接之前包含我的请求上下文路径.例如,如果我的上下文路径是http:// localhost:8084/MyWebPage /并且我正在尝试通过此标记链接到www.google.com:

<a href="www.google.com">Google</a>
Run Code Online (Sandbox Code Playgroud)

我的锚标签试图转到http:// localhost:8084/MyWebPage/www.google.com而不是www.google.com.

我在这里错过了什么?

提前致谢.

java anchor jsp tomcat servlets

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

这是使用JSP scriptlet的可接受的案例吗?

我知道使用JSP scriptlet通常是不受欢迎的,这就是为什么我想知道是否有一种更优雅的方式来实现我想要做的事情.我正在创建一个视图,并且根据域模型中的某些情况,我正在呈现不同的HTML.

例如,考虑用户可能处于角色中的场景.这样的方法在User模型类中定义:

public boolean isInRole(String roleName) {
    // Logic here to determine if the user is in a role
}
Run Code Online (Sandbox Code Playgroud)

然后我们有一个JSP,如下所示:

<%
    User user = (User)request.getAttribute("user");
%>

// Some HTML here...

<% if (user.isInRole("admin") { %>
    // Generate some admin menu here
<% } %>
Run Code Online (Sandbox Code Playgroud)

据我所知,使用JSTL/EL无法做到这一点.在这里使用scriptlet听起来是个好主意吗?或者我应该采取另一种方法吗?

谢谢你的任何建议.

java model-view-controller jsp servlets java-ee

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

在Gradle中的自定义任务中运行任务

我正在尝试使用Java编写自定义Gradle插件.我需要在此插件中执行的操作之一是将所有已定义的依赖项复制到文件夹中.我已经了解了如何使用build.gradle文件中的任务执行此操作:

task copyDeps(type: Copy) {
    from configurations.runtime
    into 'build/lib'
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在努力弄清楚如何从我自己的自定义任务中运行此任务.我试过这样做:

public class MyTask extends DefaultTask {

    @TaskAction
    public void executeTask() {
        Copy copyTask = new Copy();
        copyTask.into(libFolder).from(getProject().getConfigurations().getByName("runtime").execute();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个时,我得到了异常:

Task of type 'org.gradle.api.tasks.Copy' has been instantiated directly which is not supported. Tasks can only be created using the DSL.
Run Code Online (Sandbox Code Playgroud)

我理解它想说的是什么,但是我无法发现我能够在Java中使用DSL执行此任务.

java gradle gradle-plugin

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

如何在Windows上使用Cygwin将咖啡脚本模块包含在节点中

我正在尝试在node.js中获得CoffeeScript.compile的功能.

我在Windows中安装了Cygwin节点,并用npm安装了咖啡脚本.

我可以使用咖啡命令,但如果我尝试

require("coffee-script");
Run Code Online (Sandbox Code Playgroud)

我在节点中找到"无法找到模块'咖啡脚本'".

我是以错误的方式来做这件事的吗?

cygwin node.js coffeescript

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

您在多大程度上单元测试功能?

我对单元测试有疑问.我将使用一个例子来概述它.

假设我正在编写一个命令行应用程序,它具有各种可接受的命令,并且每个命令都有其可接受的参数.例如:myapp create -DprojectName = newProject -DprojectVersion = 1.0.

如果我有一个名为Command的类,它有一个validateArguments方法,它接收一个有效的参数名列表并将它与用户指定的参数列表进行比较,你将如何进行单元测试呢?

我看到的可能性是:

  1. 您编写了两个单元测试 - 一个确保在传入有效参数时不会引发错误,另一个确保在传递无效参数时抛出错误.

  2. 您编写了一个单元测试,确保不会拒绝所有可接受的参数.我最终会对每个可接受的参数进行单元测试:

    @Test public void validateArgments_ProjectNameArgPassed_NoExcepton thrown {...}

    @Test public void validateArguments_ProjectVersionArgPassed_NoException抛出{...}

等等.

对我来说,第一种方法是有道理的.但它并不能确保每一个应被接受的论点都是.

testing automated-tests unit-testing

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