我是AngularJS的新手,我正在尝试为自己构建一个简单的小应用程序.我有正在获取的应用程序的JSON数据$resource,并且这些数据应该在多个视图/路由中相同.但是,当我转到新路径时,JSON数据(存储为$scope.data)不再可用于新视图.如何将此数据传递到新视图而不需要其他提取?(教程电话目录应用程序每次从我所知道的内容中重新获取此数据.)
据我所知,$rootScope可以做到这一点,但似乎总是不赞成.如果这没有多大意义,我道歉; 我非常喜欢在这里潜水.
我对Node.js/Express很新,但我想我正慢慢掌握它.我添加了这段代码,从我所知道的代码看起来非常标准:
app.configure('production', function() {
var oneYear = 31557600000;
app.use(express.static(__dirname + '/public', { maxAge: oneYear }));
app.use(express.errorHandler());
});
Run Code Online (Sandbox Code Playgroud)
浏览Chrome的缓存会发现,是的,一切都在缓存.欢呼!但是当我在我的网站上运行Chrome的审核时(我注意到,在其他基于节点的网站上),Chrome表示该网站没有缓存任何内容.什么可能导致这种差异?
我在使用 RSpec 测试时遇到了PaperTrail(Rails 对象的自动版本控制)的问题。通常我希望我的测试在没有 PaperTrail 版本控制的情况下运行,但有一些测试我希望打开 PaperTrail。我通常使用 Guard 和 Spork 运行我的测试,我可以使用类似PaperTrail.enabled = true和PaperTrail.enabled = false围绕给定测试的东西,一切正常。
但是,当我使用 RSpec 运行测试时,需要 PaperTrail 的测试失败。更具体地说,虽然before过滤器中的代码可以生成版本对象,但测试中的代码不能。经过大量的挖掘、修补和尝试代码片段(我已经尝试过this和this),看起来最好的解决方案是使用PaperTrail README 中require "paper_trail/frameworks/rspec"提到的行。
不幸的是,这些中的每一个都让我保持在我开始的地方——测试通过 Guard/Spork 但不是普通的 RSpec。这是一个特别的问题,因为当我在本地使用 Spork 时,我们的持续集成服务器直接运行 RSpec。
有没有人有任何见解?
我有扫描的图像文件,我执行一些预处理,让他们看起来像这样:

