小编Dan*_*Dan的帖子

如何在Google App Engine Python 2.7运行时中模拟GNU C Library drem/remainder函数?

GNU C库具有该功能drem(别名remainder).

如何使用Google App Engine Python 2.7运行时支持的模块来模拟此功能?

GNU手册drem:

这些函数类似于fmod它们将内部商n舍入到最接近的整数而不是零到整数.例如,drem(6.5,2.3)返回-0.4,即6.5减6.9.

GNU手册fmod:

这些函数通过分母从分子的除法计算余数.具体来说,返回值是分子 - n*分母,其中n是分子除以分母的商,向零四舍五入为整数.因此,fmod(6.5,2.3)返回1.9,即6.5减去4.6.

阅读文档,以下Python代码应该有效:

def drem(x, y):
    n = round(x / y)
    return x - n * y
Run Code Online (Sandbox Code Playgroud)

但是使用Python drem(1.0, 2.0) == -1.0和C语言drem(1.0, 2.0) == 1.0.注意Python返回负数,C返回正数.这几乎可以肯定是圆形浮子的内部差异.据我所知,两个函数执行相同的其他参数2 * x != y.

如何使我的Python drem函数与其C等效函数相同?

c c++ python google-app-engine gnu

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

如何让cron与特定的应用程序引擎模块一起工作?

我有app.yaml如下:

application: myapp
module: mymodule
version: 1 
runtime: python27 
api_version: 1
threadsafe: true
...
Run Code Online (Sandbox Code Playgroud)

该应用程序还具有cron.yaml以下内容:

cron:
- description: increase a value every hour
  url: /test/inc
  schedule: every 60 minutes synchronized
Run Code Online (Sandbox Code Playgroud)

如何制作我的cron作业目标mymodule而不是default模块?

google-app-engine python-2.7

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

如何在不同的模块上执行App Engine Go SDK延迟包?

