小编Sar*_*tts的帖子

在Node.js中扩展类的简单方法

我正在将一个简单的Javascript类移动到Node.js. 在普通的Javascript中我使用:

class BlockMosaicStreamer extends MosaicStreamer{
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法在Node.js中找到一种简单的方法来实现它.在我的节点项目中BlockMosaicStreamer.js我有:

'use strict'; 
function BlockMosaicStreamer(){
} 
Run Code Online (Sandbox Code Playgroud)

MosaicStreamer该如何扩展./MosaicStreamer.js

'use strict'; 
function MosaicStreamer(){
} 
Run Code Online (Sandbox Code Playgroud)

javascript oop extending node.js

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

修复正则表达式中的灾难性回溯

问题

我使用以下正则表达式来检查有效的文件路径:

^(?:[a-zA-Z]\:\\|\\\\)([^\\\/\:\*\?\<\>\"\|]+(\\){0,1})+$
Run Code Online (Sandbox Code Playgroud)

使用测试字符串V:\Sample Names\Libraries\DeveloperLib\DeveloperComDlgs\res被认为是有效的。我什至可以毫无问题地将无效字符添加到字符串的开头。但是,当我在字符串末尾添加无效字符时,网页会因灾难性的回溯而冻结。

是什么导致了这个正则表达式字符串出现这种情况?


分解正则表达式

完整字符串: ^(?:[a-zA-Z]\:\\|\\\\)([^\\\/\:\*\?\<\>\"\|]+(\\){0,1})+$

第一组: (?:[a-zA-Z]\:\\|\\\\)

  • 检查任一
    • 大写或小写字母,后跟冒号和反斜杠
    • 双反斜杠

第二组: ([^\\\/\:\*\?\<\>\"\|]+(\\){0,1})

  • 第一部分: [^\\\/\:\*\?\<\>\"\|]+
    • 确保没有非法字符 (\ / : * ? < > " | )
  • 第二部分: (\\){0,1}
    • 根据需要多次检查各部分之间的反斜杠

我认为这可能是{0, 1}导致问题的原因,因为这允许回溯,但我不确定。有什么想法吗?

regex backtracking

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

如何模拟 AWS SDK for Go 调用

我正在为使用 AWS SDK for Go 从 AWS Secrets Manager 获取密钥的函数编写单元测试:

main.go

//Helper function to get secret from AWS Secret Manager
func getAWSSecrets(svc secretsmanageriface.SecretsManagerAPI) (secretMap map[string]string, err error) {
    //Get secret config values
    req, resp := svc.GetSecretValueRequest(&secretsmanager.GetSecretValueInput{
        SecretId: aws.String("my/secret/string"),
    })

    err = req.Send()
    if err != nil {
        return nil, err
    }

 ...
}
Run Code Online (Sandbox Code Playgroud)

为了对此进行测试,我需要创建一个模拟 AWS Secret Manager 客户端。我已经建立了如何工作的基本框架:

main_test.go

type MockSecretsManagerClient struct {
  secretsmanageriface.SecretsManagerAPI
} 

func (m *MockSecretsManagerClient) GetSecretValueRequest(input *secretsmanager.GetSecretValueInput) (req *request.Request, resp *secretsmanager.GetSecretValueOutput){
  // Confused on how to mock …
Run Code Online (Sandbox Code Playgroud)

unit-testing mocking request go amazon-web-services

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

Capistrano:puma:更新 gem 版本后无法识别

我最近将 Ruby on Rails 应用程序从 6.0 升级到 6.1。为此,我决定升级 capistrano 和 puma。我正在使用以下宝石:

  capistrano-bundler (2.0.1)
  capistrano-rails (1.6.1)
  capistrano-rvm (0.1.2)
  capistrano3-puma (5.0.2) (was 3.1.1)
  puma (5.1.1) (was 3.10.0)
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试运行 capistrano 任务时,我得到以下信息

** Invoke load:defaults (first_time)
** Execute load:defaults
cap aborted!
Don't know how to build task 'start' (See the list of available tasks with `cap --tasks`)
Run Code Online (Sandbox Code Playgroud)

甚至cap --tasks产生相同的消息。

我已经尝试cap staging puma:restart并得到了Don't know how to build task 'puma:start'

这是我的 capfile:

# Load DSL and Setup Up Stages
require …
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails puma capistrano3

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

安装 bcrypt-ruby gem 时无法构建 gem 本机扩展

运行时:gem install bcrypt-ruby -v '3.0.1'我收到以下错误:

Building native extensions. This could take a while...
ERROR:  Error installing bcrypt-ruby:
    ERROR: Failed to build gem native extension.

    current directory: /U/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bcrypt-ruby-3.0.1/ext/mri
/U/.rbenv/versions/2.7.2/bin/ruby -I /U/.rbenv/versions/2.7.2/lib/ruby/2.7.0 -r ./siteconf20210824-80693-sdyma7.rb extconf.rb
creating Makefile

current directory: /U/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bcrypt-ruby-3.0.1/ext/mri
make "DESTDIR=" clean

current directory: /U/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bcrypt-ruby-3.0.1/ext/mri
make "DESTDIR="
compiling bcrypt_ext.c
bcrypt_ext.c:27:19: error: implicit declaration of function 'ruby_bcrypt' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    return (VALUE)ruby_bcrypt(args->output, args->key, args->salt);
                  ^
bcrypt_ext.c:27:19: note: did you mean 'ruby_script'?
/U/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2747:6: note: 'ruby_script' declared here
void ruby_script(const …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails bcrypt

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

PHP 中是否有双向哈希算法?

免责声明:我知道散列不应该是可逆的。

我见过很多人问是否有办法“取消散列”已经散列的文本。但是,我没有看到直接的答案。大多数答案都指出 MD5 和 SHA-1 是单向散列算法,因此是不可逆的。这很好,但它引出了一个问题,所有散列算法都是单向且不可逆的吗?

algorithm hash

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

使用 GSL 进行矩阵乘法

我有两个 GSL 矩阵,AT并且A

gsl_matrix *A;    /* coefficient matrix A     */
gsl_matrix *AT;   /* coefficient matrix A'    */

AT   = gsl_matrix_alloc(nc, nr); /* Data matrix */
A    = gsl_matrix_alloc(nr, nc); /* Data matrix */

/* Initialize A */
for(i = 0; i < nr; i++){
  gsl_matrix_set(A, i, 0, 1.0); 
}

for(i = 0; i < nr; i++){
  for(j = 1; j < nc; j++){
    gsl_matrix_set(A, i, j, 1.0 / (double)(i + j + 1)); 
  }
}

gsl_matrix_transpose_memcpy(AT, …
Run Code Online (Sandbox Code Playgroud)

c matrix blas matrix-multiplication gsl

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

使用 AWS CLI 调用 Rekognition

我在 Windows 上安装了 AWS CLI 并且正在使用 Windows 命令提示符。

我正在尝试使用 Rekognition,但似乎无法使用任何命令。我得到的最接近的是:

aws rekognition detect-faces --image S3Object=\{Bucket=innovation-bucket,Name=image.jpg,Version=1\} --attributes "ALL" --region us-east-1
Run Code Online (Sandbox Code Playgroud)

这导致:

错误解析参数“--image”:预期:“,”,接收:“}”输入:S3Object={Bucket=innovation-bucket,Name=image.jpg,Version=1}

为什么它需要一个逗号?

编辑:

当我尝试文档中的格式时,我也会收到错误消息:

aws rekognition detect-faces --image '{"S3Object":{"Bucket":"innovation-bucket","Name":"image.jpg"}}' --attributes "ALL" --region us-east-1
Run Code Online (Sandbox Code Playgroud)

解析参数'--image'时出错:预期:'=',收到'''输入:'{"S3Object":{"Bucket":"innovation-bucket","Name":"image.jpg??" }}'

amazon-s3 amazon-web-services aws-cli amazon-rekognition

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

漫画的正则表达式没有空格

我正在尝试创建一个表达式来抓取所有没有空格的逗号和所有冒号.

我试过了(,([^\s]))|([:]),这很接近,但似乎也抓住了没有空格的逗号之后的角色.

我也试过了(,\s+)|([:]),它会抓住所有冒号和所有逗号,后面还有空格和空格.

我想要选择的内容包含在以下**中:

您好,我的名字是*:*tibsar*,*好吗?

有任何想法吗?

regex

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

如何在Ruby中将符号与字符串匹配

我有一个包含字符串和符号的数组

在我的函数中,我得到一个字符串来检查数组是否包含该字符串.

array = ["day",:night]

def check(name)
    if array.include? name or array.include? name.to_sym
         return true
    else
         return false
   end
end
Run Code Online (Sandbox Code Playgroud)

如果输入是"day",则返回true.如果输入为"night",则返回false.我希望true在"夜晚"的情况下返回,因为我转换它以检查是否存在具有相同名称的符号.

如何使这个函数工作,以便它将symbol(:night)与string("night")进行比较并返回true

ruby

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