有一个非常类似的问题.其中一个解决方案使用如下代码:
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)
请帮忙?
使用etags/stale会有什么好处?/ fresh_when?而不是页面缓存(在文件缓存上)?
Apache自动处理静态文件的etags,但即使它没有,页面缓存仍然会更好,因为Rails应用程序甚至不会被调用.
那么,在什么情况下我会使用Rails提供的方法(过时?/ fresh_when?)?
我正在考虑编写一个应用程序,根据家庭成员的喜好对HTPC中的电影进行分类.
我不知道统计数据或人工智能,但这里的东西看起来很多汁.我不知道从哪里开始做.
这就是我想要完成的事情:
从每个用户喜欢组合一组样本,分别对每个样本属性进行评级.例如,也许用户喜欢西方电影很多,所以西方流派会为该用户带来更多的权重(等等其他属性,如演员,导演等).
用户可以基于其他用户的喜欢获得建议.例如,如果用户A和B都喜欢Spielberg(用户之间的连接),而用户B喜欢Batman Begins,但是用户A厌恶Katie Holmes,则相应地为用户A权衡电影(再次,每个属性分开,例如,也许用户A不喜欢动作电影,所以将评级降低一点,因为凯蒂霍姆斯不是主要的明星,所以不要像其他属性那样考虑到这一点.
基本上,比较来自用户A的集合,类似于来自用户B的集合,并为用户A提供评级.
我对如何实现这一点有一个粗略的想法,但我确信一些聪明的头脑已经考虑过一个更好的解决方案,所以...任何建议?
实际上,经过快速研究,似乎贝叶斯过滤器可行.如果是这样,这会是更好的方法吗?是否只是简单地"标准化"电影数据,为每个用户训练分类器,然后只对每部电影进行分类?
如果你的建议包括一些大脑融化概念(我在这些科目中没有经验,特别是在人工智能方面),如果你在深入研究多肉之前还列出了一些基础知识供我研究,我会很感激.
谢谢!
algorithm statistics machine-learning bayesian neural-network
我想我知道如何创建自定义加密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文件,然后检查其内容时,它似乎在键的开头和结尾有其他字符.这是正常的吗?
我真的不了解这些安全性的东西,但我正在努力学习.我做错了什么?
我试图在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"的事情,但是像这样的匿名函数呢?
谢谢!
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?
编辑:正如所指出的那样,代码中存在其他错误,但这不是重点.我只是想说明我想要完成的事情,即在关闭一个类之后运行一些代码(它可以随意重新打开并不重要).现在我知道这可能是不可能的.
谢谢!
这是一个奇怪的要求,可能需要另一种方法,但我的大脑卡住了.
我想完成这样的事情:
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=.
我想我可以使用一个实例变量,但这看起来更干净,不是吗?
什么相当于relative_url_rootActionMailer?
我已尝试将其设置为default_url_options,但它会将参数附加到查询字符串中.
添加:skip_relative_url_root = false也不起作用.
使用:host = 'somehost.com/subdir' 确实有效,但这是否合适?
谢谢!
我知道这听起来有点疯狂,但我正在构建一个能够驱动并绑定多个应用程序的引擎,并且由于所有应用程序都将使用给定的插件,我想知道我是否可以将插件放入引擎中.
所以我把它放在vendor/plugins中,但它似乎没有加载.
我一直在玩autoload_paths和require,但我一直没成功.
有谁知道这是否可能?或者您对我可能会尝试的内容有所了解吗?
谢谢!
我对NoSQL系统并不十分熟悉,但我记得有一段时间他们认为它们是处理统计数据的理想选择.
由于我即将开始编写将记录"每天注册了多少用户"等数据的代码,我想我可以利用这个机会了解更多有关NoSQL的信息,如果它符合要求的话.
如果NoSQL确实是理想的,你能否提供一些有关原因的信息?哪种特定系统最适合这种特殊需求?
因此,在第一个答案之后,也许有必要澄清一点.
我目前有一个PostgreSQL数据库,我将从中获取数据.它将非常简单,无需计算.例如,我将获得一个结果集,其中包含过去一个月每天注册的用户数量(因此它基本上只是一组日期/用户的值对)并将其保存在另一个表/数据库中.
谢谢!
ruby ×3
statistics ×2
actionmailer ×1
algorithm ×1
bayesian ×1
caching ×1
diacritics ×1
encryption ×1
etag ×1
function ×1
javascript ×1
jquery ×1
memoization ×1
nosql ×1
openssl ×1
string ×1
variables ×1