小编Moi*_*aja的帖子

Rails:记录异常的整个堆栈跟踪

我一直在试图找出记录堆栈跟踪的正确方法.我遇到了这个链接,声明logger.error $!,$ !. backtrace是要走的路,但这对我来说不起作用log_error.根据文档,我没有看到如何将第二个参数传递给error方法仍然可行,因为rails使用的ruby logger只接受一个参数.

奇怪的(或可能不是)第二个论点在没有任何翻译投诉的情况下被接受.但是,我传递给它的任何内容都会被忽略.

谁能解释我错过的东西?任何洞察错误的第二个论点是什么以及吃什么?

ruby ruby-on-rails

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

使用单个命令将多页pdf转换为多个页面

我想有效地将​​多页pdf转换为单页图像.

我已经知道如何使用imagemagick一次执行此页面.例如,

convert x.pdf[2] x3.jpg
Run Code Online (Sandbox Code Playgroud)

将给我作为图像的PDF格式的第3页.因此,如果我使用识别确定 pdf中有多少页面,那么我可以循环并将pdf中的所有页面转换为图像.然而,这种方法可能需要一段时间.例如,15页的pdf可能需要15-30秒.

根据我在其他地方(也在imagemagick论坛上)看到的答案,以下imagemagick命令应该将pdf分成多个图像.

convert x.pdf x-%0d.jpg
Run Code Online (Sandbox Code Playgroud)

但所有这一切最终都是创建名为x-0.jpg的第一页

作为替代方案,我尝试使用具有突发功能的pdftk.我在那里遇到的问题是爆炸在所有情况下都不起作用.它适用于某些pdf,而不适用于其他一些.

关于如何改进事物的任何建议都会有所帮助.

我的操作系统是Mac OSX Lion,但我确实需要在CentOS 6上运行.

imagemagick ghostscript imagemagick-convert

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

Selenium WebDriver JS - 显式等待

我正在使用selenium-webdriverjs.我想等待显示某个元素,我已经创建了一个明确的等待,如下所示,它工作得很好,

var displayed = false;
driver.wait(function(){
    driver.findElement(locator).isDisplayed().then(function(value){
        displayed = value;
    });
    return displayed;
}, timeout);
Run Code Online (Sandbox Code Playgroud)

这是我能做的最好的还是有更好的方法来做到这一点?我问的原因是第一次调用等待回调(在我的情况下)它将始终返回false.只有在执行isDisplayed promise时,才会显示更改的值.

javascript selenium-webdriver

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

使用断言在node.js中进行防御性编程

考虑到有时节点中的错误消息特别无用,我喜欢在我的函数中自由地使用断言,以便尽快捕获编程错误,并且我可以得到一条消息,通常可以查明问题.

function doSomething(arg1, arg2){
  assert(!arg1, "arg1 is undefined");
  assert(!arg2, "arg2 is undefined");
  assert(!arg1.expectedFn, "arg1 does not have expectedFn");

  arg1.expectedFn(function(blah){
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

在节点/ javascript程序中这是一件特别糟糕的事吗?这会对性能产生影响吗?

javascript coding-style node.js

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

是否有可能获得node.js服务的当前请求?

我正在使用express.js.每当有人试图记录消息时,我都需要能够记录某些请求数据.为此我想创建一个这样的辅助方法

function log_message(level, message){
  winston.log(level, req.path + "" + message);
}
Run Code Online (Sandbox Code Playgroud)

然后我会使用这样的方法.

exports.index = function(req, res){
  log_message("info", "I'm here");
}
Run Code Online (Sandbox Code Playgroud)

请注意,我没有将req对象传递给log_message函数.我希望透明地完成它,以便log_message API用户不需要知道正在记录的公共数据.

有没有办法用express.js/node.js实现这一点.请求对象是否可以从某种全局变量中获得?

javascript node.js express

9
推荐指数
4
解决办法
8172
查看次数

swagger 的多态性没有按预期工作

我正在使用 springfox 版本 2.9.2 和 swagger 注释 1.5.x。ApiModel 注释支持使多态性工作所需的鉴别器、子类型和父属性,但我没有看到生成正确的 apidocs 以启用多态性。

这是我的注释代码。

@RestController
@RequestMapping("/api/vehicles")
public class VehicleController {
    private static final Logger LOGGER = LoggerFactory.getLogger(VehicleController.class);

    @PostMapping(consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
    void post(@RequestBody Vehicle anyVehicle) {
        LOGGER.info("Vehicle : {}", anyVehicle);
    }
}

@ApiModel(discriminator = "type", subTypes = {Car.class, Bike.class})
public class Vehicle {
    String brand;
    String type;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getType() {
        return type;
    }

    public void setType(String …
Run Code Online (Sandbox Code Playgroud)

swagger swagger-ui springfox

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

为什么Ruby File类不包含size实例方法

File类有一个名为size的类方法,它接受一个路径并返回路径指向的文件的大小.什么是没有在文件上调用大小的实例方法的原因.

这就是为什么它对我很重要.

我正在使用httpclient gem.我用它来将文件上传到服务器.例如,我将使用以下语句使用httpclient将文件上载到服务器

file=File.open("foo.txt")
HttpClient.new.put("/upload", file)
Run Code Online (Sandbox Code Playgroud)

如果我没有将大小实例方法添加到File类,它会抱怨所以我继续进行修改,如下所示:

 class File
   def size
       @file_size ||= File.size(self.path)
   end
 end
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否有理由没有将size方法添加为实例方法,并且有更好的方法来完成我所做的事情.

ruby ruby-on-rails httpclient

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

设置IntelliJ IDEA IDE以使用Play2应用程序?

我想将IntelliJ IDEA设置为我的Play2应用程序的IDE.根据文档,应该有一个play框架附带的idea命令.请参见http://www.playframework.org/documentation/2.0.3/IDE.我刚刚下载,解压缩并设置了播放框架甚至创建了一个新的应用程序但是想法命令似乎缺失了.

这个命令在哪里?如果它不可用,那么我可以使用一些手动设置环境的技巧.

我已经尝试过创建一个新项目并导入源代码但是IntelliJ没有检测到任何框架.

intellij-idea playframework playframework-2.0

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

使用casperjs处理jquery事件

我有一个网页,在加载dom后,javascript继续在页面上运行并在页面上添加元素.在运行所有javascript之后,我触发了一个jquery事件page.loaded,以便在运行所有我的javascripts之后对页面上的组件感兴趣可以这样做.

我试图使用casperjs/phantomjs自动测试这个网页,我想在jQuery页面加载事件被触发后才检查页面上的元素.我应该怎么做呢?

javascript phantomjs casperjs

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

导入请求模块不起作用

我在我的系统上安装了请求模块.

pip install requests
Run Code Online (Sandbox Code Playgroud)

现在我试图在rpel中导入请求

import requests
Run Code Online (Sandbox Code Playgroud)

它失败并出现以下错误

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named requests
Run Code Online (Sandbox Code Playgroud)

python python-requests

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

在Ansible中,我们如何将所有任务文件包含在目录中

我有一个包含任务文件的目录,我想遍历这些任务文件并将其包含在我的剧本中。我怎样才能做到这一点?

我尝试了以下方法,但似乎不起作用,

- include: "{{ item }}"
  with_items: export.stdout_lines    
Run Code Online (Sandbox Code Playgroud)

这给我一个错误,

ERROR: [DEPRECATED]: include + with_items is a removed deprecated feature.  Please update your playbooks.
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上的其他帖子中查看了该特定错误和解决方法,但它似乎与我的问题无关。

我正在使用ansible 1.9.4。

python ansible

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