Erlang
文章平均质量分 80
Fisher1006
这个作者很懒,什么都没留下…
展开
-
Erlang中一些图形化程序
这篇帖子记录一下Erlang中的图形化程序,以后如果发现其他的也会更新到这里以下程序都经过实际测试,都可以运行,以下工具都需要在erlang shell环境下运行测试Erlang环境为:Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]原创 2015-01-27 18:00:58 · 1709 阅读 · 2 评论 -
Erlang Guard 和布尔表达式
GuardGuard 第一版翻译为「断言」,第二版翻译为关卡。Guard 是一种结构,由一系列「guard expression」组成,用逗号「,」分隔,是模式匹配的一种扩展,用于提高模式匹配的作用,通过使用 Guard 可以对某个模式里的变量执行简单的测试和比较。只有在所有的「guard expression」值为 true 时,guard 才为 true。由于模式匹配无副作用,...原创 2018-05-13 16:05:14 · 1131 阅读 · 0 评论 -
Erlang 接入远程控制台的几种方法
目录目录测试环境JCLRemshSSHPIPE这篇博客源自于调试过程中发现的一个比较有意思的问题。平时我们的项目生产环境一般都是在 linux 操作系统后台中运行,但我们在运行中势必有连接到线上环境的需求,这时候就需要有办法接入远程控制台, Erlang 提供了四种方法来远程接入控制台测试环境主机:Mac Erlang 17.5 虚拟机:Ce...原创 2018-05-01 03:12:39 · 1496 阅读 · 0 评论 -
Erlang工作环境搭建
目录目录背景准备VMware 14.1CentOS 6.5ErlangIntelliJ IDEA 2018MySQLSecureCRTDataGripXMind 8 Update 5Office 2013背景一般工作变动入职后第一件事就是从头搭建一次开发环境,这件事难倒不难,但是很烦琐:要回忆都需要安装什么以前搜过的教程再搜一次以前...原创 2018-04-17 00:12:46 · 2050 阅读 · 0 评论 -
Erlang supervisor重启策略
最近阅读了一下erlang的supervisor模块,自己写了一些简单的代码来区分不同重启策略的区别,这里记录一下。首先为了能够直观的观察,我把代码写成了一个application方便用工具观察。接着实现一个supervisor模块,部分代码如下:start_link(_Args) -> io:format("example_sup start_link ~n"),...原创 2015-11-21 22:58:34 · 2897 阅读 · 0 评论 -
Erlang手册supervisor翻译
supervisor模块supervisor模块概述通用监督行为模式描述执行一个监督者的行为模式,一个进程监督其他被称作子进程的进程。子进程可以是另外一个监督者或者一个工作进程。工作进程一般是 gen_event,gen_fsm 或者 gen_server 几种行为模式的一种。使用该模块的监督者会有一套标准的函数接口并且包括追踪报告和错误报告的功能。Supervisor...翻译 2015-11-21 22:43:12 · 925 阅读 · 0 评论 -
ETS不随着erlang shell的异常而消失
在Erlang Shell中调试的时候经常会遇到的一个问题就是在Shell中遇到异常会导致ETS表丢失,需要反复去创建ETS表,调试比较麻烦.这是由于Erlang Shell在遇到异常之后会重建,ETS表依赖于创建它的进程,如果创建它的进程崩溃了ETS表也就销毁了转载 2015-09-04 18:18:52 · 1689 阅读 · 0 评论 -
Erlang可以挂掉的四种原因
耗尽atom 因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下 list_to_atom),atom table会被塞满,然后erlang就当掉了 进程的耗尽 如果你spawn了太多unlink的不会终止的进程,而且这些进程你都不保存它们的Pid,这样你就失去了和这些进程的联系(和引用),这可以看成是进程泄漏,(有点像内存泄漏),转载 2015-09-04 17:51:25 · 2467 阅读 · 0 评论 -
erlang三种socket消息循环
1、主动消息获取(非阻塞)2、被动消息获取(阻塞)3、混合消息获取(部分阻塞)转载 2015-09-05 00:47:39 · 1213 阅读 · 0 评论 -
安装rebar时提示"Uncaught error in rebar_core"
安装rebar时提示Uncaught error in rebar_core,原因在于安装erlang时没有生成crypto模块,这个模块是安装openssl时生成的,也就是说可能是你没有安装openssl造成的,或者你安装了但是erlang没有连接到openssl,只需要加上参数重新安装一下就可以了原创 2015-01-02 17:32:47 · 3703 阅读 · 2 评论 -
Erlang手册re模块翻译(二)——inspect/run函数
inspect(MP, Item) -> {namelist, [binary()]} 类型: MP = mp() Item = namelist 该函数编译一个正则表达式和一个项目,从正则表达式中返回相关的数据。目前唯一支持的项目为namelist,它返回一个元组{namelist,[binary()]},包含正则表达式中所有的命名子模式中的名字(惟翻译 2015-02-08 13:20:04 · 1908 阅读 · 0 评论 -
Erlang手册re模块翻译(一) ——compile函数
一直想写个爬虫,最近在学Erlang就打算用Erlang写,结果Erlang正则表达式这里网上资料太少,所以就打算把re模块翻译一下。第一次翻译英文手册,肯定有翻译不对的地方,我尽量先在shell中尝试了在翻译,也会把试过的一些例子放在下面帮助理解。不对的地方请大家指正,这也仅供一个参考,可以帮助自己以及学习Erlang的朋友理解Erlang的正则表达式。本文是原创,目前没有在网上找到翻译 2015-02-05 17:05:48 · 3399 阅读 · 0 评论 -
Erlang TCP Socket 笔记
本周花时间专门学习了 Erlang 的 TCP 内容,一直以来都停留在应用层面,没有自己亲手完整的实现过,总觉得不踏实,这次亲自动手写的过程果然就遇到了问题。Erlang 的 TCP 提供了比较完善的 TCP 封装,但是 Erlang 提供的连接接口是同步的,而大部分情况我们需要用到的都是异步的情况,所以会用到内部的 prim_inet 模块,关于这个模块网上有很多的教程,主要就是这个模块是没...原创 2018-07-29 00:00:07 · 1599 阅读 · 1 评论