小编Ben*_*Hao的帖子

函数行为不一致

我正在尝试一个square和一个cube功能.为什么squarecube爆炸时工作?

square = &1 * &1
square.(5)
Run Code Online (Sandbox Code Playgroud)

工作正常

cube = &1 * &1 * &1
cube.(5)
Run Code Online (Sandbox Code Playgroud)

抛出

** (ArithmeticError) bad argument in arithmetic expression
    :erlang.*(#Function<erl_eval.6.82930912>, 5)
    erl_eval.erl:572: :erl_eval.do_apply/6
    src/elixir.erl:133: :elixir.eval_forms/3
    /private/tmp/elixir-OVih/elixir-0.8.2/lib/iex/lib/iex/server.ex:19: IEx.Server.do_loop/1
Run Code Online (Sandbox Code Playgroud)

elixir

40
推荐指数
2
解决办法
2178
查看次数

如何在iex中清除屏幕?

irb和许多其他交互式shell中,我可以用Ctrl+ L来清除屏幕.

Elixir的等价物是iex什么?

elixir

27
推荐指数
2
解决办法
2648
查看次数

Unicorn Memory Usage几乎填满了所有RAM

新的Relic Process快照

这里基本上有3个问题:

1)Unicorn似乎正在稳步填满所有RAM,导致我手动删除工人.

2)独角兽似乎因某种原因产生了额外的工人,尽管我已经指定了固定数量的工人(其中7人).这部分导致RAM累积,这也导致我手动删除工作人员.

3)在我的情况下,零停机部署是不可靠的.有时它会接收更改,有时我会获得网关超时.每次部署都会变得非常紧张.

我真的不喜欢使用Monit,因为它可以杀死工人而无需等待工人完成他们的请求.

那么,这是正常的吗?使用Unicorn部署的其他人是否存在RAM无法控制地增长的相同问题?

而且,工人产生的工人数量与工人数量不一致?

另一种选择是独角兽工人杀手,我将在阅读独角兽饮食记忆后尝试.

微小的更新:

在此输入图像描述

因此,New Relic告诉我内存几乎达到了95%.所以我不得不杀了一个工人.有趣的是,杀死那个工人会使记忆大量减少,如下图所示.

那是怎么回事?

作为参考,这是我的unicorn.rbunicorn_init.sh.希望有人能告诉我某处有错误.

unicorn.rb

root = "/home/deployer/apps/myapp/current"
working_directory root
pid "#{root}/tmp/pids/unicorn.pid"
stderr_path "#{root}/log/unicorn.stderr.log"
stdout_path "#{root}/log/unicorn.log"

listen "/tmp/unicorn.myapp.sock"
worker_processes 7
timeout 30

preload_app true

before_exec do |_|
  ENV["BUNDLE_GEMFILE"] = '/home/deployer/apps/myapp/current/Gemfile'
end

before_fork do |server, worker|
  # Disconnect since the database connection will not carry over
  if defined? ActiveRecord::Base
    ActiveRecord::Base.connection.disconnect!
  end

  old_pid = "#{root}/tmp/pids/unicorn.pid.oldbin`"
  if old_pid != server.pid
    begin
      sig = (worker.nr + 1) >= server.worker_processes …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails unicorn

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

class_eval和open类

我正在使用Spree,Spree有一个叫做Order类似的类:

module Spree
  class Order
    # class definition.
  end
end
Run Code Online (Sandbox Code Playgroud)

在我自己的应用程序中,我一直在自定义Order:

Spree::Order.class_eval do
  # customisations
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以简单地这样做:

module Spree
  class Order
    # My own customisations.
  end
end
Run Code Online (Sandbox Code Playgroud)

这有什么缺点吗?基本上,我想避免使用class_eval.

ruby spree

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

如何在Raspi 3上使用libtensorflow-lite.a?

我想在Raspi上安装TensorFlow Lite.

我假设我可以先pip install为Raspi预建TensorFlow.我正在阅读这里交叉编译TensorFlow Lite的说明,但我不知道在生成之后该怎么做libtensorflow-lite.a.

tensorflow raspberry-pi3 tensorflow-lite

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

正确的关联Ruby on Rails

有人可以帮我纠正我的联想吗?

