Rich Hickey在他的简单轻松谈话中描述了Clojure和Haskell的范例.作为一个ruby/rails程序员(这是我真正知道的),我喜欢他的想法,但不理解其中的两个:
改为使用队列
显然,在Rails中我们喜欢方法链接,但是我想要了解Ruby中的Queue在他描述它的方式(54:54在视频中):
如果事物A调用事物B,那么你只需要它.你有什么时间和地点.A必须知道B在哪里才能调用B.当发生这种情况时,无论什么时候发生都是在A做的时候.在那里贴一个队列.
规则与条件
他谈到不使用条件或切换语句而是使用规则(30:00在视频中).
对于Ruby来说,我根本就不了解.如何在不使用条件的情况下做出决定?
谢谢大家,贾斯汀
如何在 Elastic Beanstalk 上的 Amazon Linux 2018.03(具体来说,不是 AMZ Linux 2)上安装 Postgresql 11?
我想安装一个包而不是手动构建二进制文件。如果自动缩放机器启动并必须构建整个 PG 二进制文件,则在 t2/t3.micro 上将花费更长的时间。
我在找pg_dump。
[编辑] 更详细,解释为什么建筑不适合我的情况。
我正在使用Datetimepicker和Slider。我将它们包含在我的 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 再次开始工作。
有什么想法吗?
当我在一个孩子上调用一个实例方法但是孩子还没有定义它时,我想引发异常.鉴于代码:
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 ×3
assets ×1
clojure ×1
exit ×1
gem ×1
haskell ×1
inheritance ×1
intellij-13 ×1
linux ×1
paradigms ×1
postgresql ×1