小编chr*_*son的帖子

如何在Swift 4的可解码协议中使用自定义键?

Swift 4通过Decodable协议引入了对本机JSON编码和解码的支持.我如何使用自定义键?

比如说我有一个结构

struct Address:Codable {
    var street:String
    var zip:String
    var city:String
    var state:String
}
Run Code Online (Sandbox Code Playgroud)

我可以将其编码为JSON.

let address = Address(street: "Apple Bay Street", zip: "94608", city: "Emeryville", state: "California")

if let encoded = try? encoder.encode(address) {
    if let json = String(data: encoded, encoding: .utf8) {
        // Print JSON String
        print(json)

        // JSON string is 
           { "state":"California", 
             "street":"Apple Bay Street", 
             "zip":"94608", 
             "city":"Emeryville" 
           }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以将它编码回一个对象.

    let newAddress: Address = try decoder.decode(Address.self, from: encoded)
Run Code Online (Sandbox Code Playgroud)

但如果我有一个json对象

{ 
   "state":"California", 
   "street":"Apple Bay …
Run Code Online (Sandbox Code Playgroud)

json swift swift4 codable

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

Node.js console.log()没有记录任何东西

第一次尝试node.js. 设置节点,从nodejs.org站点设置示例应用程序.可以正常启动服务器,但console.log()实际上并没有记录任何内容.在Chrome,Firefox和Safari中试用了Javascript控制台 - 日志中没有任何内容.还检查了我的Mac上的控制台只是为了踢,没有任何东西.我错过了什么?

(这是有效的示例代码,但不记录任何内容.)

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
Run Code Online (Sandbox Code Playgroud)

node.js

79
推荐指数
3
解决办法
12万
查看次数

我应该为Pods.xcproj,Xcode 9"更新到推荐设置"

我正在运行Cocoapods 1.3.1.我Update to recommended settings在Xcode 9中收到警告.我应该更新项目设置还是未来版本的Cocoapods(例如1.3.2)会为我修复这些警告?

xcode cocoapods

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

Rails 5.1使用一个命令运行系统测试和正常测试

在Rails 5.1中,您可以bin/rails test执行常规测试,以及bin/rails test:system.什么是Rails认可的同时运行方式?

ruby-on-rails ruby-on-rails-5

14
推荐指数
2
解决办法
1433
查看次数

使用Postgres强制转换将动态列名安全地传递给ActiveRecord查询?

我在我的应用程序中没有日期查询时花了很多时间,我想抽出一些问题.

所以说我有一个带有DateTime starts_at字段的模型:

Shift.where('starts_at::time > ?', '20:31:00.00')
-> SELECT "shifts".* FROM "shifts" WHERE (starts_at::time > '20:31:00.00')
Run Code Online (Sandbox Code Playgroud)

这正确地返回大于时间20:31的所有'starts_at'值.

我想动态地将列名传递给查询,所以我可以这样做:

Shift.where('? > ?', "#{column_name}::time", '20:31:00.00').
-> SELECT "shifts".* FROM "shifts" WHERE ('starts_at::time' > '20:31:00.00')
Run Code Online (Sandbox Code Playgroud)

在此示例中,这不起作用,因为搜索starts_at::time作为字符串执行,而不是作为具有强制转换的列time.

如何使用强制column_name转换安全地传入查询::time?虽然这不会接受用户输入,但我仍然希望确保考虑SQL注入.

postgresql activerecord ruby-on-rails rails-activerecord

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

O(n log log n)时间复杂度

我这里有一个简短的程序:

Given any n:
i = 0;
while (i < n) {
   k = 2;
   while (k < n) {
        sum += a[j] * b[k]
        k = k * k;
   }
   i++;
}
Run Code Online (Sandbox Code Playgroud)

这个的渐近运行时间是O(n log log n).为什么会这样?我知道整个程序至少会运行n次.但我不知道如何找到日志日志n.内循环取决于k*k,所以它显然小于n.如果每次都是k/2那么它就是n log n.但是你怎么能找到答案是log log n?

algorithm logarithm

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

在Xcode 9.2中禁用App Transport Security?

我无法在Xcode 9.2中禁用App Transport Security(ATS).我(多年来)在针对我的本地服务器环境运行构建时禁用ATS,如下所示:

传输安全性阻止了明文HTTP

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

在Xcode 9.2中,一个简单的请求(在http模式下针对本地Rails应用程序运行):

let session = URLSession(configuration: .default)
let url = URL(string: "http://store.dev/api/products.json")!

let task = session.dataTask(with: url) { data, response, error in
    print(data)
    print(response)
    print(error)
}

task.resume()
Run Code Online (Sandbox Code Playgroud)

失败并显示错误消息

错误域= NSURLErrorDomain代码= -1200"发生SSL错误,无法与服务器建立安全连接." UserInfo = {_ kCFStreamErrorCodeKey = -9802,NSLocalizedRecoverySuggestion =您是否还要连接到服务器?,NSUnderlyingError = 0x60c00024afb0 {错误域= kCFErrorDomainCFNetwork代码= -1200"(null)"UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0,_kCFNetworkCFStreamSSLErrorOriginalValue = -9802, _kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9802}},NSLocalizedDescription =发生了SSL错误,无法建立与服务器的安全连接.,NSErrorFailingURLKey = https://store.dev/api/products.json,NSErrorFailingURLStringKey = https: //store.dev/api/products.json,_kCFStreamErrorDomainKey = 3}

这个完全相同的请求(同样的项目)在Xcode 9.1上取得了成功.

在这两种情况下,我都是针对iOS 11.1部署目标而构建的.您可以看到Xcode正在将URL从http更改为https,这是我不想要的.

以下是在Xcode 9.1中工作的超级基础项目的链接,但在9.2( …

ssl ios app-transport-security xcode9.2

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

如何在Mailchimp API v3上使用给定的unique_email_id检索列表成员?

给定一个unique_email_id,我如何检索与该ID匹配的所有列表成员?

我正在尝试使用search-members端点,例如我在搜索电子邮件地址时所做的事情:

https://us9.api.mailchimp.com/3.0/search-members?query=chris@chris.com
Run Code Online (Sandbox Code Playgroud)

但相反(给定4dce5的unique_email_id

https://us9.api.mailchimp.com/3.0/search-members?query=4dce5
Run Code Online (Sandbox Code Playgroud)

我没有结果。

我还有另一个终点吗?

mailchimp mailchimp-api-v3.0

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

使用Rails和Postgres数组类型查询具有空数组的记录?

如何使用Postgres数组数据类型查询具有空数组的所有记录?

 create_table "users", force: :cascade do |t|
   t.string   "email", limit: 255, default: "",null: false
   t.string   "roles", default: [], array: true
 end
Run Code Online (Sandbox Code Playgroud)

我想查询具有空角色数组的所有记录.

尝试User.where("roles @> ?", '{}')但是没有用(返回0记录).

postgresql ruby-on-rails

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

在Papertrail中为每个型号设置版本限制?

有没有办法在Papertrail中限制每个型号的版本数量?

例如,我知道我可以设置全局限制

PaperTrail.config.version_limit = 3
Run Code Online (Sandbox Code Playgroud)

但我没有看到一种方法来设置每个模型,有类似的东西

class Article < ActiveRecord::Base
  has_paper_trail :limit => [10]
end
Run Code Online (Sandbox Code Playgroud)

我也不想仅限制保存的版本数量(比如说十个),但只保留最后十个config版本(与版本设置相同).

ruby-on-rails paper-trail-gem

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