我有以下型号:

User, Developer, Application, Comments, Rating, Permission
Run Code Online (Sandbox Code Playgroud)

要求:

A user can be a Developer or not.
A user can have Default Permissions and Permissions for each application
A user can install multiple Applications
A user can comment and rate multiple Applications
A developer can develop multiple applications
An application can request a list of permissions. 
Run Code Online (Sandbox Code Playgroud)

我已经创建了一些关联,但我相信它不是100%正确或更简单的方法存在.

有人可以建议我一个正确的方法吗?

ruby activerecord ruby-on-rails

7
推荐指数
2
解决办法
367
查看次数

分发Erlang聊天系统

我刚刚完成了Erlang in Practice截屏(这里的代码),并对分发有一些疑问.

这是整体架构:

建筑

以下是监督树的样子:

supervisortree

阅读分布式应用程序让我相信,其中一个主要动机是故障转移/接管.

但是,例如,消息路由器主管及其工作人员是否可以在一个节点上,并且系统的其余部分可以在另一个节点上,而不需要对代码进行太多更改?

或者应该有3种不同的OTP应用程序?

此外,如何使该系统水平扩展?例如,如果我现在意识到我的系统可以处理100个用户,并且我已经将消息路由器确定为主要瓶颈,那么我怎样才能"添加另一个节点",现在它可以处理200个用户?

erlang distributed erlang-otp

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

hammer.js和preventDefault();

js也支持触摸手势.我正在试图阻止默认行动.当我在锤子上设置event.preventDefaultevent.gesture.preventDefault()甚至应用参数时{prevent_defaults: true },它只会触发锚点上的默认操作.我怎样才能防止这种情况和/或我做错了什么?!

代码段;

function initializeNavigation() {
    $("nav").hammer({prevent_defaults: true }).on("tap", "a", function(event) {
        event.preventDefault();
        event.gesture.preventDefault();
        var target = $(this.hash);
        scrollToTarget(target, 1200);
        // if there is an open detailItem then close it.
        if (detailItemOpen) {
            $("div." + detailItemOpen).slideUp();
        }
    })

    if (Modernizr.mq('only screen and (max-width: 767px)'))  {
        initializeMobileMenuAndSetButton();
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery events hammer.js

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

如何让多个 pod 访问 Kubernetes 中现有的 NFS 文件夹?

我在网络上有一个 TFRecords 文件夹,我想将其公开给多个 Pod。该文件夹已通过 NFS 导出。

我尝试创建一个持久卷,然后创建一个持久卷声明。但是,这只是在 NFS 挂载中创建了一个文件夹,这是我不想要的。相反,我想让 Pod访问包含 TFRecords 的文件夹。

我列出了 PV 和 PVC 的清单。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-tfrecord-pv
spec:
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /media/veracrypt1/
    server: 1.2.3.4
    readOnly: false
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-tfrecord-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-tfrecord
  resources:
    requests:
      storage: 1Gi
Run Code Online (Sandbox Code Playgroud)

nfs kubernetes

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

RSpec:使用调用update_attributes的方法测试模型

RSpec新手在这里.

我正在尝试测试我的模型,这些模型具有update_attributes用于更新其他模型的值的方法.

我确信这些值在数据库中持久存在,但它们没有传递规范.

但是,当我包含类似@user.reload它的东西时.

我想知道我是不是做错了.具体来说,如何测试改变其他模型属性的模型?

更新代码:

describe Practice do

before(:each) do
    @user = build(:user)
    @user.stub!(:after_create)
    @user.save!

    company = create(:acme)
    course = build(:acme_company, :company => company)
    course.save!

  @practice = create(:practice, :user_id => @user.id, :topic => "Factors and Multiples" )
end

describe "#marking_completed" do

    it "should calculate the points once the hard practice is done" do
        @practice.question_id = Question.find(:first, conditions: { diff: "2" }).id.to_s
        @practice.responses << Response.create!(:question_id => @practice.question_id, :marked_results => [true,true,true,true])
        @practice.save!

        lambda {
            @practice.marking_completed
            @practice.reload # …
Run Code Online (Sandbox Code Playgroud)

rspec2 rspec-rails ruby-on-rails-3.1

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