小编Bla*_*man的帖子

指定模块名称后如何访问与Config相关的键

在phoenix中查看配置文件时,如果我创建这样的配置:

config :myapp,
  http: 4000
Run Code Online (Sandbox Code Playgroud)

我可以像这样在我的代码中引用该键:

Application.fetch_env!(:myapp, :http)
Run Code Online (Sandbox Code Playgroud)

有时配置似乎特定于某个模块,例如下面的MyApp.Endpoint。

这只是将配置分为几类吗?如果我也需要如何在代码中引用下面的http端口?

config :myapp, MyApp.Endpoint,
  http: [port: 4000],
  debug_errors: true
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework

0
推荐指数
2
解决办法
100
查看次数

使用 Docker 构建 Rails 失败。当我使用 ruby​​:alpine 图像时,Nokogiri 导致错误

我有一个简单的 Rails 5.x,我正在尝试使用 docker 来工作。

我正在使用 google cloud build 来构建我的图像。当我在 Ubuntu 18.x 上执行 docker 构建时,它工作正常。

我的 Dockerfile 如下所示:

FROM ruby:2.5-alpine

RUN apk update && apk --update add \
 build-base \
 nodejs \
 postgresql-dev \
 tzdata \
 imagemagick 

#RUN apt-get install -y build-essential

# yarn
ENV PATH=/root/.yarn/bin:$PATH
RUN apk add --virtual build-yarn curl && \
    touch ~/.bashrc && \
    curl -o- -L https://yarnpkg.com/install.sh | sh && \
    apk del build-yarn


RUN mkdir /app
WORKDIR /app

COPY Gemfile ./
RUN gem install …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker google-cloud-platform google-cloud-build

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

如何舍入到下一个1000值?

我想四舍五入到下一个1000值,总是四舍五入。

输入示例:

1 -> 1000
440 -> 1000
1001 -> 2000
14399 -> 15000
108 030 -> 109 000
Run Code Online (Sandbox Code Playgroud)

我只能找到一个与我无关的Float.ceil函数。

elixir

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

您可以根据函数调用的位置创建哪些不同类型的函数?

def atMost(actual: Int, limit: Int): Int = max(actual, limit)

假设我有一个像上面这样的函数atMost,我必须这样称呼它:

atMost(100, 25) // returns 25
Run Code Online (Sandbox Code Playgroud)

如果我想这样称呼它怎么办:

val a:Int = 100 atMost 25
Run Code Online (Sandbox Code Playgroud)

我将如何编写这样的函数?

此外,您还可以创建哪些其他风格的函数?像从左读,从右读可能吗?

scala

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

AES加密,示例代码

如何在GUID上执行AES加密?

在客户端计算机上,我们将存储GUID及其公钥,我们的内部服务器将具有私钥及其guid.

这是生成AES加密的所有必要输入吗?

encryption aes

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

在java中调用的语法样式是什么?似乎是在线做事

我正在看这个代码,它看起来像:

blah("....");
{
  call1(blah);

  call2();  
  {
      inner1("...");
      inner2("...");
  }

}
Run Code Online (Sandbox Code Playgroud)

我是java的新手,很想知道要搜索什么,这种风格看起来很有趣.

java

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

如何按字节大小比较文本的原始版本和压缩版本

我有一小段压缩成字符串的代码,然后将压缩后的版本读回原始版本。

如何测量压缩水平?即计数前后字符串的字节数?

    sentence := "A long time ago in a galaxy far, far away..."

    var buf bytes.Buffer
    zw := gzip.NewWriter(&buf)

    // Setting the Header fields is optional.
    zw.Name = "a-new-hope.txt"
    zw.Comment = "an epic space opera by George Lucas"
    zw.ModTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC)

    _, err := zw.Write([]byte(sentence))
    if err != nil {
        log.Fatal(err)
    }

    if err := zw.Close(); err != nil {
        log.Fatal(err)
    }
Run Code Online (Sandbox Code Playgroud)

我在去操场https://play.golang.org/p/9T2BOpCFmar有此代码

zip go

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

如何在异步方法中休眠或阻止执行。Thread.Sleep 不起作用

我有一个异步方法,其签名如下:

public static async void Run(..)
{
  //..
  var responseMessage = await client.PostAsync(..);
  // ..
   using (Stream stream = await responseMessage.Content.ReadAsStreamAsync())
   //...

   Thread.Sleep(5000);
}
Run Code Online (Sandbox Code Playgroud)

我可以在控制台应用程序中使用此方法,如下所示:

 static async Task Main(string[] args)
 {
     for(int x = 1; x < 100; x++)
     {
        Run(...);
     }  
 }
Run Code Online (Sandbox Code Playgroud)

由于速率限制,我想在我的 Run 方法中阻塞/休眠,我该怎么做?

我试过这个:

 public static async void Run(...)
    {
      // ...
       Thread.Sleep(5000);
    }
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何作用。有人可以解释为什么这不起作用以及正确的方法吗?

