小编pos*_*eid的帖子

Cookie和Redis会话存储有什么区别?

我想在不同节点上的2个应用程序之间共享会话; 但是,我很困惑Cookie和Redis会话商店之间的区别; 例如,cookie会话可能如下所示:

rack.session=BAh7BkkiD3Nlc3Npb25faWQGOgZFRiJFN2YxZDMxMGE5YTNhZjc2NGM1NDBk%0AMzdiODQ0MjcyMzk5MzAxY2YyYzdhNDMwOWVkMzhiNWVlMmY2N2QwYzExNg%3D%3D%0A--ec4ec7b5a807c806e02e2811f4a11d05877a7698
Run Code Online (Sandbox Code Playgroud)

在Redis中,会话存储可能如下所示:

rack:session:eb23c0a055e9e6de3b8ad51efd9g6260d647b2e61326e35f5ff59cd490bfb405"
Run Code Online (Sandbox Code Playgroud)

但是,我很困惑如何分享这些会话.在cookie方法中,请求带有会话状态,我无法看到Redis中的会话实际上与2个应用程序中的状态匹配.有关如何在2个机架应用程序中使用Redis/share会话状态的任何建议吗?

cookies rack session-state session-cookies redis

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

门户网站的Ruby技术

我刚看到whitehouse.gov正在使用drupal作为CMS和门户技术.drupal的一个优点似乎是很容易添加插件并且编程是最小的,即重新发明轮子是最小的.这实际上就是Ruby-on-Rails的DRY哲学.所以:

  • drupal的缺点是什么?
  • Rails或其他基于Ruby的技术会被取消作为whitehouse.org(或其他CMS门户)门户技术的资格?

ruby portal drupal ruby-on-rails content-management-system

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

如何在Ruby中干?

我怎么能缩短和扩展它:

  def overview
    puts "All As:"
    for f in @a
      puts f
    end
    puts "\n"  

    puts "All Bs:"
    for f in @b
      puts f
    end
  end

ruby dry

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

如何将Ruby脚本作为可执行文件执行?

我想将我的ruby脚本作为可执行文件执行,我也应该在/ usr/bin /目录下执行.我知道有可能这样.

#!/usr/bin/ruby
puts "hello"
Run Code Online (Sandbox Code Playgroud)

chmod +x hello
Run Code Online (Sandbox Code Playgroud)

但我也想要一些ruby文件.

例如,如果我添加

require './other_ruby_script' 
Run Code Online (Sandbox Code Playgroud)

进入我的代码并将Ruby可执行文件移动到/ usr/bin /,它给出了以下错误:

无法加载此类文件'other_ruby_script'

我想在/ usr/bin目录下执行Ruby文件.

也许我应该编译它?但我无法编译,因为我不明白谷歌搜索"如何编译?".

如何创建可执行的ruby代码作为我的代码的合适格式.(要求'./other_file').而且我不必像这样执行./hello我的可执行文件.我应该以hello身份执行

ruby executable compilation

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

尝试生成设计时出错:在Ruby on Rails中安装

我是Ruby on Rails的新手,我试图从互联网上做一些例子.但是当我尝试生成设计安装时,我有一个错误.我通过添加gem devise修改了Gemfile .然后运行:

bundle install
Run Code Online (Sandbox Code Playgroud)

但是当我跑

rails generate devise:install
Run Code Online (Sandbox Code Playgroud)

我有下一个错误:

/usr/local/lib/ruby/gems/0.9.1/gems/devise-1.1.3/lib/devise.rb:193:in `mailer=': undefined method `ref' for ActiveSupport::Dependencies:Module (NoMethodError)
    from /usr/local/lib/ruby/gems/1.9.1/gems/devise-1.1.3/lib/devise.rb:195:in `<module:Devise>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/devise-1.1.3/lib/devise.rb:4:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /home/mihai/Desktop/blog/config/application.rb:7:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:24:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:24:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

请帮我!

ruby rubygems ruby-on-rails

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

如何使用UnderscoreJS进行讨论?

我有点尝试_.bind(...).我看到如何用bind强制函数上下文,但还没看到如何进行currying.

我尝试的是这个:

 add = function(number) { this.sum = this.sum + number; }
 add5 = _.bind(add, { sum: 0 }, 5)
Run Code Online (Sandbox Code Playgroud)

但是,打电话add5(),或者add5(5)似乎没有一些效果.

任何线索如何包装参数,以便从一个调用到另一个调用保留上下文?

javascript underscore.js

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

如何从嵌套的promise中返回值?

我在Redis中有一组电影ID: [1,2,3,4]以及一组包含实际数据的哈希值.现在,我想一次获取ID的所有电影数据.

我正在尝试使用蓝鸟,但我被卡住了.到目前为止,我有:

  function allMovies() {
    var movies, movieIds;
    return client.smembersAsync('movies.ids').then(function(ids) {
      movieIds = ids;
      movies =  _.map(movieIds, function(id) {
         var movie;
         return client.hmgetAsync("movies:" + id, 'title', 'description', 'director', 'year').done(function(data) {
           movie = data;
           return {
                 title: data[0], 
                 description: data[1], 
                 director: data[2],
                 year: data[3]
               };
          });
          return movie;
        });
    })

问题来自我的尝试,我总是得到一个新的承诺,而我只是在所有操作完成后对JSON感兴趣.

这里的任何人都能对此有所了解吗?

redis node.js promise bluebird

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

阅读源代码

如果您阅读其他人的源代码,您如何处理代码?您正在寻找什么模式(数据类型,循环,控制流的使用,......)?你能多久阅读其他人的代码而不会觉得无聊?到目前为止,您发现的最令人兴奋的模式是什么?

java design-patterns discovery

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

为什么在Rspec示例中未定义的方法"has_many"?

我正在玩一个关于在RSpec中通过关联测试has_many的示例.我得到了一个

   1) Foo specifies items
       Failure/Error: subject.should have_many(:items)
       NoMethodError:
         undefined method `has_many?' for #
       # ./spec/models/foo_spec.rb:10

我的问题:为什么has_many会被定义?

规格是:

describe Foo do
  it "specifies items" do
    subject.should have_many(:items)
  end
end
Run Code Online (Sandbox Code Playgroud)

我的模特是:

foo.rb:

 class Foo < ActiveRecord::Base
   has_many :bars
   has_many :items, :through => :bars
 end
Run Code Online (Sandbox Code Playgroud)

bar.rb:

class Bar < ActiveRecord::Base
  belongs_to :foo
  belongs_to :item
end
Run Code Online (Sandbox Code Playgroud)

和item.rb:

class Item < ActiveRecord::Base
  has_many :foos, :through => :bars
  has_many :bars
end
Run Code Online (Sandbox Code Playgroud)

activerecord rspec

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

为什么这个Backbone View定义了el undefined和$ el?

我很困惑为什么'''''''在这里未被定义,并且定义了$ el.

未定义的el

背景是使用CoffeeScript进行实验,如下所示:

class FastTodo.Views.AddTodoItem extends Backbone.View

  template: JST['todo_items/add_item']

  el: $('#main')

  render: ->
    console.log("render")
    console.log($("#main"))
    console.log(@el)
    console.log(@)
    $(@el).html @template

  initialize: ->
    @render()

在这种情况下如何渲染视图?

coffeescript backbone.js

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