Lessons: Miscellaneous

.

我們無法靠猜測來得知哪些函數快而哪些慢 - 當想知道時需要實際量測。 這就是基準測試(benchmarking)出場之時。 在本課程中,將學習測量程式碼的速度是有多麼容易。

如果熟悉 Ruby,可以將 Plug 視為 Rack 再加上一點 Sinatra。 它為 Web 應用程式元件提供了一套規範與 Web 伺服器一組轉接器 (adapters)。 雖然不是 Elixir 核心的一部分,但 Plug 仍是 Elixir 的正式項目。

首先將建立一個最小的基於 Plug 的 Web 應用程式。 而之後,將學習 Plug 的路由器以及如何將 Plug 加入到現有的 Web 應用程式。

在設定了最小的 Web 應用程式之後,將了解 Plug 的路由器以及如何在單個 Web 應用程式中使用多個 plug。

就像 Ruby 有 ERB 而 Java 有 JSP 一樣,Elixir 有 EEx,或稱為嵌入式 (Embedded) Elixir。通過 EEx,可以嵌入 Elixir 內部字串並求值。

程式錯誤 (Bugs) 是任何專案與生俱來的一部分,這就是需要除錯的原因。在本課程中,將學習如何除錯 Elixir 程式碼以及使用靜態分析工具,以幫助我們發現潛在的程式錯誤。

{: .excerpt }

Guardian 是一個基於 JWT (JSON Web Tokens) 且被廣泛使用在身份驗證 (authentication) 的函式庫。

如果不限制程式可以生成的最大並行處理程序數量,則會輕易地耗盡系統資源。Poolboy 是一個廣泛使用於解決這個問題的 Erlang 輕量級通用池函式庫。

Distillery 是純粹使用 Elixir 編寫的發布版本管理工具。它可以生成幾乎不需要配置就可以部署到其他地方的發布版本。