我看到这些术语在编程中遍布各地,我对它们的含义有一个模糊的概念.搜索显示,事实上,这些事情已被问到堆栈溢出.据我所知,语言中的静态/动态类型与强/弱类型略有不同,但这种差异是我的意思.不同的来源似乎使用不同的含义甚至可以互换地使用这些术语.我找不到谈论两者的地方,实际上说明了差异.如果有人能够在这里为我和世界其他地方清楚地说明这一点,那会更好.
terminology static-typing weak-typing strong-typing dynamic-typing
作为Elixir和Web领域的新手(没有Web框架经验),我想知道什么是Plug?据我所知,Cowboy是一个Web服务器(虽然在Erlang,而不是Elixir),而Phoenix是一个用于构建Web应用程序的框架,但是插件是从哪里进来的?它是两者之间的抽象层,还是与Phoenix相同的抽象层中的插件系统?
我是Phoenix Framework的新用户,我正在尝试设置一个简单的HTTP POST服务,它对传入的数据执行计算并返回结果,但是我收到以下错误:
** (RuntimeError) expected connection to have a response but no response was set/sent
stacktrace:
(phoenix) lib/phoenix/conn_test.ex:311: Phoenix.ConnTest.response/2
(phoenix) lib/phoenix/conn_test.ex:366: Phoenix.ConnTest.json_response/2
test/controllers/translation_controller_test.exs:20
Run Code Online (Sandbox Code Playgroud)
我的测试用例:
test "simple POST" do
post conn(), "/api/v1/foo", %{"request" => "bar"}
IO.inspect body = json_response(conn, 200)
end
Run Code Online (Sandbox Code Playgroud)
我的路由器定义:
scope "/api", MyWeb do
pipe_through :api
post "/v1/foo", TranslationController, :transform
end
Run Code Online (Sandbox Code Playgroud)
我的控制器:
def transform(conn, params) do
doc = Map.get(params, "request")
json conn, %{"response" => "grill"}
end
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
给定一个 JSON 对象列表,例如:
[{"id":"1", "name":"Jane"},{"id":"2", "name":"Joe"}]
Run Code Online (Sandbox Code Playgroud)
如何Dict String Foo使用idas 键将其解码为 a以及Footype 的记录在{id: String, name: String}哪里?(请注意,该记录还包含 id。)
如何实现可更换的后端(或基本上任何部件或模块),以便在Elixir的配置/部署时更换它?
我的具体情况是一个简单的网络应用程序(在这种情况下使用凤凰,但我猜这个问题也适用于其他情况)我有一个非常简单的后端Agent用于保持状态但我认为将来需要能够或多或少地动态切换后端.
我猜测Ecto和Logger都在某种程度上做到这一点,但对Elixir来说是新手,很难知道在哪里看.
阅读文档,Stream.resource似乎只是为了创建一个可以读取/获取值的资源,而不是写入/放入.我理解正确还是我读错了?如果我理解正确,我必须创建什么类型的资源才能从流中写入/放入Collectable?
尝试将Phoenix/Elm项目部署到Heroku时遇到以下问题:
Running default compile
Elm compile: Main.elm, in web/elm, to ../static/vendor/main.js
/bin/sh: 1: elm: not found
17 Jul 15:58:21 - error: Compiling of web/elm/Main.elm failed. Command failed: elm make --yes --output ../static/vendor/main.js Main.elm
/bin/sh: 1: elm: not found
Check your digested files at "priv/static"
Run Code Online (Sandbox Code Playgroud)