如何找到以下错误报告的错误?
GET http://localhost:8080/img/%7B%7BCurrentPage.img%7D%7D 404 (Not Found) angular.js:2763
r.html angular.js:2763
S.(anonymous function) angular.js:2810
(anonymous function) angular-ui-router.min.js:7
N angular.js:6711
g angular.js:6105
(anonymous function) angular.js:6001
j angular-ui-router.min.js:7
(anonymous function) angular-ui-router.min.js:7
k.$broadcast angular.js:12981
u.transition.L.then.u.transition.u.transition angular-ui-router.min.js:7
F angular.js:11573
(anonymous function) angular.js:11659
k.$eval angular.js:12702
k.$digest angular.js:12514
k.$apply angular.js:12806
h angular.js:8379
u angular.js:8593
z.onreadystatechange angular.js:8532
Run Code Online (Sandbox Code Playgroud)
的%7B%7BCurrentPage.img%7D%7D
是{{CurrentPage.img}}
,它返回图像名称和工作,这是为什么错误在我的控制台?
我目前遇到了一个问题.
您可能知道,ruby logger在每个新创建的日志文件的顶部添加了一个日志标头.
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
Run Code Online (Sandbox Code Playgroud)
我正在记录CSV文件以便稍后在仓库中导入它们,通常我只是跳过带标题的第一行.似乎记录器中存在错误,因为有时日志记录标题会出现在日志文件的中间.
所以我决定简单地把那个标题留下来.令我惊讶的是,我没有发现在创建记录器时可以传递的任何争论.我想到了这样的事情:
Logger.new "info.log", :skip_header => true
Run Code Online (Sandbox Code Playgroud)
但它不存在.我搜索了ruby核心源代码,令人惊讶的是,确实没有任何东西可以阻止记录器添加日志头:
def create_logfile(filename)
logdev = open(filename, (File::WRONLY | File::APPEND | File::CREAT))
logdev.sync = true
add_log_header(logdev)
logdev
end
def add_log_header(file)
file.write(
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
)
end
Run Code Online (Sandbox Code Playgroud)
有没有人知道我能做什么,以防止日志标题?我在这里使用Ruby 1.8.7 302和Rails 2.3.5.简单地忽略仓库方面的评论是不可能的,因为我无法控制那里的代码,如果日志行出现问题,那么忽略它似乎是冒险的.
有人知道一个允许这个的记录器吗?你认为在文件中使用和写明文是个好主意吗?
先谢谢你,汤米
我正在开发一个缓存,需要为每个调用增加几百个计数器,如下所示:
redis.pipelined do
keys.each{ |key| redis.incr key }
end
Run Code Online (Sandbox Code Playgroud)
在我的分析中,我看到我不需要的回复仍然被redis宝石收集并浪费了一些有价值的时间.我能以某种方式告诉redis我对回复不感兴趣吗?有没有更好的方法来增加很多值.
我没有找到MINCR
命令,例如..
提前致谢!
我想知道为什么通过图像src
标签或css 更改现有元素的图像background-image
只能在大多数移动浏览器上大幅延迟后才能完成.(Android Chrome,iOS Chrome,iOS Safari,...)
我基本上有图像标签或div,我想立即更改图像:
// preload images
for(var i = 1; i < 21; i++){
var img = new Image();
img.src = "covers/" + i + ".jpg";
}
var cover = $("#cover");
$("#flow").on("touchstart", function(){
p++;
cover.src = "covers/" + p + ".jpg";
// cover.style['background-image'] = "url('covers/" + p + ".jpg')";
});
Run Code Online (Sandbox Code Playgroud)
这两种方法都适用于桌面浏览器以及本机Android浏览器.我在这里创建了一个示例(您需要触摸以更改图像标记的src - 您可以通过Emulate touch events
在Web Inspector中选择来在Chrome浏览器中执行此操作).在iOS 6和7中,Safari和Chrome都不会立即发生变化,但会有很大的延迟.适用于Android Chrome.
所有图像都预先加载(Safari Web Inspector Remote Debugging也这样说).当图像通过image标签预加载时,行为不会改变display: none;
.
你能想象为什么吗?
我想知道如何创建一个充满字符串的ruby数组的一致哈希.要求是,如果数组包含相同的值,则哈希值始终相同,与其顺序无关.
>> a = ["a", "b", "c", "d"]
>> SomeModule.hash(a)
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
>>
>> b = ["d", "b", "c", "a"]
>> SomeModule.hash(b)
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
>>
>> SomeModule.hash(a) == SomeModule.hash(b)
=> true
Run Code Online (Sandbox Code Playgroud)
Zlib或digest只做字符串,但我必须总是对数组进行排序并加入它以使其正常工作.
那有什么更好的吗?
我有一个实现单个项目功能的GenServer,例如:
def handle_call({:sync, id}, _from, state) do
## update data
{:reply, data, sync}
end
Run Code Online (Sandbox Code Playgroud)
现在我想为多个id处理这个功能,例如:
def handle_call({:sync_all, ids}, _from, state) do
## call sync for each id
data = Enum.map(ids, fn(id) ->
GenServer.call(self(), {:sync, id})
end)
## Further reduce down data to stats
{:reply, data, sync}
end
Run Code Online (Sandbox Code Playgroud)
然而,这并不能告诉我该过程试图调用自己.
我认为这必然是由于阻塞性质call
.如果我cast
在sync_all
版本中使用,则会发生相同的情况.
所以我的问题是:如何GenServer
从一个handle_call
或一个handle_cast
函数中调用其他任务?