小编juz*_*ode的帖子

在aws sdk版本3中指定s3客户端的签名版本

aws-sdk v2JavaScript 中,我们使用以下方法实例化 s3 客户端:

var s3  = new AWS.S3({
          accessKeyId: 'YOUR-ACCESSKEYID' ,
          secretAccessKey: 'YOUR-SECRETACCESSKEY' ,
          s3ForcePathStyle: true,
          signatureVersion: 'v4'
});  
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到signatureVersion能够被指定。

v3您实例化客户端时使用:

import { S3Client } from '@aws-sdk/client-s3';

credentials = {  
    accessKeyId: <ACCESS_KEY>,
    secretAccessKey: <SECRET_ACCESS_KEY>
  }
const client = new S3Client({
        region: 'us-east-1',
        credentials: credentials,
        forcePathStyle: true,
    })  
Run Code Online (Sandbox Code Playgroud)

该文档对于如何执行此操作不是很清楚(并且没有示例)。我如何signatureVersion在 sdk 版本(v3)中为客户端指定?

amazon-s3 amazon-web-services node.js aws-sdk-js

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

GLM 如何处理翻译

OpenGL 数学库 (GLM) 使用以下算法来计算平移矩阵:

//taken from source code
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v)
{
    mat<4, 4, T, Q> Result(m);
    Result[3] = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3];
    return Result;
}
Run Code Online (Sandbox Code Playgroud)

(这里向量v是 3 维向量,矩阵 m 是 4X4 矩阵,因为我们使用齐次坐标,向量v也是 4 维)。

以下来自线性代数理论:

m具有条目:

在此输入图像描述

现在,假设矩阵m给出了一些线性变换,并且也是一个变换矩阵,如果我没记错的话,我们想分别在 X、Y 和 Z 维度上添加 X、Y 和 Z 的平移,我们这样做的方法是形成一个复合矩阵: …

c++ opengl glsl matrix glm-math

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

如何在开发服务器上动态插入控制台日志

当您在 localhost 上开发时,您可以完全访问终端,您可以在任何您想要的地方登录。但是,在一个项目中,我致力于(并且是整个团队协作的新手)他们使用称为weavescope查看开发人员在编码时创建的日志的东西。

现在这和本地日志有什么区别,每次你在代码中创建一个更改,你必须发送一个拉取请求,他们批准它,合并它,部署它,我们最终在日志中看到它。现在,有时本地和部署的东西的状态不匹配,这真的让我们想要动态登录到开发服务器,而不必再次经历所有这些循环。是否有任何解决方案可以帮助我们插入一些快速的日志语句,而无需经历常规的 PR、合并、部署周期?

编辑:我认为从下面的讨论中,我正在寻找的工具或多或少是一个日志记录代码注入工具。一种工具,可以跟踪我插入到生产代码中的日志,并在执行命令时打开/关闭它们。

merge development-environment localhost production-environment pull-request

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

向下迁移您最新的迁移

首先是理论背景:

如果我创建 3 个新的迁移文件,这些文件会在 I 之后更改 3 个表migrate up,那么应该migrate down恢复受最新迁移影响的所有 3 个表,还是只恢复最后一个受影响的表?
我猜前者应该发生

问题:

typeormtypeorm migrate:revert,它只影响最新迁移影响的最后一个表,所以我想知道我的猜测是否正确。一般来说,通常的行为是什么migrate down(无论使用什么 ORM)。

这是预期的行为还是有可能的解决方案来typeorm跟踪最新的迁移更改以恢复最新迁移中的所有更改?

我在他们的文档中找到了这一点:

如果由于某种原因想要恢复更改,可以运行: typeorm migration:revert 该命令将在最近执行的迁移中向下执行。如果需要恢复多个迁移,则必须多次调用此命令。

但是,如果我的期望是真的,那么一个 orm 应该已经拥有这样做的工具。

migration typeorm

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

VBO 如何连接到 VAO

VAO 是顶点数组对象,VBO 是顶点缓冲区对象。创建和绑定/解除绑定 VAO 和 VBO 的调用具有如下通用格式:

GLuint VAO, VBO;
glGenVertexArrays(1, &VAO);
    glBindVertexArray(VAO);

        glGenBuffers(1, &VBO);
        glBindBuffer(GL_ARRAY_BUFFER, VBO);
            glBufferData(GL_ARRAY_BUFFER, 
                            sizeof(GLfloat)* 9,
                            vertices,
                            GL_STATIC_DRAW);
            glVertexAttribPointer(0,
                    3, GL_FLOAT, GL_FALSE,
                    0, 0);
            glEnableVertexAttribArray(0);

        glBindBuffer(GL_ARRAY_BUFFER, 0);
    glBindVertexArray(0);    
