Lessons: Miscellaneous

.

Невозможно угадать, какие функции работают быстро, а какие — медленно. Нам нужны настоящие измерения, получаемые при помощи тестирования производительности. В этом уроке мы узнаем, как легко измерять скорость нашего кода.

Если вы знакомы с Ruby, то считайте, что Plug это Rack с лёгким налётом Sinatra. Он предоставляет спецификацию для компонентов веб-приложений и адаптеров для веб-серверов. Хотя Plug и не является частью ядра Elixir, это официальный проект от той же команды.

В этом уроке мы создадим простой HTTP-сервер с нуля, используя для этого библиотеку Elixir PlugCowboy. Cowboy - это простой HTTP-сервер для Erlang, и Plug предоставит нам интерфейс подключения для этого веб-сервера.

После того, как мы настроим наше простенькое рабочее веб-приложение, мы узнаем о маршрутизаторе Plug и о том, как использовать несколько модулей Plug в одном веб-приложении.

По аналогии с ERB в Ruby и JSP в Java, в Elixir есть EEx или Embedded Elixir (“встраиваемый” Elixir код). С помощью EEx мы можем встраивать и интерпретировать код Elixir внутри любого другого текста.

Ошибки – неотъемлемая часть любого проекта, поэтому отладка очень важна. В этом уроке мы узнаем об отладке Elixir-кода и инструментах статического анализа, позволяющих находить потенциальные проблемы.

Guardian — часто используемая библиотека, основанная на JWT (JSON Web Token).

Если позволить параллельным процессам выполняться произвольно, то с лёгкостью можно израсходовать все системные ресурсы. Poolboy предотвращает возможность возникновения чрезмерной нагрузки с помощью пула процессов-обработчиков, ограничивающих количество параллельных процессов.