小编ard*_*ama的帖子

在ecto中创建一个独特的字段

如何unique在ecto中创建一个字段?

我认为它与Ruby中的活动记录相同,但似乎不是

elixir ecto

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

让elixir应用程序重新编译并重新加载源代码更改

每次修改源代码时如何自动重新编译和重新加载我的iex + mix应用程序?

如果iex + mix组合无法做到这一点,那么最简单的选择是什么?我已经检查了凤凰的重载方式,对我的小测试项目来说似乎并不容易实现.

我也知道José的.iex.exs:

defmodule R do
  def reload! do
    Mix.Task.reenable "compile.elixir"
    Application.stop(Mix.Project.config[:app])
    Mix.Task.run "compile.elixir"
    Application.start(Mix.Project.config[:app], :permanent)
  end
end
Run Code Online (Sandbox Code Playgroud)

我并不是非常高兴,因为它不会在代码更改时自动重新加载,我仍然需要输入R.reload!iex.

并且..请帮我在stackoverflow上创建"iex"标签,我的声誉还不够:)

elixir-mix elixir iex

25
推荐指数
2
解决办法
8329
查看次数

"!","?","_"和"."的含义是什么?elixir中的语法

我需要关于灵药理解下面的语法帮助!,?,_,和..elixir函数中的语法角色是什么?例如Repo.get!.

我不确定它们只是函数名称,还是有角色.虽然我知道.是为了调用匿名函数.而_对于任何一个或可变参数?

elixir elixir-framework

15
推荐指数
2
解决办法
2564
查看次数

如何从Phoenix执行HTTPS请求并忽略CA错误

我试图从我的凤凰服务器调用开发环境REST服务,但我不想将CA列入白名单.为了记录,我甚至不知道如何将CA密钥添加到Phoenix的白名单中.

如何从phoenix执行https请求同时忽略SSL的CA错误?

https elixir ssl-certificate phoenix-framework

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

在Phoenix Framework上放置辅助模块的位置

我想添加一个帮助程序模块来执行get请求

http://hexdocs.pm/httpoison/HTTPoison.Base.html

但是当我把它放进去defmodule的时候

/lib/Shopper/CallApi.ex

use

/web.ex

def controller do
quote do
  use Phoenix.Controller

  alias Shopper.Repo
  import Ecto.Model
  import Ecto.Query, only: [from: 1, from: 2]

  import Shopper.Router.Helpers

  use Shopper.CallApi
end
Run Code Online (Sandbox Code Playgroud)

结束

编译器失败了

== Compilation error on file web/controllers/page_controller.ex ==
** (UndefinedFunctionError) undefined function: Shopper.CallApi.__using__/1
    Shopper.CallApi.__using__([])
    web/controllers/page_controller.ex:2: (module)
Run Code Online (Sandbox Code Playgroud)

那么......在哪里定义CallApi.ex以及我应该在哪里声明它?

elixir phoenix-framework

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

为Mysql/Mariadb创建唯一索引的Ecto失败

我尝试执行以下迁移:

defmodule Shopper.Repo.Migrations.MakeNameUniqueShopper do
  use Ecto.Migration

  def change do
    create unique_index :shoppers, [:name]
  end
end
Run Code Online (Sandbox Code Playgroud)

也试过create unique_index :shoppers, [:name], name: :name_unique,create unique_index :shoppers, [:name], name: "name_unique"create index(:shoppers, [:name], unique: true)

但他们失败了类似的错误:

[info]  == Running Shopper.Repo.Migrations.MakeNameUniqueShopper.change/0 forward

[info]  create index shoppers_name_index
** (Mariaex.Error) (1071): Specified key was too long; max key length is 767 bytes
    (ecto) lib/ecto/adapters/sql.ex:172: Ecto.Adapters.SQL.query!/5
    (elixir) lib/enum.ex:1261: Enum."-reduce/3-lists^foldl/2-0-"/3
...
...
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感谢,以帮助我解决错误.

注意:我正在使用ecto 1.02

以下是第一次创建的迁移 mix phoenix.gen.model

defmodule Shopper.Repo.Migrations.CreateV1.Shopper do
  use Ecto.Migration

  def …
Run Code Online (Sandbox Code Playgroud)

mysql elixir mariadb ecto

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

当你需要Erlang中的高性能共享状态时,你会怎么做?

Erlang非常善于通过不共享状态来清理事物.但是当你想要共享状态时会发生什么?例如:配置选项,统计信息收集,事件/回调服务器.使用某些记录作为状态或使用进程字典生成新进程是实现共享状态的一种方法.您可以反复循环该过程并回复任何消息.多个进程将使用基本上不纯的getter和setter函数来查询该进程,这些函数包含消息传递,但是在这里我们只是将Erlang变成一个比java对象慢的不纯对象,因为减少系统轮流比只有每个全局状态周围的内存互斥体.如果我们不小心,它甚至可能有邮箱溢出.

那么,如果你想要快速共享状态,你会怎么做?Reddis,一个数据库,mnesia,产生循环状态?如何在erlang中使集中状态更加纯粹功能?

erlang

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

为什么Elixir的Enum.any?慢?

我跑到命令之下

MIX_ENV=prod  mix profile.fprof --no-start -e "Math.prime_seq 501"
Run Code Online (Sandbox Code Playgroud)

对于以下代码

  def prime_seq(n) do
    prime_seq(n, 1, 3, [2,3,5,7,11,13,17,19,23])
  end

  def prime_seq(n, c, p, cache) when c < n do
    is_it = cache |> Enum.any?(fn n -> rem(p, n) == 0 end)
    if not is_it do
      prime_seq(n, c+1, p+2, cache ++ [p])
    else
      if(is_prime(p)) do
        prime_seq(n, c+1, p+2, cache ++ [p])
      else
        prime_seq(n, c, p+2, cache)
      end
    end
  end

  def prime_seq(n, c, p, _) when c == n do
    p-2
  end
Run Code Online (Sandbox Code Playgroud)

结果如下:

个人资料结果

为什么 …

profiling elixir

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

限制处理器核心数量的使用

如何限制 Elixir 应用程序中处理器核心数量的使用?

我知道我可以+S在 erlang 中使用命令,但我不确定如何从 Elixir 领域使用该命令。

elixir

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