小编Cli*_*ton的帖子

你如何POST到Capybara的URL?

刚刚从Cucumber + Webrat切换到Cucumber + Capybara,我想知道如何将内容发布到Capybara的URL.

在Cucumber + Webrat中我能够迈出一步:

When /^I send "([^\"]*)" to "([^\"]*)"$/ do |file, project|
  proj = Project.find(:first, :conditions => "name='#{project}'")
  f = File.new(File.join(::Rails.root.to_s, file))
  visit "project/" + proj.id.to_s + "/upload",
        :post, {:upload_path => File.join(::Rails.root.to_s, file)}
end
Run Code Online (Sandbox Code Playgroud)

但是,Capybara文档提到:

visit方法只接受一个参数,请求方法总是GET.always GET.

如何修改我的步骤以便Cucumber + Capybara对URL进行POST?

ruby-on-rails webrat cucumber capybara

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

当用户拖动鼠标时,收听JFrame resize事件?

当用户单击JFrame的一角以调整大小并拖动鼠标时,JFrame将根据用户拖动时鼠标的当前位置重新绘制.你怎么能听这些事件?

以下是我目前尝试的内容:

public final class TestFrame extends JFrame {
    public TestFrame() {
        this.addComponentListener(new ComponentAdapter() {
            public void componentResized(ComponentEvent e) {
                // This is only called when the user releases the mouse button.
                System.out.println("componentResized");
            }
        });
    }

    // These methods do not appear to be called at all when a JFrame
    // is being resized.
    @Override
    public void setSize(int width, int height) {
        System.out.println("setSize");
    }

    @Override
    public void setBounds(Rectangle r) {
        System.out.println("setBounds A");
    }

    @Override
    public void setBounds(int x, int y, …
Run Code Online (Sandbox Code Playgroud)

java mouse user-interface swing

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

Capistrano部署rails应用程序 - 如何处理长迁移?

所以我使用Capistrano将rails应用程序部署到我的生产服务器(apache + passenger),目前部署通常是这样的:

$cap deploy
$cap deploy:migrations
Run Code Online (Sandbox Code Playgroud)

它让我想知道,让我们说我的db:迁移花了很长时间在生产服务器上执行(db模式的一个重要的重构) - 在这种情况下,Capistrano的最佳实践是什么?如果用户在部署时连接到我的应用程序会发生什么?在更新数据库时,我应该优雅地将用户发送到静态占位符页面吗?Capistrano是否自动处理?我是否需要编写配方来帮助解决这个问题?或者铁路/乘客的内部机制是否意味着我不必担心这个特殊情况?

谢谢.

apache capistrano ruby-on-rails passenger

25
推荐指数
2
解决办法
6266
查看次数

如何使用Netbeans Profiler找到内存泄漏?

我想在我的java应用程序中找到内存泄漏,但我不知道如何使用Netbeans profiler来做到这一点.

java profiler netbeans

15
推荐指数
2
解决办法
9283
查看次数

如何解决swing监听器内存泄漏?

背景

所以我读到,Swing应用程序中的内存泄漏通常源于各种侦听器(鼠标,键,焦点等)的使用.本质上,因为您将对象注册为侦听器而忘记取消注册该对象,通知程序最终会保留对象的引用,并泄漏一些内存.

我知道我们的应用程序并没有取消注册听众,并对潜在的解决方案进行了一些研究:

我发现处理问题的一种方法是使用WeakReference,可以在这里找到关于swing侦听器的方法的完整细节.

然后,我开始对NetBeans表单编辑器如何在监听器添加到表单后生成代码进行清理并发现NetBeans通过包装对象注册侦听器(即

argTypeComboBox.addItemListener(new java.awt.event.ItemListener() {
    public void itemStateChanged(java.awt.event.ItemEvent evt) {
      argTypeComboBoxItemStateChanged(evt);
    }
});
Run Code Online (Sandbox Code Playgroud)

但生成的代码似乎并没有通过调用来清理removeItemListener.

问题

包装对象是否像弱引用一样?对我来说,它看起来可能会泄漏少量内存(包装对象的大小)?

在处理侦听器时,您是否有其他方法确保在完成侦听后始终收集垃圾?

java swing memory-leaks listeners

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

在Mac OS X上加载JNI lib?

背景

所以我试图在运行时在Mac OS X 上将jnilib(特别是JOGL)加载到Java中.我一直在关注相关的Stack Overflow问题:

我的最终目标是将特定于平台的JOGL文件打包到JAR中,并将它们解压缩到临时目录中并在启动时加载它们.我回过头来尝试使用硬编码路径加载JOGL:

    File f = new File("/var/folders/+n/+nfb8NHsHiSpEh6AHMCyvE+++TI/-Tmp-/libjogl.jnilib");
    System.load(f.toString());
    f = new File ("/var/folders/+n/+nfb8NHsHiSpEh6AHMCyvE+++TI/-Tmp-/libjogl_awt.jnilib");
    System.load(f.toString());
Run Code Online (Sandbox Code Playgroud)

尝试使用JOGL API时出现以下异常:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
Run Code Online (Sandbox Code Playgroud)

但是当我java.library.path通过添加以下JVM选项指定时:

    -Djava.library.path="/var/folders/+n/+nfb8NHsHiSpEh6AHMCyvE+++TI/-Tmp-/" 
Run Code Online (Sandbox Code Playgroud)

一切正常.


是否可以System.load在Mac OS X上使用(或其他变体)作为在运行时调用的-Djava.library.path的替代?

java macos java-native-interface jogl

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

低成本的方式集成用户体验设计?

正如Jeff Atwood提醒我们的那样,开发人员成功的最终指标是我们产品的用户数量.构建人们真正想要使用的软件包括从他们遇到您的品牌的第一分钟到他们关闭的那一刻创造愉快的体验.

让我想知道,在产品开发过程中,小型软件商店可以使用哪些低成本(金钱和时间)的想法/技术/方法来更好地考虑用户体验设计?

usability project-management

5
推荐指数
0
解决办法
208
查看次数

启动一个新的开源项目有哪些常见的陷阱?

生产开源软件本书是有关启动开源项目一个金矿.然而,我希望从stackoverflow用户的经验中学到更多,并且想知道在开始一个新的开源项目时你犯了什么错误(或者你在尝试为一个新项目做出贡献时遇到的困难),你会怎样避免这些陷阱成为一个成功的项目*?

**成功松散地定义为使用的项目,并吸引活跃的贡献者.*

open-source project

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

在JTextArea中实现更智能的文本换行

上下文

目前,我有一个像这样创建的JTextArea:

JTextArea descArea = new JTextArea();
descArea.setFont(style.getFont());
descArea.setLineWrap(true);
descArea.setName("descArea");
descArea.setToolTipText(resourceMap.getString("descArea.toolTipText"));
descArea.setText(model.getName());
JScrollPane descPane = new JScrollPane(descArea,
            JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
Run Code Online (Sandbox Code Playgroud)

当用户在字段中键入内容时,它确实会换行(按照descArea.setLineWrap(true)),但是通过破坏以下示例中的单词会有点笨拙:

替代文字

我们软件的用户希望包装更加巧妙,并自动生成更像:

替代文字

一般的想法是,当他们键入最后一个'th'时,它们一直向下移动到第二行以及插入点,因为它们键入(以类似于几乎所有其他文本编辑器的方式).


问题

我最初的想法是使用Key Listener手动实现这种包装,但我想知道是否有更好的方法/不同的组件可以更容易地实现这个功能?

java user-interface swing

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