问题列表 - 第43754页

从Rakefile/Ruby on Rails 3中的模型访问类方法

我有一个模型,我们称之为Foobar.我希望能够运行一个cron作业来更新作为Foobar实例的所有对象的属性.所以,在伪代码中,它可能是这样的:

Foobar.all.each do |foobar|
  foobar.update_attributes({:my_attribute => 'updated'});
end
Run Code Online (Sandbox Code Playgroud)

现在,假设我将其包装在名为Foobar.run_update()的类方法中.

调用Foobar.run_update()可以从控制器,甚至从视图中正常工作.但是,我想要做的是从Rakefile运行run_update(),以便我可以将它绑定到cron运行.但是,当从Crontab调用Rake时,Foobar类不可用.

我怎么解决这个问题?当从Cron调用Rake时,如何从Rake访问Foobars的类方法?

非常感谢您的帮助.

ruby rake ruby-on-rails rakefile ruby-on-rails-3

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

如何使用LD_PRELOAD运行gdb?

我有一个使用LD_PRELOAD的程序.如果没有gdb,程序应该像这样运行,"LD_PRELOAD =/path/to/libfoo.so qemu -U LD_PRELOAD a.out".

这是我在运行gdb时所做的.

(gdb) set environment LD_PRELOAD=/nfs_home/chenwj/tools/lib/libdbo.so

(gdb) file /nfs_home/chenwj/tools/bin/qemu-i386

(gdb) r -U LD_PRELOAD bzip2_base.i386-m32-gcc44-annotated input.source 1

但是gdb给了我下面的错误

Starting program: /nfs_home/chenwj/tools/bin/qemu-i386 -U LD_PRELOAD bzip2_base.i386-m32-gcc44-annotated input.source 1

bash: open "/bin/bash" failed: Permission denied

During startup program exited with code 66.

任何建议都表示赞赏.

此致,chenwj

gdb qemu

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

实现开源库:如何处理日志记录?

我正在我正在开发的开源库中实现日志记录支持.大多数第三方库似乎明确选择了"首选"日志库,如Log4NetNLog等,然后要求其库的消费者"处理它".值得庆幸的是,我们有一个像Common.Logging这样的库,可以在我们的消费应用程序中解决这个问题,这些应用程序统一了这些第三方库日志记录实现.

我打算尝试避免从我自己的开源库引用另一个第三方库,以避免将另一个程序集引用引入其他人的应用程序.也许这不是一个问题,我应该停在那里?

假设有些人认为过多的程序集引用令人讨厌(并且因为有人会提到它),我个人认为,我不喜欢在这种情况下使用ILMerge,因为你可能很容易有几个使用Log4Net的库,如果它们各自ILMerged在程序集中,在我看来,它只是膨胀了应用程序的大小.

为此,我正在考虑实现和公开一个LogBridge,以便我的库的用户可以根据需要挂钩我的日志记录调用(默认情况下会关闭).另外,请允许我强调,我不是在讨论实现自己的日志记录框架,只是确保在有人关注它的情况下公开日志记录.我认为消费实现会出现类似于:

public class SomeSetupClass 
{
  private void SomeSetupMethod()
  {
    var log = LogManager.GetLogger("LogSourceName");
    var logBridge = new LogBridge()
                      {
                        DebugEnabled = log.IsDebugEnabled,
                        InformationEnabled = log.IsInfoEnabled,
                        WarningEnabled = log.IsWarnEnabled,
                        ErrorEnabled = log.IsErrorEnabled,
                        CriticalEnabled = log.IsFatalEnabled
                      };

    logBridge.DebugMessageReceived += (sender, e) => log.Debug(e.Message);
    logBridge.InformationMessageReceived += (sender, e) => log.Info(e.Message);
    logBridge.WarningMessageReceived += (sender, e) => log.Warn(e.Message);
    logBridge.ErrorMessageReceived += (sender, e) => log.Error(e.Message);
    logBridge.CrticalMessageReceived += (sender, e) => log.Fatal(e.Message);      }
  }
}
Run Code Online (Sandbox Code Playgroud)

这种方法有意义吗?在度假太久之后,我是不是在想这个,我应该参考 …

.net logging

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

制作自己的malloc功能?

