我正在使用 AngularJS 并尝试使用 Google 的 reCAPTCHA,我正在使用“显式呈现 reCAPTCHA 小部件”方法在我的网页上显示 reCAPTCHA,
HTML 代码 -
<script type="text/javascript">
var onloadCallback = function()
{
grecaptcha.render('loginCapcha', {
'sitekey' : 'someSiteKey',
'callback' : verifyCallback,
'theme':'dark'
});
};
var auth='';
var verifyCallback = function(response)
{
//storing the Google response in a Global js variable auth, to be used in the controller
auth = response;
var scope = angular.element(document.getElementById('loginCapcha')).scope();
scope.auth();
};
</script>
<div id="loginCapcha"></div>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够实现用户是人类还是机器人所需的功能,
根据我上面的代码,我的代码中有一个名为“verifyCallback”的回调函数,
它存储由 Google …
我有一个 dynamoDb 表,该表有几列,
我的主分区键是 - pageId (String),
我还有一个GSI - pageContainer(String)。
我正在使用 DynamoDBMapper 查询/扫描我的表,
我试图在 DynamoDb 中实现分页,
我了解 DynamoDB 中的分页适用于ExclusiveStartKey 和 LastEvaluatedKey。
ExclusiveStartKey 在第 1 页查询/扫描时将为 null,查询/扫描第 1 页后,DynamoDB 将返回 LastEvaluatedKey。
如果查询结果大于1Mb或者对查询/扫描设置了限制,
则将LastEvaluatedKey的值作为ExclusiveStartKey来查询/扫描第2页,以此类推。
我的操作需要在pageContainer 列上使用过滤器表达式 beginWith,
因为我试图获取以某个单词开头的数据,这就像与关系数据库进行比较的“Like”条件。我在表中有 10 个值,在 pageContainer 列中全部以“Test_test”开头。
这是我的代码 -
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration(DYNAMO_DB_ENDPOINT, DYNAMO_DB_REGION))
.build();
DynamoDBMapper mapper = new DynamoDBMapper(dynamoDBClient);
String beginWith = "Test_test";
HashMap<String, AttributeValue> filterMap = new HashMap<>();
filterMap.put(":beginWith", new AttributeValue().withS(beginWith)); …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 AWS Lambda 上实现一个简单的 Node Js 示例,
代码中有一个异步库的示例示例。
代码工作正常,但由于某种原因,Lambda 函数返回空响应。
我也是 Node 新手,请帮忙。
以下是代码 -
var async = require('async');
exports.handler = async (event, context, callback) => {
async.waterfall([
function(callback) {
console.log("ONE");
callback(null, 1);
},
function(resp, callback) {
console.log("TWO : ", resp);
callback(null, 2);
},
function(resp, callback){
console.log("THREE : ", resp);
callback(null, "Done");
}
],
function(err, resp) {
let response = {};
if (err) {
console.log("Error",err);
response = {
statusCode: 500,
body: JSON.stringify('Error!'),
};
return response;
} else {
console.log("Success",resp);
response …Run Code Online (Sandbox Code Playgroud) 我有一些 ElasticSearch 文档,其中包含一个数组字段。
我希望能够搜索整个索引
来查找首先包含数组字段的文档,
如果包含,则找到包含要搜索的值的文档。
以下是我的数据 -
{
"took" : 633,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 4,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "demo",
"_type" : "1",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"name" : "anon",
"nick_name" : "an",
"hobbies" : [
"reading",
"writing"
]
}
}, …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个私有类型的 AWS API 网关,
这需要一个资源策略,因为我可以从 AWS 控制台创建网关,
我想知道如何通过 CF 添加资源策略模板 -
以下是资源策略的 swagger 定义 -
x-amazon-apigateway-policy:
Version: "2012-10-17"
Statement:
- Effect: "Deny"
Principal: "*"
Action: "execute-api:Invoke"
Resource: "arn:aws:execute-api:us-east-1:awsAccountId:xxxx/*/*/*"
Condition:
StringNotEquals:
aws:sourceVpc: "vpc-xxxxx"
- Effect: "Allow"
Principal: "*"
Action: "execute-api:Invoke"
Resource: "arn:aws:execute-api:us-east-1:xxxx:xxxx/*/*/*"
Run Code Online (Sandbox Code Playgroud)
我如何在 CF 模板中配置它 -
AWSTemplateFormatVersion: 2010-09-09
Transform: 'AWS::Serverless-2016-10-31'
Description: G2G Api Template Stack
Resources:
g2gPrivate:
Type: 'AWS::ApiGateway::RestApi'
Properties:
Name: 'private-gw'
EndpointConfiguration:
Types:
- PRIVATE
Run Code Online (Sandbox Code Playgroud)
参考 -
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html
我为 LinkedList 编写了一个简单的代码,将数据添加到其中并对其进行迭代,
我导入了 LinkedList 和 Iterator 所需的包,代码中没有错误,
我收到以下异常 -
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
at java.util.LinkedList$ListItr.next(Unknown Source)
at collectionFramework.Demo.displayList(LinkedListDemo.java:38)
at collectionFramework.LinkedListDemo.main(LinkedListDemo.java:13)
Run Code Online (Sandbox Code Playgroud)
这是我的代码 -
package collectionFramework;
import java.util.Iterator;
import java.util.LinkedList;
public class LinkedListDemo{
public static void main(String[] args) {
Demo obj = new Demo();
obj.addToList();
obj.displayList();
}
}
class Demo{
LinkedList<String> al;
Iterator<String> itr;
Demo(){
al = new LinkedList<String>();
itr = al.iterator();
}
void addToList(){
al.add("Aniruddha");
al.add("Hitesh");
al.add("Rahul");
al.add("Kshitij");
}
void displayList(){
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下Systemd服务脚本来运行Spring启动应用程序 -
[Unit]
Description=Upstart for Security
After=network.target network-online.target
Wants=network-online.target
[Service]
User=root
WorkingDirectory=/home/ubuntu/security
ExecStart=/usr/bin/java -classpath java -Dspring.profiles.active=stage -jar /home/ubuntu/security/security-0.0.1-SNAPSHOT.jar > /home/ubuntu/security/security.log 2>&1
SuccessExitStatus=143
Restart=on-failure
RestartSec=120s
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我将脚本保存在以下位置 -
/etc/systemd/system
Run Code Online (Sandbox Code Playgroud)
我运行以下命令来运行systemd服务脚本 -
1. sudo systemctl enable security.service -or- sudo systemctl daemon-reload
2. sudo systemctl status security.service
3. sudo systemctl start security.service
Run Code Online (Sandbox Code Playgroud)
要检查日志,我发出命令 -
journalctl -u security.service
Run Code Online (Sandbox Code Playgroud)
并用于SHIFT+G滚动到eof
我可以通过上面的步骤检查日志,但是我希望它们位于/ home/ubuntu/security中的外部文件中,作为security.log
如何实现它?我在系统脚本中做了哪些更改?
我有一个对象数组
,我想从中有条件地创建另一个对象数组。
例如。——
var devs = [
{
name: 'A',
age: 26,
tech: ['JavaScript','React'],
addr:{
country:'India',
city:'Pune'
}
},
{
name: 'B',
age: 25,
tech: ['Node','AngularJs'],
addr:{
country:'USA',
city:'NY'
}
},
{
name: 'C',
age: 27,
tech: ['React','AWS'],
addr:{
country:'UK',
city:'London'
}
}
]
Run Code Online (Sandbox Code Playgroud)
我想要一个在他们的“技术”字段数组中有“反应”的对象数组,
并且只想显示他们的名称和技术,
以下是预期的输出 -
[
{
name: 'A',
tech: ['JavaScript','React']
},
{
name: 'C',
tech: ['Java','React'],
}
]
Run Code Online (Sandbox Code Playgroud)
我知道可以使用条件过滤方法,
但是如何从对象数组中删除不必要的字段?
这里可以使用map方法吗?如果是这样,我该如何实施?
以下是我的半熟代码 -
var filteredDevs = devs.filter(temp => temp.tech.includes('React'));
Run Code Online (Sandbox Code Playgroud) 我正在使用 ElasticSearch 7.3 来查询一些文档,
我只想在查询响应中返回每个文档的特定字段,
我发现_source可以使用它来实现这一点,
我可以使用这个查询从 Kibana 中做到这一点 -
GET /test/_search?_source=id
{
"query": {
"match_all": {}
}
}
Run Code Online (Sandbox Code Playgroud)
返回我正确的数据 -
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 6,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "test",
"_type" : "_doc",
"_id" : "3",
"_score" : 1.0,
"_source" : …Run Code Online (Sandbox Code Playgroud) 场景 -
我创建 -
1. 一个 S3 存储桶
2. 两个 KMS 密钥3.在 S3 存储桶上
启用,使用 KMS 密钥 #1
4. 在存储桶中上传文件
5. 检查对象详细信息,它显示和
6。更改了,现在选择了
7。旧对象仍然显示Default encryptionServer-side encryption: AWS-KMSKMS key ID: ARN of KMS key #1AWS S3 Default encryptionKMS key #2KMS key ID: ARN of KMS key #1
问题 -
1. KMS 密钥轮换可以在 1 年前完成吗?
2.我执行的操作是否是轮换 AWS KMS 密钥的正确方法?如果不是,正确的方法是什么?
3. key 的较旧对象被删除后会发生什么情况?
javascript ×3
java ×2
node.js ×2
amazon-kms ×1
amazon-s3 ×1
angularjs ×1
arrays ×1
cors ×1
iterator ×1
linked-list ×1
preflight ×1
recaptcha ×1
systemd ×1
ubuntu ×1
ubuntu-16.04 ×1