小编nit*_*jri的帖子

在Ruby中队列而不是方法链和规则而不是条件

Rich Hickey在他的简单轻松谈话中描述了Clojure和Haskell的范例.作为一个ruby/rails程序员(这是我真正知道的),我喜欢他的想法,但不理解其中的两个:

  • 使用队列,而不是方法链接
  • 规则而不是条件

改为使用队列

显然,在Rails中我们喜欢方法链接,但是我想要了解Ruby中的Queue在他描述它的方式(54:54在视频中):

如果事物A调用事物B,那么你只需要它.你有什么时间和地点.A必须知道B在哪里才能调用B.当发生这种情况时,无论什么时候发生都是在A做的时候.在那里贴一个队列.

规则与条件

他谈到不使用条件或切换语句而是使用规则(30:00在视频中).

对于Ruby来说,我根本就不了解.如何在不使用条件的情况下做出决定?

谢谢大家,贾斯汀

ruby paradigms haskell clojure

16
推荐指数
2
解决办法
795
查看次数

如何在 Amazon Linux AMI 中安装 Postgresql 11?

如何在 Elastic Beanstalk 上的 Amazon Linux 2018.03(具体来说,不是 AMZ Linux 2)上安装 Postgresql 11?

我想安装一个包而不是手动构建二进制文件。如果自动缩放机器启动并必须构建整个 PG 二进制文件,则在 t2/t3.micro 上将花费更长的时间。

我在找pg_dump

[编辑] 更详细,解释为什么建筑不适合我的情况。

linux postgresql amazon-web-services

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

Intellij IDEA 13 退出按钮

如何停止在 intelliJ 中运行的处理以调用关闭挂钩?

这是我正在寻找的按钮,但我的“运行”区域缺少此按钮。在我不小心点击停止后,我必须手动终止该进程。

我怎样才能得到这个按钮?

在此处输入图片说明

intellij-idea exit intellij-13

5
推荐指数
0
解决办法
598
查看次数

Rails 资产未在生产中预编译

我正在使用DatetimepickerSlider。我将它们包含在我的 Gemfile 中

gem 'datetimepicker-rails', github: 'zpaulovics/datetimepicker-rails', branch: 'master', submodules: true
source 'https://rails-assets.org' do
  # gem 'rails-assets-select2-bootstrap-css'
  gem 'rails-assets-seiyria-bootstrap-slider'
end
Run Code Online (Sandbox Code Playgroud)

在我的 application.js

//= require moment
//= require bootstrap-datetimepicker
//= require pickers

//= require seiyria-bootstrap-slider
Run Code Online (Sandbox Code Playgroud)

这在开发中效果很好,但是当我RAILS_ENV=production rake assets:precompile在服务器上运行(capistrano 部署或手动)时,这些和其他人似乎没有被拉进来。 Chrome 首先专门抱怨这两个。

我知道我可以放线Rails.application.config.assets.precompile += %w( *.js )然后做一个=javascript_include_tag :XXXX,但这违背了链轮/清单的目的,对吗?

我对链轮/清单的理解是,当我需要它时,application.js它将包含在部署中,因此客户端对服务器的访问更少。

有什么我想念的吗?

编辑 将问题追溯到uglifier宝石。当我删除/注释掉config.assets.js_compressor = :uglifier并重新编译时,JS 再次开始工作。

有什么想法吗?

ruby gem assets ruby-on-rails

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

Ruby只调用子方法

当我在一个孩子上调用一个实例方法但是孩子还没有定义它时,我想引发异常.鉴于代码:

class Parent
  def foo
    'hihi'
  end
end

class Child < Parent
end
Run Code Online (Sandbox Code Playgroud)

是否有可能以Child.new.foo不同的方式调用会引发此异常?

我明白我可以

class Parent
  def foo
    unless self.class.instance_methods(false).include? :foo
      raise Exception.new("Child didn't define foo!")
    end
    'hihi'
  end
end
Run Code Online (Sandbox Code Playgroud)

我想知道如果没有这个以及我实际执行Child.new.foo呼叫的地方是否可行.

谢谢!

ruby inheritance

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