小编var*_*tis的帖子

Heroku上的OpenSSL :: SSL :: SSLError

我正在尝试通过Facebook或Twitter对用户进行身份验证,让他们填写他们的信息,然后单击"保存"(从而创建用户记录).我在最后一步得到一个OpenSSL错误 - 点击保存后.这发生在Devise RegistrationsController #create方法中.

所以我在我的Rails应用程序中收到此错误,在Heroku上托管:

2012-07-28T18:25:13+00:00 app[web.1]: OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed)
Run Code Online (Sandbox Code Playgroud)

我见过很多解决方案,但都没有.以下是我尝试过的一些事情:

1)安装certified宝石

2)将Heroku宝石升级到v2.30,再次推动

3)这个:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, TWITTER_KEY, TWITTER_SECRET, {:client_options => {:ssl => {:ca_file => "/usr/lib/ssl/certs/ca-certificates.crt"}}}
  provider :facebook, FACEBOOK_KEY, FACEBOOK_SECRET, {:scope => "publish_actions,user_location,email", :client_options => {:ssl => {:ca_file => "/usr/lib/ssl/certs/ca-certificates.crt"}}}
end
Run Code Online (Sandbox Code Playgroud)

似乎有一个问题可能是这个证书文件实际上并不存在 - 我已经在几个地方看到了它,而且看起来这是Heroku的ca_cert文件的默认路径,但我可能是错的.

奇怪的是,这是我通过FB/Twitter进行身份验证之后发生的,并且我正在尝试创建用户的帐户.为什么会这样,我该如何解决/调试呢?真诚的困惑.

更新:我将此行添加到Omniauth初始化程序,现在它"正常".因此,我已经诊断出问题出在Omniauth上.但是,我还想进行SSL验证......这显然会留下安全漏洞.

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

openssl ruby-on-rails heroku omniauth

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

需要更多机械化文档(python)

我很难找到适合Mechanize文档的全面资源.即使是关于mechanize网站的主要文档也不是那么好:它似乎只列出了例子.

是否有更正式的文档位置,我可以看到此模块的类和方法列表?我对python有点新意,所以也许有一个简单的答案.

更具体地说,我需要一个很好的信息来源mechanize.Browser(),我只能通过Stack Overflow上的随机问题找到相关信息.

python mechanize

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

以递归方式生成列表的所有可能排列

我试图以递归方式递归生成列表中的所有项目.我已经看到了类似问题的一些解决方案,但我无法让我的代码工作.有人可以指出我如何修复我的代码?

这对所有S/O'ers开放,而不仅仅是Java人员.

(另外我应该注意它因SO异常而崩溃).

样本输入:[1,2,3]

输出:[1,2,3] [1,3,2] [2,1,3] [2,3,1] [3,1,2] [3,2,1]

//allPossibleItems is an AL of all items 

//this is called with generatePerm(null, new ArrayList<Item>);

private void generatePerm(Item i, ArrayList<Item> a) {
      if(i != null) { a.add(i); }
      if (a.size() == DESIRED_SIZE){
          permutations.add(a);
          return;
      }
      for(int j = 0; j < allPossibleItems.size(); j ++) {
          if(allPossibleItems.get(j) != i)
            generatePerm(allPossibleItems.get(j), a);
      }
  }
Run Code Online (Sandbox Code Playgroud)

java algorithm permutation

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

如何检查指针是否指向NULL?

标题可能有点用词不当......只是因为我不确定我的char指针是否指向NULL,或者它只是指向大小为0的char数组.

所以我有

char* data = getenv("QUERY_STRING");
Run Code Online (Sandbox Code Playgroud)

我想检查数据是否为空(或长度<1).我试过了:

if(strlen(data)<1) 
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

==24945== Invalid read of size 1
==24945==    at 0x8048BF9: main (in /cpp.cgi)
==24945==  Address 0x1 is not stack'd, malloc'd or (recently) free'd
Run Code Online (Sandbox Code Playgroud)

我也试过了

if(data == NULL)
Run Code Online (Sandbox Code Playgroud)

但结果相同.

这里发生了什么?我已经尝试过使用数据,这很好用.我似乎无法检查它是否为空或空.

我意识到这些是两个不同的东西(空和空).我想知道这里有哪一个数据,以及如何检查它是否为空/空.

c c++ null

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

电子商务应用程序设计:如何在二手商品网站上管理购物车?

我正在使用带有PayPal API的Ruby on Rails为旧货制作电子商务市场,以完成购买.所以基本上这笔交易是人们可以买卖他们的东西 - 比如eBay或Half.com.使用所有项目.这是我的问题:用过的商品意味着每件商品都是独一无二的 - 至少在卖家通常只携带他们销售的二手商品的意义上.这给我带来了我的问题,对于之前遇到过这类问题的开发人员:我应该如何处理以下情况:

  • 卖家列出他的运动衫
  • #1号人员将运动衫加入购物车
  • #2号人员将同样的运动衫添加到购物车中
  • #1号人员通过PayPal结账

