问题列表 - 第317943页

在 aws 代理集成 js lambda 中,是否有正确或标准的方法从 event.body 获取 html 表单值,而不仅仅是使用查询字符串?

有一个简单的 aws lambda(.mjs 文件)。有一个简单的 API 网关,使用代理集成。有一个简单的网络表单,

<form method="post" action="...">
<input type="text" name="team">
<input type="text" name="score">
<input type="submit" value="send">
Run Code Online (Sandbox Code Playgroud)

在您的 lambda 中,“事件”捕获从网关发送的整个信息块

export const handler = async (event, context) => {
   ...
Run Code Online (Sandbox Code Playgroud)

例如,您将在这里找到 queryStringParameters,

查询字符串参数:{示例:'值'},

标题在这里

headers: {
 accept: '*/*',
 ...
Run Code Online (Sandbox Code Playgroud)

等等。问题的实质内容被标记为“正文”

body: 'team=sec+west&score=42',
Run Code Online (Sandbox Code Playgroud)

实际例子!

在此输入图像描述

据我所知(似乎完全没有记录)html 表单参数作为 url 查询字符串样式的字符串传递。

因此,我总是这样简单地解析它们......

import querystring from 'querystring'
...
  if (event.body) {
    console.log('here is the "body" ...')
    console.log(event.body)
    let parsed = querystring.decode(event.body)
    team = parsed.team
Run Code Online (Sandbox Code Playgroud)

请注意,这个问题严格来说仅与使用代理集成网关有关。(当然,您不能使用代理集成,而是以您想要的任何方式映射它。)

另请注意,这是关于使用 …

amazon-web-services node.js aws-lambda aws-api-gateway

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

函数式编程中如何正确识别纯函数?

这个函数是纯函数还是非纯函数?

function greet(name) {
    return "Hi I'm " + name;
}
Run Code Online (Sandbox Code Playgroud)

纯函数的特性是它没有副作用,并且对于相同的输入总是返回相同的输出。

在这里,它会产生副作用(返回一个字符串)。字符串连接"Hi, I'm " + name引入了对外部状态的依赖。杂质是由“嗨,我是”构成的。

我们可以重写下面的代码以使其更加纯净。

//pure function
function pureGreet(greeting, name) {
    return greeting + name;
}

//console output
const hiGreeting     = "Hi, I'm ";

const actualGreeting = pureGreet(hiGreeting, "John");

console.log(actualGreeting);
Run Code Online (Sandbox Code Playgroud)

这个解释正确吗?

javascript functional-programming function

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

在循环中从用“with”定义的变量调用 lambda 函数

我有以下 lisp 代码

(defun sum (vec)
  "Summiert alle Elemente eines Vektors."
  (apply '+ vec))

(defun square (item)
  "Hilfsfunktion zum Quadrieren eines Elements."
  (* item item))

(defun calcVarianz (vec)
  "Berechnet die Varianz eines Vektors."
  (loop with len = (length vec)
        with mean = (/ (sum vec) len)
        with some_func = (lambda (x) (* x x))
        ; causes the error
        for item in vec
        collecting (square (- item mean)) into squared
        collecting (some_func item) into some_vector
        ; some_func cannot be found
        finally …
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

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

[VS MAC]更新到 .NET 8 我的所有毛伊岛项目都显示错误 NETSDK1139:无法识别目标平台标识符 ios

昨天,我跟随我的同事从 .NET 7.0 更新到 .NET 8.0,并使其立即运行。然而,对于我自己来说,在我的 VS Mac 和我的 VS Windows 上我都收到错误

错误 NETSDK1139:无法识别目标平台标识符 ios。

在此输入图像描述

(如果设置为 ios 作为部署目标,此错误也会出现在 android 版本中)

目标框架列为 net8.0-android;net8.0-ios;

在此输入图像描述

以下这些我都有了~

  • 卸载所有 .NET SDK 和工作负载以及 VS 2022
  • 仅重新安装 VS 2022 和 .NET 8(.NET 6 和 7 随 VS 自动安装)
  • 运行命令行语句,例如适用于 maui、maui-ios 和 maui-android 的 dotnet 工作负载恢复和安装。
  • 一个全新的毛伊岛项目
  • 我也尝试过让 maui-check 正常工作,但目前似乎完全崩溃了,出现了诸如“zsh:杀死了 maui-check”之类的错误。

还有一点值得注意的是~

  • 创建新的 maui 项目时,不能选择 .NET 8,只能选择 .NET 7 和 6
  • 自更新以来,我没有任何模拟器或设备显示为部署目标。

在此输入图像描述

  • 我的 .NET 核心和运行时均在 VS 2022 中列出,并在运行命令行检查系统上安装了哪些时列出。

在此输入图像描述

我真的很感谢任何人在这个主题上的知识,特别是任何以前遇到过并处理过这个问题的人。

.net c# visual-studio visual-studio-mac maui

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

如何使用 cypress 在 if 条件下传递断言,而不在断言失败时停止执行

我试图将断言传递给 if 条件,并在满足条件时执行一个逻辑,在条件失败时执行另一个逻辑。

由于测试因断言失败而失败,我无法达到预期的结果。

我尝试了以下...

if(cy.get("div").length \> 0) {
  cy.log("print this")
} else {
  cy.log("print this")
}
Run Code Online (Sandbox Code Playgroud)

或者

if(cy.get("div").should('have.length.greaterThan', 0) {
  cy.log("print this")
} else {
  cy.log("print this")
}
Run Code Online (Sandbox Code Playgroud)

javascript automation cypress cypress-conditional-testing

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

组合接口而不定义新接口

在 go 中,您可以将内联接口与函数签名结合起来吗?或者这是不可能的,唯一的选择是创建结合较小接口的第三个接口?

// _Interfaces_ are named collections of method
// signatures.

package main

import (
    "fmt"
    "math"
)

// Here's a basic interface for geometric shapes.
type geometry interface {
    area() float64
    perim() float64
}

type appearance interface {
    color() string
    texture() string
}



// For our example we'll implement this interface on
// `rect` and `circle` types.
type rect struct {
    width, height float64
}
type circle struct {
    radius float64
}

// To implement an interface in …
Run Code Online (Sandbox Code Playgroud)

syntax interface go

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

为什么我的表单值包含分号时为空?

该值为空?file=hello;。

有了?file=hello,就可以了。

我试过这个:

err := r.ParseForm()
fmt.Println(err)
fileName := r.FormValue("file")
Run Code Online (Sandbox Code Playgroud)

和

var err error
r.Form, err = url.ParseQuery(r.URL.String())
fmt.Println(err)
fileName = r.FormValue("file")
Run Code Online (Sandbox Code Playgroud)

但我得到

error:invalid semicolon separator in query
Run Code Online (Sandbox Code Playgroud)

我希望表格包含map[file:[hello;]],但我得到的map[]是PostForm和Form。

http go

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

为什么 =~ 只评估一次?

在此示例脚本中:

#perl 5.26.1 
$foo = "batcathat";

if ($foo =~ /cat/g) {
    print "yes\n";
} else {
    print "no\n";
}

if ($foo =~ /cat/g) {
    print "yes\n";
} else {
    print "no\n";
}
Run Code Online (Sandbox Code Playgroud)

这将打印:

yes
no
Run Code Online (Sandbox Code Playgroud)

预期输出是:

yes
yes
Run Code Online (Sandbox Code Playgroud)

我可以通过打印字符串来确认它没有通过运行正则表达式匹配而发生变异。

为什么 Perl 看起来只对正则表达式求值一次?我在谷歌或手册上找不到任何关于此的信息,而且这种行为对我来说并不直观。我希望每次评估正则表达式匹配时,它都会从新开始,并且不会记住有关上一场比赛的任何信息。

编辑:对于未来的上下文,在我发现一些如下所示的代码后提出了这个问题:

while ( $foo =~ /pattern/g) { $some_incrementing_var++ };
Run Code Online (Sandbox Code Playgroud)

我最初不明白这个 while 循环如何终止,因为乍一看它看起来像一个无限循环。

regex perl

6
推荐指数
2
解决办法
217
查看次数

无法在安全 FRP 中安装软件包

最近更新到 WearOS 4.0 后,我们目前面临 Samsung Galaxy Watch 4 (sm-r860) / Samsung Galaxy Watch 5 (sm-r900) / Samsung Galaxy Watch 6 (sm-r930) 的挑战性问题。我们的移动设备管理 (MDM) 系统和 Watch 应用程序与 WearOS 3.5 无缝协作,但现在在安装或更新 Watch 应用程序时遇到困难。

我们经常遇到的错误是:

无法在安全 FRP 中安装软件包

以下是问题的摘要以及我们迄今为止所做的尝试:

亚行命令:

使用亚行命令

adb shell settings put secure secure_frp_mode 0
Run Code Online (Sandbox Code Playgroud)

暂时解决了该问题,但这对我们来说不是一个可行的解决方案,因为它需要启用开发人员选项,这对于远程设备来说是不可行的。

设备策略管理器:

mDevicePolicyManager.setGlobalSetting(mAdminComponentName, Settings.Secure.SECURE_FRP_MODE, "0")
mDevicePolicyManager.setSecureSetting(mAdminComponentName, Settings.Secure.SECURE_FRP_MODE, "0")
Run Code Online (Sandbox Code Playgroud)

尝试使用mDevicePolicyManager更改设置,但遇到安全异常:

java.lang.SecurityException:权限被拒绝:设备所有者无法更新 secure_frp_mode。

恢复出厂设置保护策略:

我探索了FactoryResetProtectionPolicy API,但 getFactoryResetProtectionPolicy 和 isFactoryResetProtectionEnabled 方法都返回 NULL。使用 setFactoryResetProtectionPolicy 设置策略并FactoryResetProtectionPolicy.Builder().setFactoryResetProtectionEnabled(false).build()不能解决问题。

如何在我的 MDM 系统中解决此问题?

android kotlin wear-os samsung-galaxy-watch

6
推荐指数
0
解决办法
1357
查看次数

使用 BASH,“找到”匹配的文件,将它们全部删除,然后如果找到一个或多个,则再做一件事

我想定期搜索系统上是否存在与特定名称匹配的所有文件,删除它们,然后如果找到任何文件,则运行附加命令。

test=1
find /home/ -name 'file_name_to_find' -exec bash -c "rm \"{}\" && test=2" \;
echo $test
if [[${test} == '2']] ; then
    echo "it worked!"
fi
Run Code Online (Sandbox Code Playgroud)

我认为因为 exec 中的变量作用域是新的,所以脚本的其余部分无法访问 $test 的值。

我怎样才能达到预期的结果?

bash find

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