我读到有些游戏会重写自己的malloc以提高效率.我不明白在虚拟内存世界中这是如何实现的.如果我没记错的话,malloc实际上调用了一个特定于操作系统的功能,它将虚拟地址映射到MMU的真实地址.那么,如何在不调用实际运行时的malloc的情况下,如何制作自己的内存分配器并分配实内存?

谢谢

c malloc

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

"由于此安装程序配置错误,因此无法安装此应用程序.请联系应用程序作者以获取帮助."

我在FB4中编译了我的AIR应用程序的.air文件,我在尝试安装时遇到了这个错误.我尝试创建一个新的应用程序,只是复制代码,我得到相同的错误.我究竟做错了什么?我甚至多次重新创建证书.

apache-flex air installer certificate

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

UIImagePickerController的didFinishPickingMediaWithInfo太慢了,我可以添加progressHUD /指标吗?

对于UIImagePickerController,我打开了

picker.allowsEditing = YES;
Run Code Online (Sandbox Code Playgroud)

这样用户可以在捕获或从相册中选择后移动和缩放照片.点击"选择"或"使用"后,整个应用程序冻结超过5秒钟,然后返回照片,通过

- (void)imagePickerController:(UIImagePickerController*)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
Run Code Online (Sandbox Code Playgroud)

我试图在这个委托函数中添加一个指标,但它没有出现......我猜,长延迟发生在这个回调之前,可能是因为来自ful的"编辑"

有没有办法解决这个问题?我只想给用户一个很好的体验.:)

非常感谢!!

iphone uiimagepickercontroller

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

如何在Windows 7命令行创建任意二进制文件?

如何在Windows 7命令行创建任意二进制文件?无需安装任何额外的工具,我可以使用 XP 中的 debug 命令来完成此操作。现在在 Windows 7 中我陷入了困境。我想在命令行中输入并创建任意二进制文件。有任何想法吗?

windows-7

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

在Ruby中设置时区偏移量

Ruby中的默认时区偏移量显然是-0800.我想把我的设置为-0500.我该怎么做呢?

ruby time

23
推荐指数
4
解决办法
2万
查看次数

"无法解释的"核心转储

我一生中见过许多核心垃圾场,但这一次让我难过.

语境:

  • AMD Barcelona CPU 集群上运行的多线程Linux/x86_64程序
  • 崩溃的代码执行得很多
  • 在负载下运行1000个程序实例(完全相同的优化二进制文件)每小时产生1-2次崩溃
  • 崩溃发生在不同的机器上(但机器本身非常相同)
  • 崩溃看起来都一样(相同的确切地址,相同的调用堆栈)

以下是崩溃的详细信息:

Program terminated with signal 11, Segmentation fault.
#0  0x00000000017bd9fd in Foo()
(gdb) x/i $pc
=> 0x17bd9fd <_Z3Foov+349>: rex.RB orb $0x8d,(%r15)

(gdb) x/6i $pc-12
0x17bd9f1 <_Z3Foov+337>:    mov    (%rbx),%eax
0x17bd9f3 <_Z3Foov+339>:    mov    %rbx,%rdi
0x17bd9f6 <_Z3Foov+342>:    callq  *0x70(%rax)
0x17bd9f9 <_Z3Foov+345>:    cmp    %eax,%r12d
0x17bd9fc <_Z3Foov+348>:    mov    %eax,-0x80(%rbp)
0x17bd9ff <_Z3Foov+351>:    jge    0x17bd97e <_Z3Foov+222>
Run Code Online (Sandbox Code Playgroud)

您会注意到崩溃发生在指令中间0x17bd9fc,即从调用返回0x17bd9f6到虚函数之后.

当我检查虚拟表时,我发现它没有以任何方式损坏:

(gdb) x/a $rbx
0x2ab094951f80: 0x3f8c550 <_ZTI4Foo1+16>
(gdb) x/a 0x3f8c550+0x70
0x3f8c5c0 <_ZTI4Foo1+128>:  0x2d3d7b0 …
Run Code Online (Sandbox Code Playgroud)

linux x86-64 segmentation-fault

27
推荐指数
2
解决办法
1435
查看次数

Python中的条件迭代器:我如何选择特定的迭代?

在django模板中,我完成了这个{% if forloop.first %}但是我不知道如何在常规'ole python中执行此操作而不用编写一个笨重的计数器来计算我的条件迭代.他们是一个简单的出路吗?

python django iterator conditional-operator

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