小编Iva*_*van的帖子

从字符串中删除重音符号/变音符号,同时保留其他特殊字符(尝试过mb_chars.normalize和iconv)

有一个非常类似的问题.其中一个解决方案使用如下代码:

string.mb_chars.normalize(:kd).gsub(/[^x00-\x7F]/n, '').to_s
Run Code Online (Sandbox Code Playgroud)

这会产生奇迹,直到你注意到它还会移除空格,圆点,破折号以及谁知道还有什么.

我不是很确定第一个代码是如何工作的,但它是否可以剥离重音符号?或至少给出一个保留的字符列表?我对regexps的了解很少,但我尝试过(无济于事):

/[^\-x00-\x7F]/n # So it would leave the dash alone
Run Code Online (Sandbox Code Playgroud)

我要做这样的事情:

string.mb_chars.normalize(:kd).gsub('-', '__DASH__').gsub
  (/[^x00-\x7F]/n, '').gsub('__DASH__', '-').to_s
Run Code Online (Sandbox Code Playgroud)

残暴?是...

我也尝试过:

iconv = Iconv.new('UTF-8', 'US-ASCII//TRANSLIT') # Also tried ISO-8859-1
iconv.iconv 'Café' # Throws an error: Iconv::IllegalSequence: "é"
Run Code Online (Sandbox Code Playgroud)

请帮忙?

ruby string ruby-on-rails diacritics

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

Rails - etags与页面缓存(文件缓存)

使用etags/stale会有什么好处?/ fresh_when?而不是页面缓存(在文件缓存上)?

Apache自动处理静态文件的etags,但即使它没有,页面缓存仍然会更好,因为Rails应用程序甚至不会被调用.

那么,在什么情况下我会使用Rails提供的方法(过时?/ fresh_when?)?

etag caching ruby-on-rails

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

基于其他用户喜欢的用于查找用户想要的内容的算法

我正在考虑编写一个应用程序,根据家庭成员的喜好对HTPC中的电影进行分类.

我不知道统计数据或人工智能,但这里的东西看起来很多汁.我不知道从哪里开始做.

