标签: Elixir
phoenix-frameworkecto
我知道如何清理用户输入客户端,但我也会在服务器端这样做。我知道正确的做法是使用变更集,但到目前为止,我还找不到一个例子来说明如何正确处理标记和其他潜在有害内容,如SQL注入。
因为我想允许用户更改HTML内容并将该HTML保存在数据库中,所以我不能使用标准验证,我在模板中显示rawHTML。
有人能给我举个例子吗?凤凰城html库默认会清理用户输入:
<%= "<script>alert("hi")</script>" %>
必须使用以下命令覆盖此选项:
标签: Elixir
bitstringhammingweight
请问我们如何才能有效地计算elixir中位串的汉明权重
示例:0b0101101001的汉明权重为5(即设置了5位)
我的尝试:
iex> Enum.count(Integer.to_char_list(n,2),&(&1===49))
下面是一个性能更好的解决方案,它(对我来说)也更清楚地表明了意图:
for(<<bit::1 <- :binary.encode_unsigned(n)>>, do: bit) |> Enum.sum
给定一些二进制/位字符串
<<1,2,3,4,5>>
关键是将二进制文件的其余部分与rest::bitstring(而不是rest::binary)匹配,这也将使二进制文件与部分字节匹配
defmodule BitUtils do
def chunks(binary, n) do
do_chunks(binary, n, [])
end
defp do_chunks(binary, n, acc) when bit_size(binary) <
我正在渲染一个模板并向其传递一些选项。其中一个代码是:
main: "#{ @comp[:contentItem]
unless Regex.match?(~r/width:/, to_string @comp[:contentItem])
do "width: 165px;" end
unless Regex.match?(~r/height:/, to_string @comp[:contentItem])
标签: Elixir
phoenix-frameworkecto
我有一个父组件和一个子组件。我想在创建子对象的同时创建父对象,因为没有子对象,父对象就不能存在。具体来说,我有一个订阅,其中有许多服务
如果我的子模型有一个必填字段作为外部约束,那么如何同时创建这两个模型?我的变更集中出现错误,表明parent.id不能为空
我知道我可以做Repo.insert!(Subscription)然后使用Subscription.id创建服务变更集,但我想知道是否可以同时创建这两个变更集
我的父变更集和子变更集如下所示:
家长(订阅)
儿童(服务)
这是一个鸡蛋鸡问题
标签: Elixir
phoenix-frameworkecto
假设我有一个用于获取所有线程的工具:
Thread |> Thread.ordered |> Repo.all |> Repo.preload([:posts])
如何为:posts提供order_by子句?在文档中,我似乎找不到任何引用exto.Repo.preload/1的内容,因此提供的示例似乎都没有对正确使用此语法有所帮助 通过该模块,还可以很容易地将某些查询应用于预加载之类的事情
我们实现这一点的方法是将查询传递到preload函数中,然后将预加载的结果限制到该查询
我对学习长生不老药还不熟悉
作为起点,我想实现小型命令行应用程序。我在iex中偶然发现了以下内容:
args = ["--form", "blah"]
OptionParser.parse(args, switches: [src: :string])
我本来希望得到{[],[],[form:“blah”]}的结果
相反,我“接收”{[form:“blah”],[],[]}
我是不是忽略了什么
此外:
如果我分配argsargs=[“--folm”,“lolo”]结果是{[],[],[{--f
在java中,可以通过调用
Runtime.getRuntime().availableProcessors()
elixir中对应的api是什么?模块通过调用系统信息提供此信息:
:erlang.system_info(:schedulers_online)
Erlang将CPU抽象为“调度器”,此API允许您查询可用的CPU数量。Erlang模块通过调用系统信息提供此信息:
:erlang.system_info(:schedulers_online)
Erlang将CPU抽象为“调度
标签: Elixir
phoenix-frameworkecto
我试着做了以下几点:
add :balance, :decimal, default: 0.0
add :balance, :decimal, default: "0.0"
add :balance, :decimal, default: Decimal.new("0.0")
前2个根本不起作用,因为如果我没有显式传递值,新创建的记录仍然返回nil
第三个返回此错误:
**(ArgumentError)类型:Decimal的未知默认值#Decimal:默认值可以是字符串、数字、布尔值和
字符串
我想在我的Phoenix应用程序中注册2个根管理员,有什么理由不这样做吗
下面是一个例子
defmodule MyApp.Application do
use Application
import Supervisor.Spec
def start(_type, _args) do
children_sv1 = [
supervisor(MyApp.Repo, []),
... # other workers
]
children_
我如何将一个列表(比如[1,2,3,45,67])分解为[1,2,3,4,5,6,7]?您可以尝试以下方法:
[1, 2, 3, 45, 67]
|> Enum.map(&Integer.to_string/1)
|> Enum.flat_map(&String.graphemes/1)
|> Enum.map(&String.to_integer/1) # results in [1, 2, 3, 4, 5, 6, 7]
您可以尝试以下方法:
[
鉴于我有一个业务结构,我如何以处理关联的方式创建联系人、对话和消息结构
排除消息部分时,以下操作有效
business
|> Ecto.build_assoc(
:contacts,
%Contact{name: name, phone: phone}
)
|> Ecto.Changeset.change()
|> Ecto.Changeset.put_assoc(
:conversation,
%Conversation{business: business}
这是我的长生不老药密码
defmodule ErlProcess do
def receiver do
receive do
{:sayHello, msg}->sender<-{:ok, "ok"}
end
end
end
def模块处理do
def接收器do
接收do
{:sayHello,msg}->senderpid
** (CompileError) spawn.exs:4: function '&l
我需要通过URL获取文件并将其存储在本地磁盘上
我明白了。Utils有:
copy_path!(source, target, opts \\ [])
这似乎正是我想要的,但它是Mix.Utils,你只会用它来写混合任务,而不是解决一般问题
这似乎正是我想要的,但它是Mix.Utils,你只会用它来写混合任务,而不是解决一般问题
通常是的。如果您想使用它,您需要依赖def应用程序函数中mix.exs文件中的:mix应用程序。您知道没有使用mix.Utils实现我想要的功能的任何其他方法吗?不,
运行mix deps.compile会得到以下输出:
==> eunit_formatters (compile)
Compiling src/eunit_progress.erl failed:
src/eunit_progress.erl:none: undefined parse transform 'eunit_striptests'
ERROR: compile failed while processing /var/www/myapp/releases/20150618041
尝试使用Elixir+Phoenix创建一个应用程序,该应用程序将能够处理“浏览器”和“api”请求以处理其资源
有没有可能不用做这样的事情:
scope "/", App do
pipe_through :browser
resources "/users", UserController
end
scope "/api", App.API as: :api do
pipe_through :api
resources "/users", UserController
e
标签: Elixir
phoenix-frameworkecto
在my标记中型号代码
schema "tags" do
field :name, :string
field :parent, :integer # parent tag id
timestamps
end
def add_error_when_not_exists_tag_id(changeset, params) do
tags = Repo.all(Tag)
is_exists_tag_id = Enum.reduce(tags, fn(x, acc) -> a
通过新安装的Phoenix,我尝试触发一个新项目,当我尝试运行服务器时,我遇到:
Unchecked dependencies for environment dev:
* gettext (Hex package)
the dependency is not available, run "mix deps.get"
* phoenix_live_reload (Hex package)
the dependency is not available, run "mix deps.
在路由器选择控制器/操作之前,是否有任何方法插入要运行的插头?我有一个应用程序将重定向到特定子域的根路径,而不管这些域上的当前路径如何。因此:
sub.myapp.com/foo/bar应重定向到sub.myapp.com/
但是,默认情况下,路由器说没有/foo/bar的路径,它会停止执行我的插件,这意味着它永远不会点击我的重定向
在路由器选择动作/控制器之前,是否有办法插入我的插头
(注意:我很确定我可以处理这个问题,但我只是好奇是否有更好的方法。)您的路由器在lib/my_app/endp
我正在使用Phoenix和Ecto 2.0构建一个应用程序,该应用程序在多个模型中存储大量数据
我希望允许用户执行查询并仅选择所有字段的子集
我已经能够让标准完美地工作(在这方面,与我预期的相比,使用CTO要容易得多;这是开发人员的一大支柱!),但是我还没有弄清楚如何选择东西
我的初始查询如下所示:
query =
from e in Event,
left_join: t in assoc(e, :event_type),
left_join: r in assoc(e,
标签: Elixir
phoenix-frameworkelixir-mix
在添加“timex”依赖项之后,我面临这个问题,这里是错误
==>未找到命令裸机
**(Mix)无法编译依赖项:idna,“/usr/bin/rebar3 bare compile--path”phoenix/_build/dev/lib/*/ebin”命令失败。您可以使用“mix deps.compile idna”重新编译此依赖项,使用“mix deps.update idna”更新它,或使用“mix deps.clean idna”清理它。安装了哪个版本的rebar3?您正在尝试添加哪个版
我正在使用Hound(带有PhantomJS)来刮取网页。有问题的页面懒洋洋地加载我需要的一些Javascript内容
这就是我目前正在做的
def movies do
Hound.start_session
navigate_to(url())
:timer.sleep(6000)
# Do stuff with page_source()
end
如何让Hound等待页面完全加载,而不必硬编码任意计时器?不确定这是否是最佳解决方案,但我是这样做的
def wai
Noobie问题:)
如何在Elixir中将列表数据结构转换为字符串
示例:
["all"] # into "['all']"
["project", "labels"] # into "['project', 'labels']"
我并不认为这是唯一正确的决定,但这可能会有所帮助:
iex(13)> a = ['project', 'labels']
['project', 'labels']
iex(14)> b = inspect a
"['pro
标签: Elixir
phoenix-frameworkecto
我正在制作一个只支持API的Phoenix应用程序。我来自RubyonRails背景,所以请容忍我
假设我有一个带有电子邮件、密码、密码散列和角色字段的用户模型
我需要限制用户输入的角色和密码\u散列字段,或者将电子邮件和密码字段列为白名单。现在任何人都可以以管理员的身份发布此注册:
{
"user": {
"email": "test3@test.com",
"password": "testpw",
"password_hash": "
标签: Elixir
phoenix-frameworkecto
我不清楚如何删除EXTO中的多对多关联。我不想删除关联的结构,只想删除关系
我的第一次尝试是在join_through表中找到关联并将其删除,但没有主键,因此Repo.delete失败。Repo.delete_all/2查询join表和两个外键
您可以定义一个:on_delete选项,指定删除父项时应对关联执行的操作:我不想删除父项。我想自己删除关联您是否尝试过对联接表和两个外键进行查询?这很有效。谢谢。例如:Repo.delete_all(从“团队用户”中的r中,其中:r.team_id==^
我有一个功能:
def listAll(dataSchema, fields) do
dataSchema |> order() |> Repo.all()
end
返回如下所示的查询结果:
[%Skeleton.Data.Evento{__meta__: #Ecto.Schema.Metadata<:loaded, "eventos">,
date: "dewfwef", date_de:
我正在学习Elixir,我想知道是否有更好的方法将函数指针传递到Enum.map。我有以下代码:
defmodule MyModule do
defp greet(person) do
IO.puts "Hello " <> person
end
def main() do
people = ["Manuel Bartual", "El hijo de la Tomasa"]
Enum.map(people,
下面是使用Stream.unfold显示具有elixir的斐波那契序列的示例
Stream.unfold({0,1}, fn {f1,f2} -> {f1, {f2, f1+f2}} end) |> Enum.take(15)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]
为什么它需要在{f1,{f2,f1+f2}}中提供f1,而不仅仅是{f2,f1+f2}
因为在对上述代码的解释中,作者说:
新状态沿序列向下移
我在phoenix项目下的mix.exs文件中有dialyxir:
{:dialyxir, "~> 0.5", only: [:dev, :test], runtime: false}
但在项目路径下运行混合透析器时,出现以下错误:
$ mix dialyzer
Checking PLT...
[:asn1, :certifi, :compiler, :connection, :cowboy, :cowlib, :crypto,
:db_connection, :decimal, :e
标签: Elixir
phoenix-frameworklarge-datachannel
首先,我想说的是,在我的公司,我们是长生不老药生态系统的忠实粉丝,尤其是凤凰框架
上下文
一款名为“the broker”的Phoenix应用程序公开了一个频道
名为“客户端”的Phoenix应用程序使用Phoenix_gen_socket_client包连接到代理频道(请参阅)
环境
代理应用程序:
长生不老药1.5.1
凤凰城1.3版
Freebsd监狱v10.3 amd64
客户端应用程序:
长生不老药1.5.1
凤凰城1.3版
MacOSX
问题
当通过通道发送多条消息时,例如使用循
创建新的Phoenix 1.3项目时,我注意到config/prod.exs中的端点是Bia.Web.endpoint。当查看Phoenix Hex文档时,我看到它们引用了Helloweb.Endpoint。我假设后一种格式应该是默认格式,因为当我用mix phx.gen.html生成一个上下文时,我得到下面的编译错误,突出显示它找不到moduleBiaweb。我可以进入控制器并将Biaweb重命名为Bia.Web,然后它就解决了,但我只是遇到了一系列进一步的问题
== Compilation
在Elixir中,两个字符串可以与连接,如下所示:
iex(1)> "Hello" <> " World"
"Hello World"
iex(1)>“你好”“世界”
“你好,世界”
如何连接两个字符列表?如果我使用,我会得到以下错误
iex(2)> 'Hello' <> ' World'
** (CompileError) iex:2: invalid literal 'Hello' in <<>>
(elixir) s
我的Phoenix 1.2.4目前正在OSX上运行。我正在尝试使用以下工具升级到1.3:
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez
它不会给我一个错误,但也不会升级。我错过了什么
以下是终端输出:
Mb:~t9$长生不老药-v
rlang/OTP 20[erts-9.1][source][64位]
[smp:4:4][ds:4:4:10][异步线程:10][h
例如,当一个非常大的地图上出现一个KeyError时,它不会显示所有地图并保持截断状态,因此它不会显示出现回溯的行,是否有方法启动phoenix.server以允许更详细的描述
Server: localhost:4000 (http)
Request: GET someurl
** (exit) an exception was raised
** (KeyError) key :response not found in: %{conn_map}... (truncated)
在配置/de
我想知道,通过给定的算法获得结果的最佳方法是什么?当前的解决方案没有帮助,因为结果为nil。如何使变量results在iterate_json中可访问,而不将其作为参数传递
def lookup(json) do
results = []
iterate_json(json, fn(x) ->
if x["title"] =~ "sunt" do
results = [x|results]
end
end)
我试图用Elixir Dropbox包发送一个POST请求,虽然很简单
case ElixirDropbox.Files.upload(client, upload_image_path, image_path) do
{{:status_code, _}, {:error, error}} -> Logger.debug "Error while uploading. Error: #{inspect error}"
_ -> :noop
end
问题是:我使用的库正在执
我有以下代码,我能够创建新用户。电子邮件未存储
代码:
如何捕获和存储他们的电子邮件 我可以发现这段代码有两个小故障:
在Elixir的文字/术语中,单引号和双引号之间存在显著差异。区别在中有详细描述,一般来说是:用于字符列表的单引号与二进制文件(字符串)基本上没有共同之处
看:
iex | 1▶ 'abc'=[97,98,99]
#⇒真的
“abc”基本上与(伪代码中的)相同
[
ascii值(字符a),
ascii值(字符b),
ascii值(字符c)
]
这可能应该被认为是从XX世纪
为什么在长生不老药苦艾酒中输入对象不起作用
像
我尝试了,但它为以下有效负载抛出了错误
mutation() {
employee: createEmployee(vehicleDetails: {
registrationNo: "AP03EY0096",
imageUrl: "http://sample.example.com"
}) {
id
}
}
错误
In field \"vehicleDetails\": Expected type \
如果我定义了以下模块,并执行以下操作:
1) {:ok,pid}=ExampleTaskShutdown.start()
2) ExampleTaskShutdown.stop(pid)
为什么ExampleTaskShutdown#stop/1需要Process.exit(..)来停止任务?为什么在示例TaskShutdown#stop/1中使用send(…)无法关闭任务?是因为Task.start(..)中的匿名函数自己的进程不是ExampleTaskShutdown.start()定义的p
标签: Elixir
phoenix-frameworkotpphoenix
所以我很难理解这个“超级简单”的例子。新的长生不老药(从红宝石背景)
只是尝试在主应用程序监控树下创建一个redis连接池,用于活动用户会话,但事实上,redis在这一过程中会更有用,所以我正在尝试正确设置
This line:
start: {Supervisor, :start_link, [children_redix]}
Gives me the following error:
** (Mix) Could not start application gametime:
Gam
我正在做一个多人玩的石头剪刀游戏来学习长生不老药。我的游戏结构包含一个玩家列表和一个赢家。我希望在每个玩家选择更新分数的选项后,递归地遍历他们(player1与其他玩家比较,然后是下一个,等等,直到所有玩家都被评分)。我正试图找出更新游戏的最佳方式,但就性能而言,我所尝试的一切都显得平庸。最好的方法是什么
链接到特定游戏逻辑:
结构:
%RockPaperScissors.Game{
players: [
%RockPaperScissors.Player{choice: "roc
标签: Elixir
ectosingle-table-inheritance
我有一个如下所示的变更集:
%{
创建者id:“4”,
名称:“使用GraphQL的测试”,
地点编号:“13”,
主菜编号:“8”,
基地:“小麦”,
类型:“食品”
}
我的外星模式如下:
schema“items”做什么
字段:类型,:字符串
字段:名称,:字符串
字段:数据,:地图
属于:创建者,Name.SubName.Creators
属于:地点,名称。子名称。地点
属于:entre,Name.SubName.entre
时间戳()
结束
正如您所看到的,base不是一个在ext
我的示例查询如下:
%{
"query" => """
query getPerson(
$name: String!
){
getPerson(name: $name) {
id
col1
col2
col3
col3
}
我正在尝试组合一个自定义混合任务,该任务将以专门的方式执行mix test任务。我的混合任务是混合测试
到目前为止,我已经编写了世界上最基本的自定义混合任务:
defmodule Mix.Tasks.Test.Pretty do
use Mix.Task
@shortdoc "Simply runs the Hello.say/0 function"
def run(_) do
Mix.env(:test)
Mix.Task.run("test", ["--for
我正在使用EXTO从数据库中获取数据
有一张照相桌。和摄像机共用一张桌子。我正在尝试获取所有相机,其中相机的所有者id等于给定的所有者id
CameraShare表具有与所有者和照相机相关的照相机id和用户id
我正试着把所有的摄像机都放在哪里
相机的所有者\u id=给定id
所有的摄像机都在哪里
CameraShare的用户\u id=给定id
摄影机共享的摄影机\u id=摄影机的id
当我执行上述查询时,我只得到那些CameraShare的用户id和camera id与给定的用户
我有一个非常简单的混合应用程序(它是凤凰伞项目的一部分)。它甚至不包括业务逻辑的流程。例如:
defmodule BGAdapter.Application do
use Application
def start(_type, _args) do
children = [
BGAdapter.LifeCycle # Agent
]
Supervisor.start_link(children, strategy: :one_for_one, na
我有一个主函数,使用此代码使用其他所有函数:
File.read!(文件路径)
|>消毒液。消毒源()
|>IO.检查(标签:“\n启动器输出”)
|>Lexer.scan_words()
|>IO.检查(标签:“\nLexer OUTPUT”)
|>Parser.parse_程序()
|>IO.检查(标签:“\n处理器输出”)
|>CodeGenerator.generate_code()
|>链接器。生成\u二进制文件(程序集\u路径
但任何时候函数返回错误,其余的都会导致程序崩溃。我的老
我有一个类似于以下内容的db表:
UID QID Attempt score
1 1 1 4
1 2 1 3
1 1 2 5
1 2 2 5
2 1 1 2
2 2 1 3
在插入新值时,我希望确保UID、QID和INTERT组合的记录不存在
我怎样才能在凤凰城做到这一点?
我在凤凰城做我的第一个项目,所以我知道的不多。
非常感谢您的帮助。在迁移过程中
我有两张带地图的清单
products= [
%{
"id" => "7",
"use_count" => 1,
"name" => "A",
"price" => "$1",
"base_count" => 2
},
%{
"id" => "8",
"use_count" => 0,
"name" => "B",
"price" => "$14",
基本上,我尝试获取数据并使用Enum.group_by创建字典,但我希望继续按子类别对相同的数据进行分组
数据=[
%{公司:一号公司,州:洛杉矶,规模:100},
%{公司:一号公司,州:洛杉矶,规模:200},
%{公司:第二公司,州:德克萨斯州,规模:200},
%{公司:第二公司,州:洛杉矶,规模:300},
%{公司:三公司,州:洛杉矶,规模:400},
%{公司:四公司,州:德克萨斯州,规模:500}
]
我想先按公司分组,然后在地图组中按州分组,再在嵌套地图组中按大小分组。本质上是
上一页 1 2 ...
70 71 72 73 74 75 76 ...
下一页 最后一页 共 125 页