小编fil*_*nut的帖子

在Ruby中计算字符串中的所有字符

strlen在Ruby中有相当于PHP的方法吗?

我知道Ruby的String#count方法,但它要求我定义一组字符来计算.在我的情况下,我想要计算所有字符,而不仅仅是某些字符.

ruby string count

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

了解BCrypt

我理解如何编写PHP代码以成功利用BCrypt.所以,我不需要帮助它开始工作.

相反,我需要帮助了解BCrypt如何神奇地工作!

这个代码中,在第15行,为了验证登录密码是否= =原始(现在是哈希/盐渍)密码,我觉得你只是(a)使用登录创建一个新的哈希值/盐渍值密码和原始(以及现在的散列/盐渍)密码,然后(b)将(a)中创建的值与原始(现在的散列/盐渍)密码进行比较.我不明白这些是如何平等的,但它们是!

例如,假设用户使用密码test进行注册,这可以说(为简单起见)将哈希/盐腌为1234.

一天后,用户尝试登录(使用1234),我们需要对其进行身份验证.为此,我们执行第15行的代码.这意味着我们执行以下操作:

crypt("test", "1234") == "1234"
Run Code Online (Sandbox Code Playgroud)

如何使用新的盐值(在这种情况下为1234)进行散列/盐析测试会导致匹配?

在这一点上,这个问题大多只是我的脑筋急转弯.;)

php passwords hash salt bcrypt

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

Trello API:以编程方式向卡片描述添加换行符

手动输入 Trello 卡片的描述时,很容易引入换行符:只需按 ENTER。但是,在通过 Trello API设置卡片的描述时,我需要引入换行符到目前为止, \n 和 < br > 没有被解析。有任何想法吗?

line-breaks trello

5
推荐指数
2
解决办法
3223
查看次数

Git克隆失败

我有一个基于Linux的Amazon AMI,它包含一个Git存储库.我想git clone将该存储库存储到我的本地OSX机器(也安装了Git).

该存储库位于Amazon的盒子上/home/ec2-user/my_test_repo.里面的my_test_repo目录是.git目录.

在我的OSX机器上,我可以成功SSH到托管repo的机器ec2-user,我可以执行大量的bash命令.所以,我知道SSH有效.但是,当我从OSX机器执行时,以下命令不起作用:

git clone ssh://ec2-user@ec2-54-81-229-189.compute-1.amazonaws.com/home/ec2-user/my_test_repo.git
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Cloning into 'my_test_repo'...
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么想法?

git git-clone

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

OAuth 线程安全吗?

OAuth 的访问令牌/刷新令牌流对我来说似乎非常不安全。帮助我更好地理解它。

假设我正在与一个利用 OAuth 的 API 集成(比如这个)。我有我的访问令牌,我正在进行 API 调用——世界上一切都很好。但是后来我的访问令牌过期了,我需要一个新的。没问题,我使用发给我的刷新令牌,然后我得到了一个新令牌。

上面的所有内容听起来都不错……但不是在多线程世界中。意思是,如果上述操作都在不同线程上的完全相同的实例上发生两次(例如,两个用户同时请求针对同一个对象的 API 调用),并且在任何给定时间只能有一个访问令牌活着,那么获胜一个不会抵消另一个吗?而在一个高度交易的应用程序中,这种情况不会发生很多。

我有一种强烈的感觉,这是一个愚蠢的问题,但我无法围绕这如何是线程安全的。

oauth thread-safety

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

为什么`收益自我'有帮助?

作为一个Ruby新手,让我感到困惑的是为什么它yield self在方法定义中会有所帮助.我已经遇到这个功能在很多教程为东西是有用的-它使我感觉良好是如何工作的,但我不明白为什么你会永远使用它.

假设我有以下代码:

class Dog

  attr_accessor :breed

  def initialize
    @breed = "Westie"
  end

  def bark
    puts "Woof!"
    yield self if block_given?
  end

end

fido = Dog.new

fido.bark do |d|
  puts "Bark, bark, bark!"
  puts d.breed  
end
Run Code Online (Sandbox Code Playgroud)

所以是的,通过yield self,我现在可以访问Dog我正在产生的块中的类的实例.

但是,即使我没有yield self,我仍然可以访问该实例,对吧?换句话说,下面的代码不会与上面的代码完全相同吗?

class Dog

  attr_accessor :breed

  def initialize
    @breed = "Westie"
  end

  def bark
    puts "Woof!"
    yield
  end

end

fido = Dog.new

fido.bark do
  puts "Bark, …
Run Code Online (Sandbox Code Playgroud)

ruby

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

揭开Ruby ERB代码的神秘面纱

Ruby on Rails新手问题......

请考虑以下代码(在视图中):

<div class="meta">
<%= link_to time_ago_in_words(status.created_at) + " ago", status %> |
<span class="admin">
<%= link_to "Edit", edit_status_path(status) %> |
<%= link_to "Delete", status, method: :delete, data: { confirm: "Ya sure?" } %>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)

在ERB标签内调用的一些方法对我来说似乎很神奇,而我正试图揭开它们的神秘面纱.如果我不明白它是如何工作的,我觉得使用代码感觉不舒服.

有人能指出我在哪里定义和/或记录下列方法(呃,我认为它们是方法,也许这不是正确的术语)?

  • edit_status_path()
  • :删除
  • 数据:
  • 确认:

ruby ruby-on-rails erb

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

创建变量时使用Ruby的`或`关键字

我最近遇到了以下Ruby代码,这让我很困惑:

def initialize(kind, street_1, street_2, city, state, postal_code)
  @kind = kind or ''
  @street_1 = street_1 or ''
  @street_2 = street_2 or ''
  @city = city or ''
  @state = state or ''
  @postal_code = postal_code or ''
end
Run Code Online (Sandbox Code Playgroud)

我不明白or这段代码中扮演的角色是什么.有人可以解释一下吗?

ruby

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