Run Code Online (Sandbox Code Playgroud)

我在互联网上学习了一些教程,他们说 VBO 绑定到 VAO,但是在上面的代码中,我不明白 VBO 和 VAO 之间是如何建立“连接”或“绑定”的? 我的意思是我们怎么知道哪个 VBO 绑定到哪个 VAO 以及如果一个 VBO 绑定到多个 VAO 呢?

所以,基本问题是:VBO 绑定到 VAO 是什么意思,我们如何知道哪个 VBO 绑定到哪个 VAO 以及如何建立这种绑定?

opengl vertex-array-object vertex-buffer-objects

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

phong 和 goraud 着色 - 需要了解片段如何着色

Phong 着色和 Goraud 着色的唯一实际区别是,如果片段颜色的计算在顶点着色器中完成,则为 Goraud,否则为 phong。我有一些顶点着色器和片段着色器代码如下:

//vertexShader.vs
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aNormal;

out vec3 FragPos;
out vec3 Normal;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

void main()
{
    FragPos = vec3(model * vec4(aPos, 1.0));
    Normal = mat3(transpose(inverse(model))) * aNormal;  

    gl_Position = projection * view * vec4(FragPos, 1.0);
}  


//FragmentShader.fs
#version 330 core
out vec4 FragColor;

in vec3 Normal;  
in vec3 FragPos;  

uniform vec3 lightPos; 
uniform vec3 …
Run Code Online (Sandbox Code Playgroud)

opengl shader

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

joi.label ,这种 joi 模式验证方法有什么作用

我刚刚遇到了我必须处理的这行代码:

Joi.array().label('Emails').items(Joi.string()).required()

我特别不明白.label('Emails')在做什么,所以,我点击了文档:

覆盖错误消息中的键名称。

name - the name of the key.
Run Code Online (Sandbox Code Playgroud)

const schema = {first_name: Joi.string().label('名字') };

这对我来说特别没有任何意义。因为,是First Name可以Emails传递的特定参数吗?它最重要的是什么?我们还可以传递哪些其他参数等等。这个方法具体是做什么的?

joi

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

为一对一关系创建主键

背景:

由于任何唯一实体数据都是表的候选键,因此受约束的任何数据列unique都是候选键。将外键约束为唯一键和主键的语法是什么?例如我有实体:

@Entity()
export class A extends BaseEntity {
  PrimaryColumn()
  id: number;
}  
  
@Entity()
export class B extends BaseEntity() {
  @OneToOne(() => A) <---- need to set this foreign key unique and the primary key of B
  @JoinColumn()
  a: A;
}  
  
Run Code Online (Sandbox Code Playgroud)

如上所述,我希望外键是唯一的并且主键是 B。

到目前为止我尝试过的:

我以为我已经找到了解决方案,但这种语法似乎已经过时了;RelationOptions不包含以下primary属性:

@OneToOne( type => A, {primary: true})
@JoinColumn()
a: A
Run Code Online (Sandbox Code Playgroud)

另外,似乎确实可以使用 @Unique 装饰器将列标记为唯一,但是,我想知道在这种情况下是否有更好的方法来使列唯一。

nest typeorm

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

在 kivy 中解除函数与按钮的绑定

考虑以下代码:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button


class First(BoxLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        x = Button(text='somebutton')
        x.bind(on_press=lambda*_: print('First press'))
        x.bind(on_press=lambda*_: print('Second press'))

        self.add_widget(x)

    def something(self, *somethingishereignored):
        print("I have something")

class FChooser(App):
    def build(self):
        return First()

if __name__ == '__main__':
    FChooser().run()
Run Code Online (Sandbox Code Playgroud)

这段代码的行为是,在我按下“somebutton”按钮后,它会打印:

Second press
First press
Run Code Online (Sandbox Code Playgroud)

所以,我用谷歌搜索发现我应该使用 unbind() 函数,然后我添加了这个:

Second press
First press
Run Code Online (Sandbox Code Playgroud)

但输出没有改变。它仍然是相同的输出。如何释放绑定?这只是一个最小的示例,我打算使用此功能来动态地将函数绑定和取消绑定到按钮,以向同一按钮添加各种功能。

button unbind kivy

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

android studio 3.4 中的 R.java 文件

我只是想学习 android 开发,并且正在使用最新版本的 android studio,但是,我在R.java文件夹树视图中找不到该文件:

在此处输入图片说明

我还清理并重建了我的项目,但仍然看不到.../source/R文件夹和R.java文件。

android r.java-file android-studio

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