Do you want to pick up from where you left of?
Take me there

Lessons: Miscellaneous

.

Benchee

我们不能简单地猜测哪个函数运行得快,哪个慢 - 而是需要实际的测量值。这就是需要基准测量介入的时候了。本课程将学习如何度量代码的执行效率。

Plug

如果你熟悉 Ruby,你可以把 Plug 想成 Rack,再加上一点 Sinatra。它提供了编写 Web 应用组件的一组规范,以及接入 Web 服务器所需的一些适配器。虽然 Plug 不属于 Elixir 的核心库,但它依然是一个 Elixir 官方维护的项目。

通过本课程,我们会使用 PlugCowboy 来从零开始打造一个简单的 HTTP 服务器。Cowboy 是一个为 Erlang 打造的简单的 HTTP 服务器。而 Plug 则为我们提供了它的 connection 适配。

当极简的 web 应用配置好后,我们将学习 Plug 的 router 以及如何在单个 web 应用内使用多个 plugs

嵌入的 Elixir (EEx)

正如 Ruby 有 ERB,Java 有 JSPs, Elixir 也有 EEx, 或者 嵌入的 Elixir。通过 EEx,我们可以在字符串里面嵌入 Elixir 表达式并求值。

调试

臭虫(Bugs)可谓是任何项目都无法避免的存在,所以调试也不可或缺。

本课程我们将学习如何调试 Elixir 代码,并使用静态分析工具来帮助寻找可能存在的 bugs

Nerves

{: .excerpt }

Guardian(基础)

Guardian 是一个广泛使用的,基于 JWT (JSON Web Tokens) 的验证程序库。

Poolboy

如果你不限制你的程序可以产生的最大并发进程数,你会很容易耗尽你的系统资源。 Poolboy 就是为了解决这个问题,在 Erlang 下被广泛使用的轻量级,通用进程池程序库。

Distillery (基础)

Distillery 是纯 Elixir 编写的发布管理工具。它可以让你在极少,甚至不需要配置的情况下生成发布包,并部署到其它环境。

NimblePublisher

NimblePublisher 是一个基于文件系统的轻量级发布引擎,支持 Markdown 解析和语法高亮。