Blog Posts

Erlang中的list函数如何失败?

很久以前写过一篇[The Asymmetry of ++](https://medium.com/erlang-battleground/the-asymmetry-of-validations-1ccdf2457293)的文章,感谢Fede Bergero的发现。 让我们在不对称列表中添加更多… > 注意:本文基于 OTP23。 该版本之后,许多事情都得

Read More

Rebar3 功能介绍

[Rebar3](https://rebar3.org/)带有许多新的和改进的功能。在接下来的几周内,我将在这里发布博文以介绍其中的一些功能。 ## 本地安装和升级 Rebar 是一个 escript 包,这对其易用性来说是非常重要的,主要是因为它们让 Erlang 用户可以将单个文件作为可执行文件,而不管底层的 Erlang 安装如何,甚至可以提交到项

Read More

使用rebar生成releases和upgrades

在我对 rebar 的实验中,我制作了一个简单的示例应用程序来测试upgrades和releases。本文将引导您使用 rebar 创建应用程序、正确布局、打包和部署它,以及创建和安装新版本而无需停机。 本文随附的代码位于[github.com/RJ/erlang_rebar_example_project](https://github.com/RJ/e

Read More

使用 Rebar3 构建您的第一个 Erlang 应用程序

Rebar3 是 Erlang 的构建工具和包管理工具。借助 [Rebar3](http://www.rebar3.org/)及其[Hex](https://hex.pm/)插件,创建和发布您的 Erlang 包非常简单。让我们做一个简单的“hello world”包,尝试一下吧! ## 下载 Rebar3 在此处下载最新版本:http://www.re

Read More

停止 Erlang VM 的 10 种方法

您是否有一个不再需要的 Erlang VM 并且您不知道如何处理它?不用担心,我的朋友,这只是给你的清单!系好你的安全带,进入你的旧冰箱……**我们会撞坏东西的**! ## 好的方法 有几种方法可以很好地关闭 Erlang VM…… ### 1. q/0, c:q/0, init:stop/0 正如[文档](https://erldocs.com/c

Read More

在Erlang应用程序中查找内存泄漏

作为用 Erlang 编写的网络模拟器的一部分,我通常会遇到很多关于由于对非常大的代码库维护不当而导致的性能和内存泄漏的问题。我们在一个 Linux 机器上启动了近 250 多个 Erlang 节点来模拟大约 500 到 1000 多个电信节点。 通过静态检查代码来查找内存泄漏是一项非常困难的任务。相信我,我发现在运行时本身很容易找到内存泄漏。 > 什么

Read More