我有一个有几个模块的应用程序.一个dispatch.yaml文件的所有航线*/api/*从我的电话default模块到我的server模块.

发生以下请求链:

  1. http://myapp.appspot.com/api/webrequest - 注意我们在默认模块上.
  2. http://server-dot-myapp.appspot.com/api/webrequest - 使用延迟包重定向dispatch.yaml到服务器模块.appengine.delay.Call
  3. http://myapp.appspot.com/_ah/queue/go/delay - appengine.delay.Func调用默认模块而不是http://server-dot-myapp.appspot.com/_ah/queue/go/delay,就像我一样期待.

如何appengine.delay.Func使用http://server-dot-myapp.appspot.com/_ah/queue/go/delay进行执行?

请注意,如果我在不使用重定向的情况下直接调用http://server-dot-myapp.appspot.com/api/webrequestdispatch.yaml,则一切都按预期工作,并appengine.delay.Func通过http://server-dot-myapp.appspot.com/进行调用_ah/queue/go/delay.

google-app-engine go

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

为什么这个Go Lang代码永远不会带有中断标签?

我想弄清楚标签的断裂是如何起作用的.

我希望以下程序永远保持打印"在if语句中".这是因为该break here语句将代码执行带回到循环的开头,然后应该一次又一次地执行.

但是,此代码仅执行一次.我在这里错过了什么?

package main

import "fmt"

func main() {
here:
    for {
        fmt.Println("In if statement")
        break here

    }
    fmt.Println("At the bottom")
}
Run Code Online (Sandbox Code Playgroud)

执行结果:

In if statement
At the bottom

Program exited.
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/y9kH1YZezJ

go

5
推荐指数
2
解决办法
2508
查看次数

如何在接口切片上设置struct变量的值?

如何设置使用反射中testEntity.Val包含的内容[]interface{}{}

type testEntity struct {
    Val int
}

func main() {

    slice := []interface{}{testEntity{Val: 3}}
    sliceValue := reflect.ValueOf(slice)
    elemValue := sliceValue.Index(0)

    // Prints: can set false
    fmt.Println("can set", elemValue.Elem().Field(0).CanSet())

}
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/lxtmu9ydda

有人可以解释为什么它可以使用[]testEntity{}但不是[]interface{}{}如下所示:http://play.golang.org/p/HW5tXEUTlP

reflection go

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

如何使用“serde_json_core”在不分配的情况下反序列化数组?

如何{"arr":[1,2,3,4]}在不使用或类似方法执行堆分配的情况下反序列化 JSON serde_json_core?它当前执行一次分配。我看到serde_json_core使用了heapless板条箱,但我不确定如何让它们一起工作。

#[derive(Deserialize)]
struct MyStruct {
    arr: Vec<u64>,
}

fn main() {
    let j = r#"{"arr":[1,2,3,4]}"#;

    let r: serde_json_core::de::Result<(MyStruct, usize)> = serde_json_core::from_str(j);
    let (out, _) = r.unwrap();

    println!("First value: {}.",  out.arr[0]);
}
Run Code Online (Sandbox Code Playgroud)

我在用serde_json_core = 0.4.0

rust serde

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

为什么可以使用反射在切片中设置值?

根据反射定律,不可能按如下方式设置元素的值,您需要使用其地址.

这不起作用:

var x float64 = 3.4
v := reflect.ValueOf(x)
v.SetFloat(7.1) // Error: will panic.
Run Code Online (Sandbox Code Playgroud)

这将有效:

var x float64 = 3.4
p := reflect.ValueOf(&x) // Note: take the address of x.
p.Elem().SetFloat(7.1)
Run Code Online (Sandbox Code Playgroud)

那么为什么使用切片时以下工作呢?

floats := []float64{3}

v := reflect.ValueOf(floats)
e := v.Index(0)
e.SetFloat(6)
fmt.Println(floats) // prints [6]
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/BWLuq-3m85

当然v.Index(0)是从片中取值而不是地址floats,因此意味着它不应像第一个例子那样设置.

reflection go

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

如何使用curl从pod中访问Kubernetes API?

我在Google Kubernetes引擎上使用Kubernetes 1.8.6并且有一个运行Alpine的pod作为一部分StatefulSet.

我已使用登录到我的pod kubectl exec -it my-pod-0 -- /bin/sh,然后在提示符处运行以下命令:

$ CA_CERT=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
$ TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
$ NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
$ curl --cacert $CA_CERT -H "Authorization: Bearer $TOKEN" "https://kubernetes
/api/v1/namespaces/$NAMESPACE/services/"
Run Code Online (Sandbox Code Playgroud)

不幸的是,返回了403 Forbidden错误:

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "services is forbidden: User \"system:serviceaccount:default:default\" cannot list services in the namespace \"default\": Unknown user \"system:serviceaccount:default:default\"",
  "reason": "Forbidden",
  "details": {
    "kind": "services"
  },
  "code": 403
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

curl google-cloud-platform kubernetes google-kubernetes-engine

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

如何将 Rust Result&lt;T, E&gt; 的错误泛化为 Result&lt;T, Box&lt;dyn std::error::Error&gt;&gt;?

我正在尝试泛化函数Result返回的a reqwest::blocking::get。它返回 aResult<reqwest::blocking::Response, reqwest::Error>但调用它的函数返回 a Result<reqwest::blocking::Response, Box<dyn std::error::Error>

  • 为什么我的第一次尝试无法编译?
  • 进行这种转换的最惯用的方法是什么?

这是第一次尝试:

fn get_example_fails() -> Result<Response, Box<dyn Error>> {
        let result = blocking::get("http://example.com");
        result.map_err(|error| Box::new(error))
    }

Run Code Online (Sandbox Code Playgroud)

它有以下错误,我不知道如何修复,但觉得通过一些小的调整可能会更惯用 - 但我不确定要调整什么:

error[E0308]: mismatched types
   --> src/bittrex.rs:143:9
    |
141 |     fn get_example_fails() -> Result<Response, Box<dyn Error>> {
    |                               -------------------------------- expected `Result<reqwes
t::blocking::Response, Box<(dyn StdError + 'static)>>` because of return type
142 |         let result = blocking::get("http://example.com");
143 |         result.map_err(|error| Box::new(error))
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected trait object `dyn StdError`, 
found …
Run Code Online (Sandbox Code Playgroud)

rust reqwest rust-result

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

如何使用Python 2.7线程安全和webapp2使Appstats工作?

我的应用程序使用了线程安全版本的python 2.7,我想使用Appstats.

我目前让运行时容器实例化我的应用程序webapp2.WSGIApplication(),不幸的是我的模块都没有在Appstats中被选中.

但是,如果我按照这些http://code.google.com/appengine/docs/python/tools/appstats.html说明我应该run_wsgi_app()用来调用我的应用程序.根据我的理解,使用webapp2.WSGIApplication()了几个性能/应用程序缓存的好处.

我如何使用Appstats webapp2.WSGIApplication()并保持性能优势?

python google-app-engine

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