小编Jor*_*tao的帖子

OpenGL中的多边形

有人可以向我解释为什么下面的代码没有绘制任何东西,但是如果我使用GL_LINE_LOOP它会做一个闭环吗?

glBegin(GL_POLYGON);

for(int i = 0; i <= Ncircle; i++) { 
    tempAngle = angle + i*(2*M_PI - 2*angle)/Ncircle;
    glVertex3f(r*cos(tempAngle), r*sin(tempAngle), 0.0);
}
glVertex3f(l, 0, 0.0);
//glVertex3f(r*cos(angle), r*sin(angle), 0.0);

glEnd();
Run Code Online (Sandbox Code Playgroud)

(这基本上是一个半径为r的圆和Θ在[-angle,angle]中,其上有一个高度为l的三角形,使得离开圆的角度是三角形的角度:

结果使用GL_LINE_LOOP

opengl

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

如何验证 Microsoft jwt id_token?

我正在使用从 Microsoft 到客户端的 jwt 令牌来验证从它到 Web API(服务器)的请求。我可以控制客户端(js)和服务器(Python)的代码。

在客户端,我使用以下请求来获取令牌(用户通过租户上的密码/2FA 声明):

`https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/authorize
            ?response_type=id_token+token
            &client_id=${CLIENT_ID}
            &redirect_uri=${redirect_uri}
            &scope=openid+email+profile
            &state=${guid()}
            &nonce=${guid()}`
Run Code Online (Sandbox Code Playgroud)

这里guid有一个唯一的值,TENANT_ID是租户和CLIENT_ID客户。

获得此令牌后,我将其作为授权标头发送,如下所示:

init = {
    headers: {
       'Authorization': `Bearer ${token}`,
    }
}

return fetch(url, init).then(response => {
    return response.json()
})
Run Code Online (Sandbox Code Playgroud)

在服务器上,我然后检索令牌并验证它:

if 'Authorization' in request.headers and request.headers['Authorization'].startswith('Bearer '):
    token = request.headers['Authorization'][len('Bearer '):]
    from authlib.jose import jwt
    claims = jwt.decode(token, jwk)
Run Code Online (Sandbox Code Playgroud)

jwk的内容在哪里https://login.microsoftonline.com/{TENANT_ID}/discovery/v2.0/keys

整个流程一直工作到验证失败,并出现以下错误:

authlib.jose.errors.InvalidHeaderParameterName: invalid_header_parameter_name: Invalid Header Parameter Names: nonce
Run Code Online (Sandbox Code Playgroud)

这表明令牌的标头包含一个密钥nonce(我验证了它)。

查看 Microsoft 对此的文档, …

jwt jose microsoft-identity-platform

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

utf8的字节片也是utf8吗?

给定一个有效 utf8 的字节片,该片的任何子片是否也有效utf8

换句话说,鉴于b1: [u8]这是有效的utf8,我可以假设

b2 = b1[i..j]任何 utf8 都有效吗i,j : i<j

如果不是,反例是什么?

utf-8

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

等高线的等高线图

我有3个数据集,X,Y,Z分别是我的轴和我的数据.它们被很好地定义,即len(X)= len(Y)= len(Z)= len(Z [i])= N,范围为(0,N).

我想做一个类似于contourf图(我已经做过),但是使用离散轴,比如"轮廓正方形",其中每个正方形(x,y)都有一个由Z值给出的颜色(这是一个浮动值).

到目前为止,我正在使用contourf(X,Y,Z),但它会进行一些我不想要的插值,我需要一个更好的方形可视化.

有谁知道怎么做?

谢谢

python plot matplotlib

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

AWS EMR 中的最小 PySpark 无法创建火花上下文

我正在尝试在新的 AWS EMR Spark 集群中使用 PySpark,但失败并出现以下错误:

py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig
    at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:55)
    at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.createTimelineClient(YarnClientImpl.java:181)
    at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:168)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:151)
    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:57)
    at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:164)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:500)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:247)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:238)
    at py4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)
    at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)
    at py4j.GatewayConnection.run(GatewayConnection.java:214)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.sun.jersey.api.client.config.ClientConfig
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 20 more
Run Code Online (Sandbox Code Playgroud)

我在做什么:

  1. 在 EMR 控制台上,创建一个新集群(emr-5.12.1使用 Spark m4.large …

amazon-emr apache-spark pyspark

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