小编aef*_*aef的帖子

Commanded 中的相关性和因果关系 ID

Event Store的作者 Greg Young不久前定义了关联ID 来引用根本原因,以及因果 ID 来引用消息的直接原因。

因此,您应该能够通过另一条消息的因果 ID 找到另一条消息对其进行直接响应的一条消息。您应该能够通过具有相同因果 ID 的消息找到同一对话中的所有消息。

如果应用此模式,会话中的第二条消息应将相关 ID 和因果 ID 设置为第一条消息。

在 Commanded 中,我希望第一个事件具有相关 ID 和因果 ID 来指向导致事件发生的命令(也可以在此处进行直观描述)。

令人困惑的是,在 Commanded 自己的事件存储中,命令后的第一个事件似乎具有不同的相关性和因果 ID。所以看来 Commanded 并不适用 Greg Young 的定义。

我的问题是,Commanded 中这些 ID 的具体定义是什么?不遵循格雷格·杨的定义是否是一个有意识的决定?如果是,为什么?

events elixir cqrs event-sourcing commanded

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

当 shell 在带有 .envrc 的目录中启动时 Direnv 不加载环境

想象一下,我在一个 shell 中,工作目录设置为一个包含.envrc文件的目录。当我现在在终端模拟器中打开一个新选项卡时,一个新的 shell 会启动到与原始 shell 相同的工作目录中。

出于某种原因,该.envrc文件未加载到这个新 shell 中。如果手动退出工作目录并再次进入,则会加载环境变量。

有没有办法在创建 shell 时自动加载变量?

我正在使用 direnv 2.20.1 运行 MacOS Mojave (10.14.4),使用 bash 作为我的 shell。我正在通过我的.bashrc.

macos bash environment-variables terminal.app direnv

4
推荐指数
3
解决办法
2548
查看次数

在Ruby 1.9.3中通过RSpec配置包含命名空间模块

我喜欢使用RSpec的include配置方法来包含仅用于命名空间的模块,这样我就不必为其内部类和模块使用完全限定名.这适用于Ruby 1.9.2中的RSpec 2.11.0.但现在在Ruby 1.9.3上这已不再适用了.我怎样才能让它再次运作?

这是一个示例foobar_spec.rb:

module Foo
  class Bar
  end
end

RSpec.configure do |config|
  config.include Foo
end

describe Foo::Bar do
  it "should work" do
    Bar.new
  end
end
Run Code Online (Sandbox Code Playgroud)

如果您通过以下命令调用它:

rspec foobar_spec.rb
Run Code Online (Sandbox Code Playgroud)

它可以在Ruby 1.9.2中正常工作.但它会在Ruby 1.9.3中引发以下错误:

Failure/Error: Bar.new
     NameError:
       uninitialized constant Bar
Run Code Online (Sandbox Code Playgroud)

ruby rspec namespaces ruby-1.9.3

3
推荐指数
2
解决办法
6319
查看次数

在Rails 3.1控制台中包含命名空间

我的Rails 3.1应用程序完全在命名空间内实现.当我打开Rails控制台时,我希望能够直接访问我的命名空间内的标识符.我不想每次都输入完整的合格名称.

代替

Aef::Newman::HandledAddress
Run Code Online (Sandbox Code Playgroud)

我想写

HandledAddress
Run Code Online (Sandbox Code Playgroud)

如下所示在控制台中包含命名空间由于某些原因没有帮助:

include Aef::Newman
Run Code Online (Sandbox Code Playgroud)

namespaces irb ruby-on-rails-3.1

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