Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Elixir_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Elixir 从字符串解析长生不老药术语

Erlang具有从字符串解析Erlang术语的功能。这样做的优点是避免了动态代码执行(即不信任用户输入),但允许用户输入任何有效的文本值 见: 长生不老药允许类似的东西吗?我可以轻松地接受字符串并尝试解析它吗 理想情况下,它看起来像: str = "{:foo, %{bar: true}, nil}" Elixir.parse_term(str) # => {:foo, %{bar: true}, nil} 有了长生不老药图案匹配,这很容易实现: defmodule ParseTerm

elixir命令行'-pa&x27;选择权

我正在看一个项目中的Elixir代码,其中启动脚本是: elixir -pa _build/<a directory with .beam files> -S mix run -e "MyApp" --no-deps-check --no-compile --no-halt 有关于elixir的其他命令行选项的在线文档吗?运行elixir--help而不是man elixir(elixir的手册页应该早一点而不是晚一点出现,请参阅)。结果显示: ... -pa "path"

Elixir 将phoenix framework中日期选择器的默认值设置为当前日期

在我正在开发的应用程序中,我有一个日期选择器,主要用于当前日期作为值(或几天后的日期)。为了减少用户的工作量,我想将今天的日期设置为默认值 我可以很容易地用以下内容来设定年份: date\u选择f,:date,class=“form\u control”,year:[选项:@current\u year,@current\u year+1], 但是他们没有在一个月和一天里做类似的事情 我已尝试将代码更改为date\u选择f,:date,class=“form\u control”,year:[选

Elixir 如何在长生不老药中将数字提升为幂?

我如何计算一个指数在长生不老药 例如,23将返回8。使用 如果需要整数: :math.pow(2,3) |> round #=> 8 Erlang的:math.pow有一些限制,例如它不允许真正高的整数指数: iex(10)> :math.pow(2, 10000) ** (ArithmeticError) bad argument in arithmetic expression 您可以轻松地重新实现计算指数的快速算法,该算法将处理运行时提供的任意大整数: defmodu

Elixir Phoenix模板渲染速度慢,带有链接和辅助功能

我发现使用link函数和生成的路径辅助函数渲染模板的速度很慢 例如,我运行mix phoenix.gen.html authors authors name:string 在index.html.eex中有 这是因为在Elixir 1.2之前的开发中没有整合协议。你会发现如果你在prod中运行,你的渲染会很快变亮。如果您跳到Elixir 1.2上,协议总是被整合的,即使在开发中也是如此。这是因为在Elixir 1.2之前的开发中没有整合协议。你会发现如果你在prod中运行,你的渲染会很快变亮。如

Elixir 衍生任务在完成之前就停止了(我不认为这是由于失败)。我的代码错了吗?

我上传图像,然后为每个图像创建不同的文件大小 我有一个GenServer来处理上传的初始文件。它保持递增文件ID的状态(uploads/1/original.png、uploads/2/original.png等) 一旦创建了原始文件,我就可以通过进程处理其他大小的文件。像这样: def handle_call({:upload, temp_filepath, filename}, _from, state) do ...code... # Here the upload tem

Elixir 如何查看为一个exto.Query生成的原始SQL?

我有一个exto.Query和一个Repo,这样我就可以调用Repo.all(Query)并获得结果。然而,结果并不是我所期望的 如何查看Repo将从exto.Query生成的原始SQL?您可以使用: 如果您使用的是基于sql的适配器,则此功能也可在名为to_sql的存储库下使用: iex> Repo.to_sql(:all, Post) {"SELECT p.id, p.title, p.inserted_at, p.created_at FROM posts as p", []}

Elixir 为什么';t`mix`pull这个可传递依赖项?

具有具有依赖项的依赖项 如果在exsync中运行mix deps.get,fs不会被拉入。如果在exfswatch中运行mix deps.get,则将被拉取。为什么?十六进制软件包只能依赖于其他十六进制软件包。fs包作为git依赖项拉入。对于hex,exfswatch程序包不依赖于fs-如果您将这样的程序包发布到hex,会出现一个巨大的警告。hex程序包只能依赖于其他hex程序包。fs包作为git依赖项拉入。对于hex,exfswatch包不依赖于fs——在向hex发布这样的包时,会有一个巨大的

Elixir 无法在“中部署具有github依赖项的网站”;混合.exs“;

有一个直接来自github的依赖项。这不是我的存储库。在github上 defp deps do [{:something123, git: "git@github.com:user123/something123.git"} 在本地主机上,它运行良好。但是,在部署服务器时,会在服务器上引发异常: * Updating something123 (git@github.com:user123/something123.git) Host key verification failed.

Elixir 长生不老药-试验用起始剂

我正在测试ReST Api的一个端点,我正在将Api密钥存储在一个代理上,然后我继续从该代理获取密钥,我首先将代理添加到一个监控树中,该树正在工作,但现在我删除了它,因为我希望人们使用此代码,我希望他们自己监控代理(如果不是这样,请告诉我)现在我正在尝试测试端点,我得到一个403状态代码,它显然告诉我它没有从代理中选取api密钥,我使用的是ExUnit,我尝试使用setup\u all回调,但我得到了相同的错误。我没有传递上下文或其他信息,因为我说,我是从代理状态获取密钥的。我使用了setup\

Elixir 使用exprotobuf处理Google协议缓冲区

有人熟悉吗?我得到了一个不正确的编码结果,这里是详细信息 期望得到,但得到了。我错过什么了吗 它们是一样的。一个是十六进制,一个是十进制。十六进制96是十进制150。用十六进制表示二进制输出是非常常见的,因为它简洁(每个字节最多2个字符)且不区分大小写,因此大多数二进制编辑器/查看器都使用十六进制

Elixir 从_模块外部调用Genserver__

调用函数时,如果找不到预期的数据,我希望重试该函数。我想在函数失败后10秒后重试 目前的执行情况: 调度程序 发电机服务器: 如您所见,如果不满足case语句,我将尝试重试该函数。但这并不完全有效 输出: 它从不从服务器内部调用genserver。请重试。我是一个超级GenServer noob,所以请原谅我缺乏理解。谢谢 所以这里有一些地方需要改进 首先,您正试图通过注册名称进程访问您的GenServer。在服务器之后发送。\u。重试…,但不实际注册名称 注册名称的基本方法是在对GenServ

Elixir __结构\未定义,无法展开结构公报。用户

我正在构建一个Phoenix1.3应用程序,但是在一个1.2Pheonix教程之后,我运行了一些不推荐的命令,比如mix Phoenix.gen.model 我不确定它是否已链接,但现在我发现以下错误: == Compilation error in file lib/gazette_web/controllers/user_controller.ex == ** (CompileError) lib/gazette_web/controllers/user_controller.ex:12:

Elixir 对多字段使用验证

我尝试添加验证,如validate_change,但包含两个字段:from_id,:to_id。我想测试此元组是否在管理表中,或者不应插入: def changeset_create(%Task{} = task, attrs) do task |> cast(attrs, [:title, :body, :finished, :from_id, :to_id]) |> validate_required([:title, :body, :finished

Elixir 长生不老药的保留属性是什么?

我只是花了很多时间调查我的代码返回零的原因: defmodule Test @impl 42 def foo, do: IO.inspect(@impl) 原来@impl是一个保留的属性名。好的,吸取教训。但是,现在我想知道保留属性关键字的完整列表是什么?我找不到文件。我找到的最接近的是 长生不老药有一些保留属性。这里有一些, 最常用的是: @moduledoc - provides documentation for the current module. @doc - provid

Elixir 如何在GenServer中使用Task.await?

我试图找出如何启动genserver,并等待结果,直到它完成 如何使服务器在退出时返回结果 例如: defmodule DistanceMatrix do use GenServer def start id do GenServer.start(__MODULE__, id) end def load() do GenServer.cast({:load}) end def handle_cast({:load}, state) do #

Elixir 外部迁移所有权超时

有时,当我的EXTO迁移在CI中运行时(从头开始构建db,有时长时间暂停不是由代码引起的),它们会超时,并出现如下错误: 10:05:01.828[错误]Postgrex.Protocol(#PID)已断开:*(DBConnection.ConnectionError)所有者#PID超时,因为它拥有连接的时间超过15000ms 我可以通过在任何单个迁移中添加一个:timer.sleep(15_000)来在本地复制这一点。我还可以通过向几个不同的迁移添加更短的timer.sleep/1调用来复制它

Elixir 如何使用AWS SNS使用ExAws发送短信

我正在尝试通过AWS SNS服务发送短信 我没有找到合适的文档 我尝试了以下代码,但它抛出了错误 %{name:“message”,数据类型::string,值:{:string,“Hello…”}}}}ExAws.SNS.publish(%%{phone_number:“+911010101010”}) 错误 我确信我准备查询的方式是不正确的。显然需要两个参数:类型为binary()的强制消息,以及可选的选项,这是一个关键字列表(包括例如:电话号码) 根据a,消息应该是JSON编码的字符串。也

Elixir 从另一个模块使用GenServer

我有一个简单的GenServer,它是: 发电机服务器: 我想在此模块中使用此GenServer: 模块: defp order_分数(问题、季节)do 对于team,您将不希望在另一个模块中初始化GenServer。您将希望将其添加到您的监督树中 您可能还想考虑向您的GEnServer模块添加“API”函数,以便它的用户不需要知道它是一个GEnServer。差不多 # This assumes you have named your GenServer the same as the modu

如何在Elixir中使用capture操作符从列表中捕获元组?

我无法理解如何使用捕获操作符捕获元组。这是我的函数代码 MyList.map([{"person 1",27},{"person 2",20}], fn({name,_}) -> name end) // ["person 1","person 2"] 有谁能帮助我如何通过捕获运营商做到这一点。到目前为止,我已经试过了,但没有用 MyList.map([{"person 1",27},{"person 2",20}], & &1}) //

elasticsearch 用于长生不老药的弹性apm和OpenTeletry的使用

我们想使用弹性apm跟踪我们的elixir phoenix应用程序。但我找不到弹性公司的apm代理 有人建议与exporter一起使用opentelemetry,但我无法从文档中理解如何使用它。我想追踪细节,就像NewRelic追踪错误一样 以前我们使用了new relic,它有一个开源的apm代理,但现在我们想切换到elastic。我无法理解如何在应用程序中使用span,以及如何处理多个span以及将它们放在何处。如果有人能提供帮助或提供替代方案来使用弹性apm,那就太好了。没错,弹性apm没

Elixir 如何向圆弧变换函数添加错误处理?

我正在使用用于文件管理和上载,并在上载图像时使用convert工具执行一些imagemagick转换,请按照以下说明执行: 有时,文件转换失败,导致进程崩溃 我想知道在使用以下转换时,您将如何优雅地处理这种情况: # Define a small transformation: def transform(:small, {_file, scope}) do if scope.format == "image" do {:convert, &qu

Elixir 如何使用加载的关联序列化/反序列化EXTO模型?

几乎每一个请求我都会从数据库中获取用户(与配置文件关联,等等)。我想缓存在服务器上,并保存一些额外的数据库工作。最初考虑的是Redis或Memcached,最终是由Mnesia支持的分布式缓存 我知道如何(在Redis/Memcache的情况下)将二进制文件传输到缓存后端,但如何将模型序列化和反序列化为二进制文件?您可以尝试使用:erlang.term\u to\u binary/1和:erlang.binary\u to\u term/1函数(少量文档) 小例子: iex> defmod

Elixir 请为多类型参数推荐惯用长生不老药

我正在尝试改进Elixir库的代码,如下所示: def dirs(path, regex_dir \\ ".+") when (is_bitstring(path) or is_list(path)) do file_path = case String.valid? path do true -> [path] false -> path end do_dirs(file_path, [], regex_dir) end defp do_dirs([]

如何在Elixir匿名函数中打印结果

我想做的是获取远程节点中的记录计数,其中记录的起始值等于。这是我的代码,但是它不返回结果。相反,它只返回进程id PID。如何让它返回记录计数 Node.spawn :'abc@abc.com', sum = fn -> for n <- :mnesia.dirty_select(:'cz_jid_mapping',[{{:cz_jid_mapping, :'$1', :'_',:'_',:'_'},[],[:'$1']}]) do io.format((binary_p

在何处将我的erlang库模块myerlib.erl放入elixir树目录,以便从elixir模块调用

我有myerlib/src/myerlib.erl erlang库模块,我需要从Elixir模块调用它的函数。 也可以从elixir代码中调用myerlib模块函数,我可以编写:myerlib.function(…)但是 如果我将myerlib子目录放在deps/elixir目录下并使用mix.exs: def deps do [ {:myerlib, path: "deps/myerlib"} # ... ] end 然后,当我执行iex-S mix时,我得到以下错误

在Elixir中串联数组

如何在Elixir中连接数组 如果我有两个数组: [1, 2] 及 如何将它们连接为: [1, 2, 3, 4] 对于串联,有++运算符 比如说 iex> [1, 2] ++ [3, 4] [1, 2, 3, 4] 可以将列表(而不是数组)与函数连接起来 然而,在函数式编程中,您通常会使用cons(|)操作符建立一个列表,如下所示: a = [] # [] b = ["foo" | a] # ["foo"] ["foo" | []]

Elixir 长生不老药删除多对多关联

我有两个模型:用户和组。它们通过联接表进行多对多关联。 当我尝试删除用户(或组)时,会引发以下错误: **(Exto.ConstraintError)尝试删除模型时出现约束错误: * foreign_key: groups_user_id_key 我应该如何删除任何父模型 has_many :groups, MyApp.User, on_delete: :nilify_all :关于删除选项 删除父项时,可以为关联设置四种不同的行为: :nothing-对协会不做任何事情 :delete_a

Elixir 这个外部约束错误想告诉我什么?

以下是我的模式和迁移: ** (Ecto.ConstraintError) constraint error when attempting to insert model: * foreign_key: matches_person_id_fkey 调用Repo.insert(变更集)时使用的变更集是: 此错误告诉您id为55的人不存在 有些相关,在迁移过程中,不需要以下内容: ... Repo.transaction(fn -> case Repo.insert(per

Elixir 外部:列v0.availabilites不存在

我的一个动作失败了 (Postgrex.Error) ERROR (undefined_column): column v0.availabilites does not exist Table "public.votes" Column | Type | Modifiers ----------------+---------------

Elixir/Phoenix:如何在配置文件中使用第三方模块?

当在config.exs或dev.exs/prod.exs/test.exs中使用第三方模块时,phoenix中配置文件的加载和编译方式似乎会带来问题 示例:为了设置JWT身份验证,我尝试在myconfig.exs中使用模块创建/加载JWK。我可以在控制台中使用iex-S mix phoenix.server的模块。当然,它是作为依赖项安装的。我得到的错误是 ** (Mix.Config.LoadError) could not load config config/config.exs

Elixir 使用ilike在EXTO中搜索部分字符串

我试图在数据库中搜索,以查看一个字符串是否与数据库中另一个字符串的一部分匹配。如果使用ilike,我可以使这两个字符串完全匹配,但是当我只搜索字符串的一部分时,它不会捕获包含它的数据。以下是我的查询代码的外观: servicesstate = Repo.all(from p in Callme.Service, where: ilike(p.locations, ^zip.state)) 当值精确时,它将匹配(“南卡罗来纳州”、“南卡罗来纳州”),但我希望它在类似(“位于南卡罗来纳州”

Elixir 在Phoenix中处理特定约束错误

我有一个变更集,其中一个字段上有唯一约束: defmodule Oauth.Shop do use Ecto.Model import Ecto.Changeset alias Ecto.Changeset schema "shops" do field :shop, :string field :access_token, :string field :scope, :string field :active, :boolean tim

Elixir 如何从包含CSS规则的字符串中提取数值

给定一个格式如下的字符串: "color: blue; padding: 10px 0; transition: all 1.5s;" 我想提取数字1.5(或任何数字)。 我想我可以: 1) 在“;”处拆分字符串 2) 对于每个子字符串,请查看它是否包含“transition” 3) 如果是,则提取数字 我能得到的最接近的结果是: String.split("string", ";") |> Enum.map(fn(x) -> if Regex.match?(~r/transiti

Elixir GenServer的正常关闭

我正在用GenServer编写一个Elixir应用程序,它在引导时启动一个外部应用程序,然后关闭它,并在退出时进行其他清理。我在回调中添加了启动功能,在回调中添加了清理代码 当GenServer启动时,init代码工作正常,当手动发送:stop信号时,terminate方法也被调用,但在IEx中出现意外关机和中断(如按下Ctrl+C)的情况下,不会调用终止代码。 目前,我浏览了大量论坛帖子、博客帖子和文档,包括: 发件人: 如果GenServer接收到退出信号(这不是:normal)

二进制大小在Elixir中是如何工作的

我目前正试图了解二进制大小(数字)在Elixir中是如何工作的。 在《小仙丹和OTP指南》中的示例中,有一个部分将128字节的ID3标记分开。标记具有以下属性: 3字节头 30字节标题标签 30字节艺术家标签 30字节相册标签 4字节年份标记 剩下的就是打包 他们在书中提取这些信息的方式是 << "TAG", title :: binary-size(30), artist :: binary-size(30), album :: binary-size(30), year::

Elixir 生产长生不老药/凤凰应用程序占用CPU

我有一个Elixir/Phoenix正在生产中运行,过了一段时间,beam.smp进程中的一个进程将达到100%的CPU负载(有时不止一个进程)。我不知道是什么触发因素造成的。我怎样才能知道发生了什么 编辑: 我在服务器上运行iex并连接到Phoenix节点。然后我运行etop并得到以下输出: Load: cpu 100 Memory: total 69429 binary 10568 procs 3

Elixir 如何在异位迁移中动态更新字段值?

我有一个用户表,如: email | username ---------------+---------- 123@321.com | 123@123.com | haha@haha.com | 我想通过email字段更新username字段,只需在@之前切片email email | username ---------------+---------- 123@321.com | 123 123@123.com | 123

Elixir 了解如何在Phoenix中删除记录

我想删除凤凰城的一张唱片。这是我目前正在尝试的 def delete(conn, %{"id" => item_id}) do Repo.get!(Item, item_id) |> Repo.delete! conn |> put_flash(:info, "Item Deleted") |> redirect(to: items_path(conn, :index)) end 问题是,这会尝试呈现显示页面,但实际上不会删除回购记录。是否有明显的错误

如何为具有Elixir参数的贴图数组指定默认值?

我的Phoenix应用程序有以下问题:我已经使用了一段时间,它工作得很好 defparams update_config %{ id!: :integer, show_images: [field: :boolean, default: false], attachment_filename: [field: :string, default: nil] } 然后,控制器执行此操作 changeset = update_config(params) case chan

Elixir 安装guardian后elixr guardian中的mix deps.get错误

我按照教程安装了Guardian,使用{:Guardian,“~>0.14”}。 运行mix deps.get时 它给出了以下错误: ** (Mix.Config.LoadError) could not load config config/dev.exs ** (CompileError) config/dev.exs:1: undefined function mix/1 (elixir) lib/code.ex:176: Code.eval_string/3 (mix) lib/mix/

Elixir 长生不老药:循环演员重新运行自己

我正在申请硕士学位。主代码如下所示。此代码异步调用start\u链接中的worker。工作人员完成工作后,使用handle\u cast异步调用向master报告。在此之后,我打算让主参与者'ON',以便它可以重新生成新的工作参与者(就像它在第一个start\u链接中所做的那样)。然而,一旦所有的工人演员都完成了他们的工作,大师就停止了。这篇文章提到使用递归调用,但我不能用Genserver实现。在Genserver中有什么方法可以实现它吗 defmodule Bitcoin.MasterNod

Elixir Protocol.UndefinedError协议外部可查询

我试图找出如何对属于特定用户的记录进行范围查询。传入作用域记录时,会出现以下错误: ** (Protocol.UndefinedError) protocol Ecto.Queryable not implemented for [%Dreamhouse.Project{__meta__: #Ecto.Schema.Metadata<:loaded, "projects">, id: 878, inserted_at: ~N[2018-05-09 18:13:22.820266],

Elixir EXTO查询testA和(testB或testC)

我有一个这样的模式 schema "things" do field(:title, :string) field(:temperature, :integer) field(:weight, :integer) end 我想编写一个等价于以下SQL的EXTO查询,但似乎无法将其转换为有效的形式 select * from things where temperature <= 200 and (weight is null or weight > 2); 从温度为2

Elixir 无法使用同一模块调用Genserver中的Handle Cast函数';s自己的API

我试图从GenServer自己的API调用handle_cast函数。但是,似乎没有调用handle_cast函数。我用调试语句来理解它在哪里被破坏 已打印调试5,但未打印调试4 注意:正在从另一个GenServer调用done()函数 # Public API def done(pid) do GenServer.cast(__MODULE__, {:done, pid}) IO.puts("Debug 5") end #Server def handle_cast({:done,

Elixir 如何使用片段作为更新变更集属性的一部分?

我试图用新属性和与现有列交互的数据库调用更新现有模型。类似于SQL中的updatecompanys SET a=1,b=jsonb_SET(b,{key}',CURRENT_TIMESTAMP(),true) 我如何使用EXTO和碎片来实现这一点 这是我的尝试,但失败了,因为fragment是一个宏: enhanced = %{ attrs | b: fragment( "jsonb_set(b, ?, CURRENT_TIMESTAMP(), true)", "{#{Ato

如何在Elixir运行时关闭百老汇?

我作为制作人使用,并且考虑到我的用例,我必须在运行时启动和停止百老汇 在运行时启动Broadway已经可以正常工作了。然而,我很难找到一种方法来优雅地关闭百老汇进程。百老汇模块本身不提供停止进程的功能(据我所知),因此,我目前通过process.exit(百老汇_pid,:kill)手动终止进程。这当然有效,但可能不是关闭百老汇的预期方式 关闭百老汇最干净的方法是什么,而不残忍地扼杀百老汇进程?Broadway,这显然是一个古老的GenServer,因此您可以将其视为 GenServer.sto

Elixir 将JSON数据更新到postgresql数据库时出现问题:*(exto.CastError)预期参数为:map,get:)

嗨,我是长生不老药/凤凰的新手。我想做的很简单。我的数据库中有一个带有jsonb列的表。我正试图通过Ecto更新json数据。我的模型如下所示: defmodule Setting.Setting do use Setting.Web, :model alias Setting.{VesselState, User, SettingData, FollowUp, LogEntry, VesselEvent, RiskModel, LegalExtract} schema &quo

Elixir-更新嵌套映射/JSON;没有错误,但没有更新

我正在开发一些使用Elixir语言的专有API。我对后者很陌生,所以请容忍我 我仍然在为整个不变的概念绞尽脑汁,这对我来说真的很难 defmodule Main.Game do def doRequest("test_loop", _args) do ballsJsonMap = Sys.Tuning.value("balls") timestep = 1; looper(timestep, 10,

上一页 1 2 ...  68   69   70   71    72   73   74  ... 下一页 最后一页 共 125 页