Erlang/Elixir精选-第1期
第1期(20191202)
文章
A short guide to the structure and internals of the Erlang distributed messaging facility.
Erlang分布式启动流程源码阅读指南:- 节点启动时通过
epmd
互相发现彼此。 net_kernel
启动tcp建立稳定的长连接流程,handshake,setnode,set_cookie。- 节点间发消息使用的数据格式external term format。
- 节点启动时通过
How to opens an ssh tunnel to connect to a remote Erlang VM via Observer.
观察节点想启动observer观测其它节点,观察节点只有ssh的网络权限,其它端口不通,
可以使用把epmd的端口映射ssh代理隧道上,来实现节点通信。
更进一步,可以研究一下SSHEX如何通过Erlang自带的ssh库来实现功能的。How to evaluate a string of code in Erlang at runtime.
Erlang作为动态语言的绝佳优势就是可以运行时才parse/eval输入的字符串,
这也是Erlang Shell运行的基本原理。大部分人都幻想过在浏览器里面运行来
Erlang Shell,实现控制管理后台。
比如这个:TryErlang。可以尝试,但一定要注意如何限制权限。防止被人hack后直接init:stop/0
。-
Learn You Some Erlang_作者Fred总结了加入Erlang社区10年的变化。附译文。
-
原子是不会垃圾回收的,当原子个数达到最大时(默认为1048576),节点会直接crash。
由于旧版的OTP不能直接得到atom数量,所以文中需要间接通过erlang:system_info(info)
来做。
在新版OTP中可以直接使用erlang:system_info(atom_limit)和erlang:system_info(atom_count)
得到最大值和当前值。
$ erl
Erlang/OTP 20 [erts-9.0] [source] [64-bit] ...
1> [list_to_atom(integer_to_list(I))
|| I <- lists:seq(1, erlang:system_info(atom_limit))].
no more index entries in atom_tab (max=1048576)
Crash dump is being written to: erl_crash.dump...done
代码
Hexadecimal字符转二进制
1> Hexs = ["FF","AC","01"].
2> << <<(list_to_integer(C,16)):8>> || C <- Hexs >>.
<<255,172,1>>
Erlang/Elixir精选-第1期的更多相关文章
- Erlang/Elixir精选-第4期(20191223)
精选文章 A digital symphony - The architecture of API Fortress. 使用Actor模型来支持基于微服务的大规模分布式软件架构.用实例解释了Actor ...
- Erlang/Elixir精选-第5期(20200106)
The forgotten ideas in computer science-Joe Armestrong 在2020年的第一期里面,一起回顾2018年Joe的 The forgotten idea ...
- Erlang/Elixir精选-第2期(20191209)
Spot The Discrepancies with Dialyzer for Erlang. 如何在大型Erlang项目中从零开始一步步践行Dialyzer. Which companies ar ...
- Erlang/Elixir精选-第3期(20191216)
2019年,Erlang社区在应用层上除了aeternity区块链让人印象深刻(Killer App)外,就没有特别出彩的应用出现.在Web,IoT,MessageQueue这些成熟领域,已经有相当成 ...
- Erlang/Elixir精选-第6期(20200113)
精选文章 Implementing languages on the Erlang VM. -Robert Virding. 因为视频没有显示PPT,PPT可以在点击这里下载. leex - lexi ...
- Erlang/Elixir精选Q&A
精选的定位是什么? 已至2019年,Erlang/Elixir中文社区还是一座黑暗森林,每个技术人都怀揣着自己独有的葵花宝典独自摸索,没有一个开放的分享平台,大量优质文章没有得到该有的关注. 与此同时 ...
- erlang,elixir安装
erlang下载地址:https://packages.erlang-solutions.com/erlang/ elixir(precompile版)下载地址:https://github.com/ ...
- Skynet Pomelo Erlang Elixir 的认识
1.skynet pomelo(node.js) elixir(erlang) 周末研究总结 手游这两年发展来看,感觉对实时性要求越来越高,有同事在研究Elixir开发,google得知这东西是基于e ...
- Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器
这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里 应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker) 首先安装Op ...
随机推荐
- F#周报2019年第44期
新闻 Elmish.WPF教程 介绍Orleans 3.0 GC配置历史 介绍ONNX运行时1.0 介绍微软Q&A(预览) 使用App中心持续布署与监控你的UWP,WPF与Windows Fo ...
- 阿里巴巴 Kubernetes 应用管理实践中的经验与教训
作者 | 孙健波(阿里巴巴技术专家).赵钰莹 导读:云原生时代,Kubernetes 的重要性日益凸显.然而,大多数互联网公司在 Kubernetes 上的探索并非想象中顺利,Kubernetes 自 ...
- Flask:数据库的操作
1.对数据库的增加操作 在Django中,数据库查询需要借助objects方法,在Flask中也有类似的操作.在执行对数据库的增加操作之前,我们首先需要实例化一个session对象,这里的sessio ...
- python基础-元组(tuple)及内置方法
元组-tuple 用途:用于存储多个不同类型的值,但是不能存储可变类型数据 定义方法:用小括号存储数据,数据与数据之间通过逗号分隔,元组中的值不能改变. 注意: 1.定义元组时,如果里面只有一个值,在 ...
- USACO 07DEC 道路建设(Building Roads)
Farmer John had just acquired several new farms! He wants to connect the farms with roads so that he ...
- python正则小结
注意pattern字符串前要加r 原始字符串 元字符 . 匹配除换行的任意字符 ^ 匹配开头 $ 匹配结尾 表示重复 ...
- CSPS模拟 59
经ooo提醒咕题解会掉rp 我反正也冒着改不完题的风险,就开始颓博了 话说好久没这么舒坦的垫过底了233 上来一看T1,立刻就转化题意为有奇偶性和距离限制的bfs 然后就没考虑子串不能越过母串边界的事 ...
- 使用Typescript重构axios(三十一)——添加axios.all和axios.spread方法
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- python学习之【第二篇】:Python中的数字及其所具有的方法
1.前言 Python 数字(number)数据类型用于存储数值.数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 2.创建数字对象 以下实例在变量赋值时 Number ...
- 如何在双向绑定的Image控件上绘制自定义标记(wpf)
我们的需求是什么? 答:需要在图片上增加一些自定义标记,例如:2个图片对比时,对相同区域进行高亮. 先上效果图: 设计思路 1.概述 1.通过TargeUpdated事件,重新绘制图片进行替换. 2. ...