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 编写的发布管理工具。它可以让你在极少,甚至不需要配置的情况下生成发布包,并部署到其它环境。