小编Sun*_*arc的帖子

微数据,RDFa或JSON-LD适当或最佳用途?

我一直想知道哪种格式"最好"?Schema.org,Microdata和RDFa实施起来有点痛苦.它们可能会破坏验证并需要付出相当大的努力来放入文档.

对我而言,JSON-LD最终是一种更好地实现结构化数据的方法.但它有效吗?它有多大程度的支持(至少谷歌)?

rdfa microdata schema.org json-ld

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

MongoDB:无法规范化查询:BadValue Projection不能混合使用包含和排除

我是使用CakePHP在MongoDB中更新的.

当我写下面的查询时,它会执行得很好.

db.testData.find()
{
    "_id" : ObjectId("53d1f79db8173a625961ff3d"),
    "name" : "sadikhasan",
    "created" : ISODate("2014-07-25T06:22:21.701Z")
}
Run Code Online (Sandbox Code Playgroud)

当我运行以下查询只获取名称但它显示错误时

db.testData.find({},{name:1, created:0})
error: {
    "$err" : "Can't canonicalize query: BadValue Projection cannot 
              have a mix of inclusion and exclusion.",
    "code" : 17287
}
Run Code Online (Sandbox Code Playgroud)

当我运行以下查询以获取只有名称时,name它执行良好.

db.testData.find({},{name:1, _id:0})
{ "name" : "sadikhasan" }
Run Code Online (Sandbox Code Playgroud)

我的qeustion是我name在投影列表中写错误的原因.提前感谢您的帮助.

mongodb mongodb-query

33
推荐指数
2
解决办法
3万
查看次数

如何在Amazon EC2实例上增加ulimit?

SSH进入运行Amazon Linux AMI的EC2实例后,我试过:

ulimit -n 20000
Run Code Online (Sandbox Code Playgroud)

...并收到以下错误:

-bash: ulimit: open files: cannot modify limit: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

但是,shell允许我减少此数字,仅适用于当前会话.

无论如何都要增加 EC2实例的ulimit (永久)

amazon-ec2 ulimit

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

golang:如何有效地确定文件中的行数?

在Golang,我正在寻找一种有效的方法来确定文件的行数.

当然,我总是可以循环遍历整个文件,但似乎效率不高.

file, _ := os.Open("/path/to/filename")
fileScanner := bufio.NewScanner(file)
lineCount := 0
for fileScanner.Scan() {
    lineCount++
}
fmt.Println("number of lines:", lineCount)
Run Code Online (Sandbox Code Playgroud)

是否有更好(更快,更便宜)的方式来查找文件有多少行?

go

30
推荐指数
2
解决办法
2万
查看次数

AWS :: S3重命名文件夹

我看到有一个,AWS::S3::S3Object.rename但我不能用文件夹做:

AWS::S3::Base.establish_connection!(
 :access_key_id     => APP_CONFIG[:s3_access_key_id],
 :secret_access_key => APP_CONFIG[:s3_secret_access_key]
)
AWS::S3::S3Object.rename(
 "assets/old_name_folder",
 "assets/new_name_folder",
 APP_CONFIG[:s3_bucket]
)
Run Code Online (Sandbox Code Playgroud)

old_name_folder包含文件和文件夹,我想改名尊重这一点.

我正在获得: AWS::S3::NoSuchKey (The specified key does not exist.)

我不知道我做错了什么,或者只是不能重命名s3文件夹.

ruby amazon-s3

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

同时执行多个shell脚本

我想做以下事情:

  • 同时执行多个shell脚本(此处为2个脚本).

  • 等到两个脚本完成

  • 转储每个脚本的返回值

但是,main.sh不能按预期工作.


main.sh

#!/bin/bash

ret1=`./a.sh` &
ret2=`./b.sh`

if [ "${ret1}"="" -a "${ret2}"="" ]; then
   sleep 1
else
   echo ${ret1},${ret2}
end
Run Code Online (Sandbox Code Playgroud)

#!/bin/bash
sleep 10
echo 1
Run Code Online (Sandbox Code Playgroud)

b.sh

#!/bin/bash
sleep 5
echo 2
Run Code Online (Sandbox Code Playgroud)

parallel-processing bash shell

9
推荐指数
3
解决办法
2万
查看次数

与RabbitMQ相比,亚马逊SQS的性能下降