我的手机的ZBar应用可以很好地读取这个二维码,但zbarimg似乎无法弄明白.我已经在ImageMagick中尝试过各种各样的东西以使其更平滑(-smooth,-morphology)但即使结果稍微好看,zbarimg仍然会出现空白.
为什么我的手机的ZBar比我的电脑(zbar-0.10)更好?我能做些什么来zbarimg成功阅读这个内容吗?
我正在为OSX(Mountain Lion)制作屏幕保护程序,我在设置配置表时遇到问题(因此,当用户点击"系统偏好设置"中的"屏幕保护程序选项..."时,会显示我的选项).在互联网上任何地方编写OSX屏幕保护程序似乎只有两三个教程,而且它们都已经存在了几年,因此这些材料并没有完全转化为OSX 10.8和Xcode 4.
首先,在我的ScreenSaverView.m文件中,我有:
- (BOOL)hasConfigureSheet
{
return NO;
}
- (NSWindow*)configureSheet
{
return nil;
}
Run Code Online (Sandbox Code Playgroud)
...然而,在"系统偏好设置"中,"屏幕保护程序选项..."按钮仍然可以点击(单击时没有任何反应),而不是像"Arabesque"屏幕保护程序中那样禁用.
单击按钮时显示配置页的步骤是什么,为什么当前没有禁用该按钮?
编辑:
我意识到为什么没有禁用"屏幕保护程序选项..."按钮.我忘了把它包含-(BOOL)hasConfigureSheet;在ScreenSaverView.h文件中.然而,关于如何使配置表出现的问题仍然存在.
如果我在Ruby中有以下方法:
def foo(arg1, arg2 = "bar")
puts arg1
puts arg2
end
Run Code Online (Sandbox Code Playgroud)
有没有办法确定用户是否在方法中传递了值arg2?显然我可以添加if arg2 == "bar"到方法中,但这并没有捕获用户手动传入的情况"bar".当然,我可以将默认设置为没有用户可以传递的内容,但随后很快就变得非常难看.
那里有什么优雅的东西吗?
我正试图在RSpec中测试一个Rails控制器问题(尽管我不确定这个问题与我的问题有关),所以我想我会使用一个匿名控制器.这是我的设置:
describe MyConcern do
controller do
include MyConcern
def edit
puts "Checkpoint!"
@value = concern_method
render text: "test edit method called"
end
end
it "should call concern_method" do
get :edit, id: 1
assigns(:value).should eq "expected_value" # Set by concern_method
end
end
Run Code Online (Sandbox Code Playgroud)
现在这里是奇怪的部分.我用Guard测试.当Guard检测到spec文件的保存并运行此测试时,它会通过并Checkpoint!打印.每次,完全确定.我可以继续保存文件,它不断传递.(如果有帮助,Guard使用Spring并运行RSpec.)
但是当我使用RSpec命令运行测试时,它会失败.最奇怪的是,我原本预计会发生失败,因为匿名控制器设置会发生一些奇怪的事情并且无法找到路线,而是should测试失败了.当我以这种方式手动运行RSpec时,Checkpoint!永远不会打印,表明匿名控制器操作未被调用.但是因为我没有得到路由错误,所以必须调用一些控制器动作,但我不知道是什么,因为我甚至没有任何其他匿名控制器具有edit可能发生冲突的功能.我试过重启春天 - 没有运气.
关于我可能做错什么的任何想法?
编辑:
这是更多信息.我担心的格式是这样的:
module MyConcern
extend ActiveSupport::Concern
included do
puts "Included!"
private
def concern_method
puts "Method is called!"
"expected_value"
end
end
end
Run Code Online (Sandbox Code Playgroud)
当测试失败时(从我明确地运行RSpec bundle exec …
我无法将矢量类型(uint8)参数从C中的主机代码传递给OpenCL内核函数.
在主机中我得到了数组中的数据:
cl_uint dataArr[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };
Run Code Online (Sandbox Code Playgroud)
(我的真实数据不仅仅是[1,8];这只是为了便于解释.)
然后我将数据传输到缓冲区以传递给内核:
cl_mem kernelInputData = clCreateBuffer(context,
CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, sizeof(cl_uint)*8, dataArr, NULL);
Run Code Online (Sandbox Code Playgroud)
接下来,我将此缓冲区传递给内核:
clSetKernelArg(kernel, 0, sizeof(cl_mem), &kernelInputData);
Run Code Online (Sandbox Code Playgroud)
内核函数的签名看起来像这样:
kernel void kernelFunction(constant uint8 *vectorPtr)
Run Code Online (Sandbox Code Playgroud)
但是,内核似乎没有从指针获取正确的输入数据kernelInputData.当我从内核中传回值时,我看到vectorPtr指向具有这种结构的东西:( 1, 2, 3, 4, 5, ?, ?, ? )问号通常 在哪里,4293848814但有时候0.无论哪种方式,不是他们应该是什么.
我究竟做错了什么?
编辑:
我已经在主机端从使用数组切换到cl_uint8.我现在有:
cl_uint8 dataVector = { 1, 2, 3, 4, 5, 6, 7, 8 };
我将这个向量传递给内核,如下所示:
clSetKernelArg(kernel, 0, sizeof(cl_uint8), …
我为 Rails 编写了一个自定义格式化程序:
\n\nmodule Logging\n class GeneralFormatter < Logger::Formatter\n def call(severity, time, program_name, message)\n ...\n end\n end\nend\nRun Code Online (Sandbox Code Playgroud)\n\n\n\nconfig.log_formatter = Logging::GeneralFormatter.new
不幸的是,这似乎不起作用\xe2\x80\x94我的自定义格式没有启动。但是,如果我也定义它:
\n\nmodule Logging\n class GeneralLogger < ActiveSupport::Logger\n def initialize(*args)\n super(*args)\n @formatter = GeneralFormatter.new\n end\n end\nend\nRun Code Online (Sandbox Code Playgroud)\n\n然后我就可以按照config.logger = Logging::GeneralLogger.new需要格式化我的日志了。
我的设置做错了什么log_formatter?当我想要的只是自定义格式时,我宁愿不定义自己的记录器。
编辑(回应评论,并通过更多的挖掘添加更多细节):
\n\n我正在设置config.log_formatter并在开发中进行测试,并且它似乎在一定程度上application.rb起作用,因为该调用为我提供了我的自定义类。但这是我在打电话时看到的行为:Rails.logger.formatterRails.logger.warn("test")
test被打印到控制台(后跟换行符)。call输入我的格式化程序的方法。call …我有一个Rails应用程序,它依赖于一个单独的引擎(存储在其中vendor/engine_name).该引擎有一个ActiveRecord对象Bar:
module Foo
class Bar < ActiveRecord::Base
# has an attribute bar_attr
end
end
Run Code Online (Sandbox Code Playgroud)
在该引擎的config/locales/en.yml文件中,我尝试过:
en:
activerecord:
attributes:
bar_attr: "TEST"
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
en:
activerecord:
attributes:
bar:
bar_attr: "TEST"
Run Code Online (Sandbox Code Playgroud)
和:
en:
activerecord:
attributes:
foo:
bar:
bar_attr: "TEST"
Run Code Online (Sandbox Code Playgroud)
但无论如何,当我Foo::Bar.human_attribute_name("bar_attr")从父应用程序调用时,我得到"Bar attr"(例如默认的人类属性名称).请注意,Foo::Bar.model_name.human当我尝试使用以下翻译时会出现同样的问题:
en:
activerecord:
models:
...
Run Code Online (Sandbox Code Playgroud)
我不确定应用程序/引擎结构是否相关,因为我en.yml在父应用程序的翻译文件中也尝试了上述三种格式,没有运气.
为了正确翻译这些模型名称/属性,我缺少什么?
我有一个两页的PDF我试图转换为PNG文件.当我跑:
gs -sDevice=pngalpha -o=gs-output-%d.png -r400 test1-0.pdf
Run Code Online (Sandbox Code Playgroud)
我明白了:
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 2.
Page 1
%%BoundingBox: 35 35 577 757
%%HiResBoundingBox: 35.910001 35.910001 576.090022 756.090029
Page 2
%%BoundingBox: 35 35 577 757
%%HiResBoundingBox: 35.910001 35.910001 576.090022 756.090029
Run Code Online (Sandbox Code Playgroud)
然后......没什么.根本没有输出文件.我哪里错了?
guard ×2
rspec ×2
ruby ×2
angularjs ×1
c ×1
caching ×1
express ×1
ghostscript ×1
imagemagick ×1
json ×1
linux ×1
macos ×1
node.js ×1
objective-c ×1
opencl ×1
parameters ×1
rails-i18n ×1
scope ×1
screensaver ×1
spork ×1
vector ×1
zbar ×1