c# async-await

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

如何创建路径,例如:/ {project}/{module_name}/{sub-section}/{id}

我需要创建一个路由,看起来像这样:

 /{project}/{module_type}/{module_name}/{sub-section}/{id}
Run Code Online (Sandbox Code Playgroud)

所以在控制器/动作/ id映射方面,它将是:

controller = module_type
action = sub-section
id = id
Run Code Online (Sandbox Code Playgroud)

还有另外两个变量:

project而且module_name我需要.

我的路线会是什么样子:

我使用的是最新版本的MVC(MVC3)

c# asp.net-mvc asp.net-mvc-3

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

为什么我的SAX处理程序返回没有值的对象?我设置得很好

我正在为xml编写一个SAX解析器,它返回的对象没有我在事件中设置的值.

我的类结构是这样的:

public class ProductSAXHandler extends DefaultHandler {

  private Product product;

  public ProductSAXHandler() {
     product = new Product();
  }

  public Product ParseXmlFile(String xml) {

     SAXParserFactory spf = new ...
     XMLReader parser = ....


     parser.parse(xml);


     return product;
  }


  public void StartElement(....) {


    for(int ...) { // looping through attributes

      if(qName == "description" && name == "sku") {
        product.setSKU(value);
      }
    }

   }

}
Run Code Online (Sandbox Code Playgroud)

当我处于调试模式时,产品的值确实设置了,我可以看到产品的sku字段具有正确的值.

但由于某种原因,product返回的对象只是一个新的Product对象,在解析过程中没有设置任何值.

我在这做错了什么?一定是我不理解这些事件是如何被解雇的等等.

更新

很奇怪,在我的if语句中,set的属性值正确地指向了我的产品类的SKU字段,但是当我在ParseXMLFile中返回产品对象时,SKU字段为空.

我猜回调是在不同的时间开始,我怎么想正确回归呢?

java xml spring sax

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

这是在 Go 中做什么,看起来像演员表

有人可以解释以下语法在 Go 中的含义,特别是:

x.([]byte)
Run Code Online (Sandbox Code Playgroud)

我不确定这是什么意思,这是演员表吗?但是对于什么方法,因为它就在一个点之后?

func of(x interface{}) ByteView {
    if bytes, ok := x.([]byte); ok {
        return ByteView{b: bytes}
    }
    return ByteView{s: x.(string)}
}
Run Code Online (Sandbox Code Playgroud)

参考:https : //github.com/golang/groupcache/blob/master/byteview_test.go#L55

go

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

Xml节点文本在有滑稽字符时会导致问题

我在以下事件中设置xml元素内的字符:

 public void characters(char[] ch, int start, int length) {
        elementText = new String(ch, start, length);
    }
Run Code Online (Sandbox Code Playgroud)

其中elementText是一个String.

<client-key>#&lt;ABC::DEF::GHI:0x102548f78&gt;</client-key>
Run Code Online (Sandbox Code Playgroud)

我将此xml数据加载到java对象中,我的objects属性具有以下值:

 '\n        '
Run Code Online (Sandbox Code Playgroud)

现在,如果我更改<client-key>上面元素中的文本,它在我的对象属性中就可以了.

我需要以某种方式处理某些编码问题吗?

public void endElement(String uri, String localName, String qName) {

       if (qName.equals("client-key")) {
            client.setClientKey(elementText);
        }

}
Run Code Online (Sandbox Code Playgroud)

java xml sax xerces

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

对如何定义这个 map[string]struct 感到困惑

我了解 go 中的地图,但是这段代码片段让我感到困惑:

testCases := map[string]struct {
        pod      *api.Pod
        required []corev1.ResourceName
        err      string
    }{
        "init container resource missing": {
            pod: &api.Pod{
                Spec: api.PodSpec{
                    InitContainers: []api.Container{{
                        Resources: api.ResourceRequirements{
                            Requests: api.ResourceList{api.ResourceCPU: resource.MustParse("1m")},
                            Limits:   api.ResourceList{api.ResourceCPU: resource.MustParse("2m")},
                        },
                    }},
                },
            },
            required: []corev1.ResourceName{corev1.ResourceMemory},
            err:      `must specify memory`,
        },
        "container resource missing": {
            pod: &api.Pod{
                Spec: api.PodSpec{
                    Containers: []api.Container{{
                        Resources: api.ResourceRequirements{
                            Requests: api.ResourceList{api.ResourceCPU: resource.MustParse("1m")},
                            Limits:   api.ResourceList{api.ResourceCPU: resource.MustParse("2m")},
                        },
                    }},
                },
            },
            required: []corev1.ResourceName{corev1.ResourceMemory},
            err:      `must specify memory`,
        },
    }
Run Code Online (Sandbox Code Playgroud)

我是这样理解的:

testCases := map[string]struct
Run Code Online (Sandbox Code Playgroud)

但接下来的内容对我来说毫无意义。代码如何自行定义 api.Pod、corev1.ResourceName …

go

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