问题列表 - 第49334页

Hibernate,id,oracle,sequence

我的数据库是Oracle,我的id列值是一个Oracle序列,这个序列由一个触发器执行,因此,在插入每一行之前,这个触发器使用这个序列来获取id值.所以我很困惑我应该在我的实体类中定义哪个id策略生成.

@GenericGenerator(name = "generator", strategy = "increment")
@Id
@GeneratedValue(generator = "generator")
Run Code Online (Sandbox Code Playgroud)

要么

@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "idGenerator")
@SequenceGenerator(name="idGenerator", sequenceName="ID_SEQ")
Run Code Online (Sandbox Code Playgroud)

要么

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Run Code Online (Sandbox Code Playgroud)

真的很困惑,有人会对这个问题有所了解吗?请清楚解释..

java oracle orm hibernate jpa

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

Rails 3中的动态错误页面

在Rails 2.3.x中,您可以render_optional_error_file像这样覆盖:

# ApplicationController.rb
protected
  def render_optional_error_file(status_code)
    render :template => "errors/500", :status => 500, :layout => 'application'
  end
Run Code Online (Sandbox Code Playgroud)

但是,Rails 3不再具有render_optional_error_file.相反,你需要覆盖rescue_action_in_public,你可以这样做:

# config/initializers/error_page.rb
module ActionDispatch
  class ShowExceptions

    protected    
      def rescue_action_in_public(exception)
        status = status_code(exception).to_s

        template = ActionView::Base.new(["#{Rails.root}/app/views"])
        if ["404"].include?(status)
          file = "/errors/404.html.erb"
        else
          file = "/errors/500.html.erb"
        end        
        body = template.render(:file => file)

        render(status, body)
      end

  end
end
Run Code Online (Sandbox Code Playgroud)

这有效,但不使用应用程序的布局.但是,如果您指定布局路径,如下所示:

body = template.render(:file => file, :layout => "layouts/application") # line 15
Run Code Online (Sandbox Code Playgroud)

你得到一个Error during failsafe response: ActionView::Template::Error. …

error-handling exception-handling ruby-on-rails actionview ruby-on-rails-3

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

检查给定的字符串是否为URL

在我的rails应用程序中,我需要验证用户提供的URL是否真的是一个URL.我只关心HTTP协议(也许是HTTPS,我根本没有考虑过这一点),这让我相信在rails中可能已经存在一些可以为我工作的东西.

如果不是:你能推荐一个正则表达式字符串吗?我在google搜索后发现了一些,但根据用户评论他们似乎都有一两个问题.

谢谢

ruby regex ruby-on-rails

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

使用其他Cython代码中的自定义Cython代码

我目前正在尝试优化我的Python程序并开始使用Cython以减少函数调用开销,并且可能稍后包括优化的C库函数.

所以我遇到了第一个问题:

我在我的代码中使用组合来创建一个更大的类.到目前为止,我已经将我的一个Python类转换为Cython(这很难).这是代码:

import numpy as np
cimport numpy as np
ctypedef np.float64_t dtype_t
ctypedef np.complex128_t cplxtype_t
ctypedef Py_ssize_t index_t

cdef class bendingForcesClass(object):
    cdef dtype_t bendingRigidity
    cdef np.ndarray matrixPrefactor
    cdef np.ndarray bendingForces

    def __init__(self, dtype_t bendingRigidity, np.ndarray[dtype_t, ndim=2] waveNumbersNorm):
        self.bendingRigidity = bendingRigidity
        self.matrixPrefactor = -self.bendingRigidity * waveNumbersNorm ** 2

    cpdef np.ndarray calculate(self, np.ndarray membraneHeight):
        cdef np.ndarray bendingForces
        bendingForces = self.matrixPrefactor * membraneHeight
        return bendingForces
Run Code Online (Sandbox Code Playgroud)

从我编写的Python/Cython类中,我调用了类方法calculate,因此在我的编写类中,我有以下(简化)代码:

from bendingForcesClass import bendingForcesClass

cdef class membraneClass(object):
    def  __init__(self, systemSideLength, lowerCutoffLength, bendingRigidity):
        self.bendingForces …
Run Code Online (Sandbox Code Playgroud)

python methods class composition cython

11
推荐指数
2
解决办法
1574
查看次数

是否可以在MySQL中创建一个UNIX_TIMESTAMP默认列?

我试图这样做,但似乎MySQL不允许我这样做.是否有解决此问题的方法,或者我希望在我的INSERT查询中始终包含该函数?

CREATE TABLE foo(
  created INT NOT NULL DEFAULT UNIX_TIMESTAMP()
)
Run Code Online (Sandbox Code Playgroud)

我知道接受CURRENT_TIMESTAMP默认值的TIMESTAMP类型,但我的客户端坚持在数据库中使用纪元时间.

mysql sql database database-design database-schema

35
推荐指数
5
解决办法
4万
查看次数

在实数列表中查找最大间隔总和

这是一位同事要求编程职位的面试问题.我认为这对于观看受访者的思考非常有用.我很想得到SO社区如何看待它的回应.

