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) 第一次尝试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) 我正在运行Cocoapods 1.3.1.我Update to recommended settings在Xcode 9中收到警告.我应该更新项目设置还是未来版本的Cocoapods(例如1.3.2)会为我修复这些警告?
在Rails 5.1中,您可以bin/rails test执行常规测试,以及bin/rails test:system.什么是Rails认可的同时运行方式?
我在我的应用程序中没有日期查询时花了很多时间,我想抽出一些问题.
所以说我有一个带有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注入.
我这里有一个简短的程序:
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?
我无法在Xcode 9.2中禁用App Transport Security(ATS).我(多年来)在针对我的本地服务器环境运行构建时禁用ATS,如下所示:
<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( …
给定一个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)
我没有结果。
我还有另一个终点吗?
如何使用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记录).
有没有办法在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版本(与版本设置相同).