我想在我的Web应用程序中集成消息队列中间层.我测试了Rabbitmq以及Amazon SQS,但发现Amazon SQS很慢.我在Amazon SQS获得80 req/sec,我在Rabbitmq获得2000 req/sec.我问这个问题是因为我对Amazon SQS更感兴趣,因为我使用亚马逊的所有服务作为我的网络应用程序.任何人都可以告诉我为什么这么慢?或者,如果有任何人有亚马逊SQS的任何良好基准,你能分享吗?任何帮助都将被定价.

amazon-ec2 rabbitmq amazon-sqs

8
推荐指数
2
解决办法
9434
查看次数

S3存储桶策略:在公共存储桶中,将子文件夹设为私有

我有一个装满内容的桶,大部分都是公开的.但是,有一个文件夹(也称为"前缀")只能由经过身份验证的IAM用户访问.

{
  "Statement": [
    {
      "Sid": "AllowIAMUser",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bucket/prefix1/prefix2/private/*",
      "Principal": {
        "AWS": [
          "arn:aws:iam::123456789012:user/bobbydroptables"
        ]
      }
    },
    {
      "Sid": "AllowAccessToAllExceptPrivate",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bucket/*",
      "Condition": {
        "StringNotLike": {
          "s3:prefix": "prefix1/prefix2/private/"
        }
      },
      "Principal": {
        "AWS": [
          "*"
        ]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我尝试保存此策略时,我从AWS收到以下错误消息:

Conditions do not apply to combination of actions and resources in statement -
  Condition "s3:prefix"
  and action "s3:GetObject"
  in statement "AllowAccessToAllExceptPrivate"
Run Code Online (Sandbox Code Playgroud)

显然,此错误特别适用于第二个语句.是否无法在"s3:GetObject"操作中使用"s3:prefix"条件?

是否可以获取公共存储桶的一部分并使其仅对经过身份验证的用户可访问?

如果重要,只能通过api以只读方式访问此存储桶.

此问题类似于仅适用于公共限制的Amazon …

amazon-s3 amazon-web-services

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

使用用户定义的参数来控制AWS ELB实例的自动扩展

我们有一个部署在AWS ELB上的应用程序.

目前,自动扩展配置为使用跨ELB实例的聚合CPU来自动添加/删除ELB实例.

但是,如果我们可以查询由ELB实例访问的RabbitMQ实例上的队列长度,则会更准确.然后在队列长度超过阈值时向上/向下扩展.

是否有任何方法可以配置ELB来引入新参数,这些参数可以从Web服务调用中获取,然后可以用来控制自动调整?

或者,我们是否必须咬紧牙关,开发自己的自动缩放器?

amazon-ec2 amazon-web-services amazon-elb

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

AWS AutoScaling'oldestinstance'终止策略并不总是终止最旧的实例

脚本

我正在创建一个脚本,将新实例启动到AutoScaling组,然后删除旧实例.目的是将新创建的(或更新的)AMI引入AutoScaling组.这是通过将Desired容量增加当前实例数量的两倍来实现的.然后,在新实例之后Running,将Desired容量减少相同的数量.

问题

当我运行脚本时,我会看到组容量增加一倍,新实例上线,它们到达Running状态,然后组容量减少.奇迹般有效.问题是SOMETIMES由减少终止的实例实际上是新的实例而不是旧实例.

如何确保AutoScaling组始终终止最旧的实例?

设置

  • AutoScaling组具有以下内容Termination Polices:OldestInstance,OldestLaunchConfiguration.该Default政策已被删除.
  • Default Cooldown被设置为0秒.
  • 该集团只有一个可用区.

故障排除

  • 我玩这个Cooldown设置.结束只是把它放在0.
  • 我等待不同的时间来查看现有服务器是否需要在终止之前运行一段时间.似乎如果它们不到5分钟,它们就不太可能被终止,但并非总是如此.我有20分钟的服务器没有被终止而不是新服务器.也许新推出的实例有一些终止保护宽限期?

让步

我知道在大多数情况下,我将要更换的服务器将运行很长时间.在生产中,这可能不是问题.仍然有可能在AutoScaling的正常过程中,旧服务器将保持运行而不是更新的服务器.这不是一种可接受的操作方式.

我可以强制终止特定实例,但这会破坏OldestInstance终止政策的要点.

更新:2014年2月12日我继续在生产中看到这一点.已运行数周的旧启动配置的实例将保持运行,而较新的实例将被终止.在这一点上,我认为这是一个错误.亚马逊的一个主题在几年前为这个主题开放了,显然没有解决方案.

更新:2014年2月21日我一直在与AWS支持人员合作,此时他们已经初步确认这可能是一个错误.他们正在研究这个问题.

amazon-web-services autoscaling

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