给定长度为N的实数列表,比如[a_1, a_2, ..., a_N],找到存在索引1 <= i <= j <= N的最大值M的复杂度是多少

a_i + a_{i+1} + ... + a_j = M

如果这是一个典型的CS问题我很抱歉.

algorithm math complexity-theory

6
推荐指数
2
解决办法
7439
查看次数

测试Web应用程序与Cucumber的Facebook集成

我想通过执行以下场景,使用Cucumber和Capybara来测试我的Rails应用程序的Facebook注册过程:

@javascript
Scenario: Connect account
  When I go to the home page
  And I press "Connect your Facebook account"
  And I fill in "test@address" for "Email"
  And I fill in "test" for "Password"
  And I press "Login"
  And I press "Allow"
  Then I should be on the dashboard page
Run Code Online (Sandbox Code Playgroud)

人们如何处理基于浏览器的Facebook集成的集成测试问题?网络搜索只出现了几个早于图API的博客帖子,他们似乎只讨论实现一个前提条件,即建立一个代表已经登录到Facebook的用户的环境.

要解决的一些具体问题:

如何模拟单击<fb:login-button>元素?我想出的最好的事情(但尚未测试)是手动触发元素上的click事件.

一旦Facebook对话框出现,Capybara是否可以访问它?怎么样?这似乎是为了输入测试Facebook帐户的电子邮件地址和密码以及为测试帐户安装Facebook应用程序所必需的.

就此而言,如何管理测试帐户?http://developers.facebook.com/docs/test_users/表示可以使用Graph API创建和删除测试用户,但API不希望提供对测试帐户的电子邮件地址或密码的访问,这似乎使它们无法用于测试这个特定的流程.

我相信我也会忽略其他重要问题.我很好奇其他人是如何攻击这个问题的!

facebook ruby-on-rails cucumber capybara

9
推荐指数
2
解决办法
5131
查看次数

为什么Python让我在一个范围内定义变量,但在另一个范围内使用它?

我看到可以在范围内定义一个变量,但是然后在该范围之外引用它.例如,以下代码有效:

if condition:
    x = 5
else:
    x = 10
print x
Run Code Online (Sandbox Code Playgroud)

然而,这让我觉得有些奇怪.如果您尝试在C中执行此操作,则变量X将无法正确确定范围:

if(condition) { int x = 5; }
else { int x = 10; }
print x; // Doesn't work: x is unavailable!
Run Code Online (Sandbox Code Playgroud)

无论如何,在C中的解决方案是首先声明X,然后找出它的作用:

int x;
if(condition) { x = 5; }
else { x = 10; }
print x; // Works!
Run Code Online (Sandbox Code Playgroud)

所以,在Python中,我的直觉就是编写如下代码:

x = None
if condition:
    x = 5
else:
    x = 10
print x
Run Code Online (Sandbox Code Playgroud)

但是,我意识到Python并不要求我这样做.有什么建议?这种情况是否有样式指南?

python

7
推荐指数
2
解决办法
402
查看次数

从PHP(或任何语言)中删除字符串重复项的最佳方法是什么?

我正在寻找最知名的从字符串中删除重复项的算法.我可以想到很多方法,但我正在寻找一种特别有效的解决方案.

假设您有以下字符串:

  • Lorem Ipsum Lorem Ipsum
  • Lorem Lorem Lorem
  • Lorem Ipsum Dolor Lorem Ipsum Dolor Lorem Ipsum Dolor

我希望这个算法为每个(分别)输出:

  • Lorem Ipsum
  • Lorem
  • Lorem Ipsum Dolor

注意,我在PHP中这样做,以防有人知道任何内置的PHP函数可以帮助解决这个问题.

谢谢!

php deduplication

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

如何编写switch语句来测试DialogResult并提供直通逻辑

我在测试函数的返回值时遇到了奇怪的结果.这段代码在for循环中:

DialogResult result = EvalReturnFromWS(returnMsg);
     switch (result)
     {
         case DialogResult.Yes:
         case DialogResult.No:
              continue;
         default:
              break;
     } 
Run Code Online (Sandbox Code Playgroud)

这是来自被调用函数的片段(在我的单元测试中,我总是单击"是"按钮):

DialogResult result = MessageBox.Show(mbText.ToString(), caption, button, icon);
switch (result)
    {
         case DialogResult.Yes:
              return DialogResult.Yes;
         case DialogResult.No:
              return DialogResult.No;
         case DialogResult.Cancel:
              return DialogResult.Cancel;
    }
Run Code Online (Sandbox Code Playgroud)

当我单击"是"时它返回DialogResult.Yes但返回调用代码,执行流程到第二个案例,这是"否",这是一个继续,这是我不打算.

在StackOverflow的其他地方,我看到一个线程,暗示编写一个"落地"案例,就像我对DialogResult一样.是的.

简而言之,如果是,我想在切换案例结束后用下一个语句恢复执行.也就是说,"堕落".

编辑 - 抱歉混淆.是的,顶部片段在for循环中.第二个片段在被调用的函数内(该代码发出MessageBox.Show).

c# messagebox switch-statement dialogresult winforms

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