这就是我想要完成的事情:

  1. 从每个用户喜欢组合一组样本,分别对每个样本属性进行评级.例如,也许用户喜欢西方电影很多,所以西方流派会为该用户带来更多的权重(等等其他属性,如演员,导演等).

  2. 用户可以基于其他用户的喜欢获得建议.例如,如果用户A和B都喜欢Spielberg(用户之间的连接),而用户B喜欢Batman Begins,但是用户A厌恶Katie Holmes,则相应地为用户A权衡电影(再次,每个属性分开,例如,也许用户A不喜欢动作电影,所以将评级降低一点,因为凯蒂霍姆斯不是主要的明星,所以不要像其他属性那样考虑到这一点.

基本上,比较来自用户A的集合,类似于来自用户B的集合,并为用户A提供评级.

我对如何实现这一点有一个粗略的想法,但我确信一些聪明的头脑已经考虑过一个更好的解决方案,所以...任何建议?

实际上,经过快速研究,似乎贝叶斯过滤器可行.如果是这样,这会是更好的方法吗?是否只是简单地"标准化"电影数据,为每个用户训练分类器,然后只对每部电影进行分类?

如果你的建议包括一些大脑融化概念(我在这些科目中没有经验,特别是在人工智能方面),如果你在深入研究多肉之前还列出了一些基础知识供我研究,我会很感激.

谢谢!

algorithm statistics machine-learning bayesian neural-network

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

从Ruby打开RSA私钥

我知道如何创建自定义加密RSA密钥,但是如何读取像ssh-keygen那样加密的密钥呢?

我知道我可以这样做:

OpenSSL::PKey::RSA.new(File.read('private_key'))
Run Code Online (Sandbox Code Playgroud)

但是然后OpenSSL要求我提供密码......我怎样才能将它作为参数传递给OpenSSL?

而且,我如何创建一个与ssh-keygen生成的兼容的?

我做这样的事情来创建私有加密密钥:

pass = '123456'
key = OpenSSL::PKey::RSA.new(1024)
key = "0000000000000000#{key.to_der}"
c = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
c.encrypt
c.key = Digest::SHA1.hexdigest(pass).unpack('a2' * 32).map {|x| x.hex}.pack('c' * 32)
c.iv = iv
encrypted_key = c.update(key)
encrypted_key << c.final
Run Code Online (Sandbox Code Playgroud)

此外,当我尝试无密码登录时,OpenSSL :: PKey :: RSA.new(1024)(没有加密)生成的密钥不起作用(即,我将公钥复制到服务器并使用私有密钥到登录).

此外,当我通过OpenSSL打开一个ssh-keygen文件,然后检查其内容时,它似乎在键的开头和结尾有其他字符.这是正常的吗?

我真的不了解这些安全性的东西,但我正在努力学习.我做错了什么?

ruby encryption openssl encryption-asymmetric

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

匿名函数中的静态变量

我试图在JavaScript函数上模仿静态变量,具有以下目的:

$.fn.collapsible = function() {
  triggers = $(this).children('.collapse-trigger');
  jQuery.each(triggers, function() {
    $(this).click(function() {
      collapse = $(this).parent().find('.collapse');
    })
  })
}
Run Code Online (Sandbox Code Playgroud)

如何保存"折叠"对象,以便不必在每次调用时"找到"它?我知道使用命名函数我可以做类似"someFunction.myvar = collapse"的事情,但是像这样的匿名函数呢?

谢谢!

javascript variables jquery function memoization

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

完全加载类后运行代码

class A
  do_something_from_b

  def method_in_a
  end
end

module B
  def self.included base
    base.extend ClassMethods
  end

  module ClassMethods
    def do_something_from_b
      A.class_eval do
        alias_method :aliased_method_in_a, :method_in_a
      end
    end
  end
end

A.send(:include, B)
Run Code Online (Sandbox Code Playgroud)

该代码将失败,因为当do_somethind_from_b被调用时,method_in_a它还不存在.

那么有没有办法class A在它完全加载后挂钩,而不是在最后do_something_from_b调用class A

编辑:正如所指出的那样,代码中存在其他错误,但这不是重点.我只是想说明我想要完成的事情,即关闭一个类之后运行一些代码(它可以随意重新打开并不重要).现在我知道这可能是不可能的.

谢谢!

ruby

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

在控制器中使用content_for

这是一个奇怪的要求,可能需要另一种方法,但我的大脑卡住了.

我想完成这样的事情:

class UsersController < ApplicationController
  before_filter Proc.new { share_params :user_name }, :only => :show
  render_djs
end

class ApplicationController < ActionController::Base
  include ActionView::Helpers::CaptureHelper
  def share_params(*shared)
    content_for(:djs) { shared.inspect }
  end

  def self.render_djs
    before_filter Proc.new {
      render :inline => "<%= yield(:djs) %>" if request.format.djs?
    }
  end
end
Run Code Online (Sandbox Code Playgroud)

我想使用,content_for因为我可能想:djs在其他过滤器中添加内容到yield.

但是,这个代码提出了undefined method output_buffer=.

我想我可以使用一个实例变量,但这看起来更干净,不是吗?

ruby-on-rails-3

6
推荐指数
3
解决办法
8554
查看次数

ActionMailer中的relative_url_root

什么相当于relative_url_rootActionMailer?

我已尝试将其设置为default_url_options,但它会将参数附加到查询字符串中.

添加:skip_relative_url_root = false也不起作用.

使用:host = 'somehost.com/subdir' 确实有效,但这是否合适?

谢谢!

ruby-on-rails actionmailer ruby-on-rails-3

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

Rails 3:在引擎中包含一个插件

我知道这听起来有点疯狂,但我正在构建一个能够驱动并绑定多个应用程序的引擎,并且由于所有应用程序都将使用给定的插件,我想知道我是否可以将插件放入引擎中.

所以我把它放在vendor/plugins中,但它似乎没有加载.

我一直在玩autoload_pathsrequire,但我一直没成功.

有谁知道这是否可能?或者您对我可能会尝试的内容有所了解吗?

谢谢!

ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

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

NoSQL是否适合存储统计数据?

我对NoSQL系统并不十分熟悉,但我记得有一段时间他们认为它们是处理统计数据的理想选择.

由于我即将开始编写将记录"每天注册了多少用户"等数据的代码,我想我可以利用这个机会了解更多有关NoSQL的信息,如果它符合要求的话.

如果NoSQL确实是理想的,你能否提供一些有关原因的信息?哪种特定系统最适合这种特殊需求?

因此,在第一个答案之后,也许有必要澄清一点.

我目前有一个PostgreSQL数据库,我将从中获取数据.它将非常简单,无需计算.例如,我将获得一个结果集,其中包含过去一个月每天注册的用户数量(因此它基本上只是一组日期/用户的值对)并将其保存在另一个表/数据库中.

谢谢!

statistics nosql

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