现在,我对Person#2做了什么?显然,他不能查看同样的运动衫,因为卖家只有1件运动衫.我想知道的是我应该如何处理这种情况.到目前为止,我已经提出了两种可能的解决方案,但对我来说似乎都不令人满意.(顺便说一下,添加用户当前购物车是会话变量可能是相关的)

选项#1:当人员#1将运动衫添加到他的购物车时,你用一个布尔字段标记运动衫,例如available = false.这样做的缺点是用户可以将项目添加到他的购物车,然后闲置.因此,在Person#1的购物车到期之前,没有人可以购买该商品.

选项#2:当我从PayPal获得IPN时,运动衫仅被标记为不可用.这样做的缺点是理论上你可以让人#1和#2立刻从PayPal中退出,因此他们都会购买运动衫,直到我拿到IPN之后我才意识到我已经知道了卖了两次产品.

StackOverflow的想法是什么?是否有任何有此领域经验的人可以提供一些见解?

ruby-on-rails e-commerce

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

CSS重叠箭头

我正在尝试使用CSS3完成非常类似于下图的内容.

在此输入图像描述

唯一的区别是最后一个div会有尖头.

在我寻找类似于适应的东西的过程中,我遇到了这个非常接近我想做的js小提琴,但是引入了两个问题:第一,它用帆布完成,第二,它迫使我"画画"箭头每箭头有效两次 - 一个用于div,一个用于下一个箭头之前的空格.必须有一些更清洁的方式这样做 - 有人能在这里给我一些方向吗?

我需要知道的是如何使用CSS3构建上图中显示的内容 - 一系列重叠的div箭头.

css css3

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

Rails,根据参数是否为零来应用范围

我已经多次遇到这个问题:我想在查询中应用范围,但前提是传递给范围的参数不是null.所以

tags = Tag.where(name: params[:name]) if params[:name]
Run Code Online (Sandbox Code Playgroud)

但是,这有两个问题.一个是Rails会立即评估查询,所以如果我想对它应用更多条件,比如说

tags.where(location: params[:place]) if params[:place]
Run Code Online (Sandbox Code Playgroud)

它将再次查询DB.第二个问题是它看起来不太好,我试图用类方法解决这个问题.

  class Tag < ActiveRecord::Base
    def self.name_like this_name
      if !this_name.blank?
        where("name ILIKE '%#{this_name}%'")
      else
        #what do I put here? `all` does not work
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

但是,我不能简单地放在all那里,因为它会评估查询.有什么想法吗?

scope ruby-on-rails ruby-on-rails-3

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

Perl,在由未知字符分隔的同一行中多次匹配一个模式

我已经能够找到类似但不完全相同的问题.如何在由未知字符分隔的同一行中多次匹配一个正则表达式模式?

例如,假设我想匹配模式HEY.我想要认识到以下所有方面:

嘿嘿

HEYxjfkdsjfkajHEY

所以我在那里算了5个HEY.所以这是我的程序,它适用于除最后一个之外的所有内容:

open ( FH, $ARGV[0]);
while(<FH>)
{
  foreach $w ( split )
  {
      if ($w =~ m/HEY/g)
      {
            $count++;
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何替换foreach循环,以便我可以识别未知配置中奇怪字符分隔的模式(如上例所示)?

编辑:

感谢迄今为止的出色回应.我刚才意识到我需要另外一件事,我在下面的评论中提到了这一点.

但有一个问题是:有没有办法保存匹配的条款?所以在我的情况下,有没有办法引用$ w(比如说正则表达式更复杂,我想将它存储在具有出现次数的哈希值中)

因此,如果我匹配一个真正的正则表达式(比如一系列字母数字字符),并希望将其保存在哈希中.

regex perl

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

选择2,当没有选项匹配时,应出现"其他"

使用select2下拉列表,如果没有选项与用户输入的输入相匹配,如何显示默认选项?

$("something").select2({
  formatNoMatches: function(term) {
    //return a search choice
  }
});
Run Code Online (Sandbox Code Playgroud)

我无法在select2文档或Stack Overflow中找到任何与所需功能相匹配的内容.

编辑 我越来越接近这个

$("something").select2({
  formatNoMatches: function(term) {
    return "<div class='select2-result-label'><span class='select2-match'></span>Other</div>"
  }
});
Run Code Online (Sandbox Code Playgroud)

但这很糟糕,而且也无法点击.

javascript jquery jquery-select2

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

*iPhone上的Java IDE*?

是否有类似Eclipse(或任何)用于从我的iPhone开发Java程序?请注意,这并不是指为iPhone开发java应用程序.我只是想在我的手机上发展,即使它是屁股的痛苦.

java ide iphone

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