小编Ccy*_*yan的帖子

除了char之外,为什么sizeof内置类型在C&C++中依赖于编译器?

为什么C和C++中的基本类型没有像Java那样严格定义,其中a int始终为4个字节且long为8个字节等.据我所知,在C和C++中,只有a char被定义为1个字节,其他所有内容都由不同的编译器定义不同.所以int在C和C++中,只要它长于a short并且short更长,就不一定必须是4个字节char.
我只是想知道为什么会这样,它有用吗?

c c++ types

25
推荐指数
3
解决办法
2593
查看次数

存根 AWS S3 对象请求

我正在尝试阻止在 AWS 存储桶中获取对象的请求。我已经阅读了他们关于存根请求的文档,并且只能存根一个存储桶,而不是一个对象。这是我尝试过的一些事情:

通过 AWS 配置进行存根:

Aws.config[:s3] = {
  stub_responses: {
    list_buckets: {
      buckets: [name: "my-bucket"],
      list_objects: [key: "file.pdf"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然它得到了桶,但它没有给我对象。调用s3.buckets会列出存储桶,但s3.objects会是空的。

通过 gem 进行存根webmock

tempfile = file_fixture('file.pdf').read
base_uri = Regexp.new "https://my-bucket.s3.us-west-1.amazonaws.
stub_request(:get, base_uri).to_return(status: 200, body: tempfile)
Run Code Online (Sandbox Code Playgroud)

这似乎仍然不起作用。调用bucket.objects仍然返回一个空集合。

我想测试控制器中的代码:

s3 = Aws::S3::Resource.new
bucket = s3.bucket("my-bucket")
@files = {}

bucket.objects.each do |item|
  @files[File.basename(item.key)] = item.presigned_url(:get)
end
Run Code Online (Sandbox Code Playgroud)

目标是我想确保我的视图显示变量中对象的链接@file,并且我想测试该链接。任何帮助将不胜感激!我是使用 AWS S3 进行开发的新手,并且 google 没有提供太多帮助。我正在使用aws-sdk-s3gem 来处理 AWS S3。

testing ruby-on-rails amazon-s3 amazon-web-services aws-sdk-ruby

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

Rails 将机密转换为凭据

我将我的 Rails 应用程序从 5.1.6 更新到 5.2.1,我们secrets之前使用过。我们想切换到,credentials因为它应该替换secrets. 有几件事我想知道:

1)有没有一种“Railsy”的方式来做到这一点?我知道我可以编辑secrets并将内容复制到 ,credentials但我不确定这是否是正确的方法,因为我找不到任何关于此的内容。另外,我尝试从中复制加密的内容secrets.yml.enc并将其粘贴到,credentials.yml.enc但这不起作用,遇到了一些加密问题。

2)关于第一点,我应该还能secrets在5.2.1中使用吗?我以为credentials应该更换,secrets所以我很惊讶我仍然可以使用secrets并且我的所有测试都通过了。

感谢您提供任何信息或帮助!

ruby-on-rails ruby-on-rails-5.1 ruby-on-rails-5.2

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

如何向 has_many 关联添加更有意义的错误消息?

我的用户模型有很多这样的地址:

class User < ApplicationRecord
  has_many :addresses, dependent: :destroy
  accepts_nested_attributes_for :addresses, allow_destroy: true
end

class Address < ApplicationRecord
  belongs_to :user

  validates :address_line_1, :city, :state, :zip, presence: true
end
Run Code Online (Sandbox Code Playgroud)

Address模型还有一address_type列表示 aworkhome地址。

当我试图用错误保存两个地址时,我得到了一些对我来说似乎很奇怪的东西:

a = User.last
a.addresses # This user has both a home and work address
=>  #<ActiveRecord::Associations::CollectionProxy #<Address id: 1, address_line_1: "123 Bob St.", city: "Blah", zip: "12345", state: "KY", address_type: "home", user_id: "1">, #<Address id: 2, address_line_1: "123 Jane St.", city: …
Run Code Online (Sandbox Code Playgroud)

error-handling ruby-on-rails

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

Bugsnag 上的 ActionController::UnknownFormat

昨天我们在临时站点上遇到了这个错误,错误ActionController::UnknownFormat发生在users/sessions#new. 这是Bugsnag显示的请求:

headers: {
           "Version": "HTTP/1.0",
           "Host": [Our site's IP],
           "X-Forwarded-Proto": "https",
           "X-Forwarded-For": "128.14.209.154",
           "Connection": "close",
           "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
           "Accept": "../../../../../../../../../../etc/services{{",
           "Accept-Encoding": "gzip"
         }

httpMethod: GET

params: {
          "controller": "users/sessions",
          "action": "new"
        }

railsAction: users/sessions#new

referer: null

requestId: 6ecd71ba-31c8-4d55-9199-8e45e3d86246

url: [Our site's IP]

user_id: 128.14.209.154
Run Code Online (Sandbox Code Playgroud)

没有人真正知道发生了什么,据我们所知,目前没有人在该网站上做任何事情。

有几件事让我觉得很奇怪:

  • Accept在标题中:“接受”:"../../../../../../../../../../etc/services{{"
  • url/host:url/host 是我们站点的 IP 地址,而不是站点本身。
  • 用户 ID: user_id: 128.14.209.154
  • User-Agent,特别是这样的:(Windows NT …

error-handling ruby-on-rails

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