我有以下查询:
INSERT INTO table (a) VALUES (0)
ON DUPLICATE KEY UPDATE a=1
Run Code Online (Sandbox Code Playgroud)
我想要插入或更新的ID.通常我会运行第二个查询以获取此信息,因为我认为insert_id()只返回'inserted'ID而不是更新的ID.
有没有办法INSERT/UPDATE并检索行的ID而不运行两个查询?
哎呀!我把事搞砸了!
我是Core Data noob,正在开发我的第一个iOS应用程序.经过多次Stack Overflowing我正在使用这段代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"momd"];
if (!path) {
path = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"mom"];
}
NSAssert(path != nil, @"Unable to find Resource in main bundle");
Run Code Online (Sandbox Code Playgroud)
CoreData是我的应用程序的名称.
我试图通过在我的iPhone模拟器中找到sqlite文件的路径,然后进入并插入该sqlite文件,将初始数据输入到应用程序中.但在某些时候,我移动了sqlite(认为它会创建一个新副本),从模拟器中删除应用程序,sqlite文件消失了.我不确定我是否会遗漏这个过程的某些部分(这是几个小时前),但最终的结果是一切都搞砸了.
如何重新定位此sqlite/momd文件?"清洁"和"清除所有目标"显示为灰色.
我很高兴发布我的应用程序中的相关代码,这将有助于解释这个问题但是有大量与Core Data相关的代码,我不明白,所以我不确定要发布什么部分!任何帮助是极大的赞赏.
偶尔我会编写一个带有单个输入的PHP函数,一个包含所有函数输入的关联数组.这样做的好处就是不必记住输入的正确顺序,但我也注意到它使得对大型代码库的更改变得更加容易; 当我需要添加另一个变量,并且该变量必须通过4或5个预先存在的函数时,当我可以将它粘在数组中并传递它时,它会容易得多.
我的问题是,这样做有不利之处吗?
我很少看到以这种方式在示例中编写的函数,或者在我使用的开源函数中,这使我相信可能存在缺点.如果没有理由不这样做那么为什么不这样写所有函数呢?
UPDATE
谢谢你的所有答案.看起来两个主要问题突出:
代码可读性 - 无法分辨哪些变量进入函数以及它们的用途
可变蠕变 - 可能会结束从一个功能到下一个功能的大规模阵列; 一个不应该将参数传递给不需要它们的函数
哪些都是我没想过的重点.
似乎一般的要点是,这是一个问题的代码,应该转换为一个类.不幸的是,在这个特定的项目中,这样的重构超出了范围,但我也认为Bill Karwin的解决方案很好 - 传递一组可选变量
我试图使用Caman.js并从Amazon S3加载图像.Caman.js是一个用于生成图像效果的JS库,它通过将一个图像副本创建到画布对象并对数据进行各种像素处理来工作.看起来canvas有一些安全细节来限制javascript访问像素数据的能力,当数据来自外部服务器时,除非该服务器传递请求中的某些安全凭证,或者跨源资源共享(CORS) ).
我之前从未遇到过CORS,我试图了解它,但我似乎无法让它工作.根据我的理解,为了避免Chrome中出现此错误:
Unable to get image data from canvas because the canvas has been tainted by cross-origin data.
Uncaught Error: SECURITY_ERR: DOM Exception 18
Run Code Online (Sandbox Code Playgroud)
您需要在Amazon存储桶上设置CORS文件.这是我正在使用的CORS文件:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
这似乎没有任何影响.这些CORS文件是由亚马逊缓存还是我希望它立即生效? - 更新:我试过8小时后仍然没有工作,所以我认为缓存不是问题.
看起来上面指定的CORS文件应该允许一切通过,不是吗?我查看了CORS和Google上的Chrome文档,但我似乎无法找到任何好的答案.有没有人以前处理过这个问题?
谢谢!凯文
更新:这是我从图像请求到亚马逊的响应标题:
Date:Thu, 18 Oct 2012 04:52:40 GMT
ETag:"9848ce610c994521295d8aa38b47bab9"
Last-Modified:Thu, 18 Oct 2012 04:19:45 GMT
Server:AmazonS3
x-amz-id-2:Govue0tJg5MLYedr/l7T2RU5RApXLZBwJ8p507hS+sLGqxYojRnVKqj4jRHRZsZ6
x-amz-request-id:F4FF5B669C3156D2
Run Code Online (Sandbox Code Playgroud) 我的Google-fu什么都没有.
当你这样做:
var stateObj = { state: "some state" };
history.pushState(stateObj, "page 2", "other.htm");
Run Code Online (Sandbox Code Playgroud)
是否有关联的窗口回调?
我知道有这个:
window.onpopstate = function() {
}
Run Code Online (Sandbox Code Playgroud)
当用户点击后退按钮时,这非常适合收听.但是,我想在任何时候听到URL的变化,我不知道该怎么做.
URL随时更改时是否存在全局回调?
我正在尝试解析传入的字符串以确定它是否包含任何非emojis.
我已经阅读了Mathias的这篇精彩文章,并且正在利用本机punycode编码/解码和regenerate正则表达式生成.我也在用EmojiData来获取我的表情符号字典.
尽管如此,某些表情符号仍然是讨厌的小虫子并拒绝匹配.对于某些表情符号,我继续获得一对代码点.
// Example of a single code point:
console.log(punycode.ucs2.decode(''));
>> [ 128169 ]
// Example of a paired code point:
console.log(punycode.ucs2.decode('??'));
>> [ 8987, 65039 ]
Run Code Online (Sandbox Code Playgroud)
Mathias在他的文章中触及了这一点(并给出了一个解决这个问题的punycode的例子)但是即使使用他的例子我得到的答案也是错误的:
function countSymbols(string) {
return punycode.ucs2.decode(string).length;
}
console.log(countSymbols(''));
>> 1
console.log(countSymbols('??'));
>> 2
Run Code Online (Sandbox Code Playgroud)
检测字符串是否包含所有表情符号的最佳方法是什么?这是为了概念验证,因此解决方案可以根据需要进行强力实施.
---更新---
上面我讨厌的表情符号的更多背景.
这些在视觉上是相同的,但实际上是不同的unicode值(第二个来自上面的例子):
? // \u231b
?? // \u231b\ufe0f
Run Code Online (Sandbox Code Playgroud)
第一个很好,第二个不好.不幸的是,第二个版本是iOS似乎使用的(如果你从iMessage复制和粘贴你获得第二个版本,当从Twilio接收文本时,同样的事情).
如果我改变该地区的setRegion一个MKMapView,有没有一种方法来设置速度,或持续时间,该动画的变化?我查看了文档和谷歌,但一无所获.
根据本文档,我正在使用node-request并尝试将文件发送到IBM的HDFS .
传递此JSON对象以请求成功上载:
var options = {
method: 'put',
body: 'foo',
headers: {
'Content-Type': 'application/octet-stream',
'Transfer-Encoding': 'chunked'
}
};
Run Code Online (Sandbox Code Playgroud)
运行此CURL命令也成功上传了一个文件:
curl -v -X PUT -L -b cookie.jar "https://host:port/webhdfs/v1/tmp/myLargeFile.zip?op=CREATE&data=true" --header "Content-Type:application/octet-stream" --header "Transfer-Encoding:chunked" -T "file.txt"
但是,尝试指定文件流,如下所示:
var options = {
method: 'put',
headers: {
'Content-Type': 'application/octet-stream',
'Transfer-Encoding': 'chunked'
},
multipart : [
{ body: fs.createReadStream(localFile) }
]
};
Run Code Online (Sandbox Code Playgroud)
失败了,我不知道我哪里出错了.如何使用node-request从CURL重现'--upload-file'参数?
我有一个mapview.我已经实现了didAddAnnotationViews来显示我的引脚的自定义淡入淡出动画.
将引脚添加到映射时会成功调用此方法,但在删除引脚时则不会.我在文档中找不到等效的功能.是否有另一种方法可以为特定引脚实现自定义淡出动画?