Erlang/Elixir精选-第1期

第1期(20191202)

文章

  1. 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。
  2. How to opens an ssh tunnel to connect to a remote Erlang VM via Observer.

    观察节点想启动observer观测其它节点,观察节点只有ssh的网络权限,其它端口不通,
    可以使用把epmd的端口映射ssh代理隧道上,来实现节点通信。
    更进一步,可以研究一下SSHEX如何通过Erlang自带的ssh库来实现功能的。

  3. How to evaluate a string of code in Erlang at runtime.

    Erlang作为动态语言的绝佳优势就是可以运行时才parse/eval输入的字符串,
    这也是Erlang Shell运行的基本原理。大部分人都幻想过在浏览器里面运行来
    Erlang Shell,实现控制管理后台。
    比如这个:TryErlang。可以尝试,但一定要注意如何限制权限。防止被人hack后直接init:stop/0

  4. Ten Years of Erlang.

    Learn You Some Erlang_作者Fred总结了加入Erlang社区10年的变化。附译文

  5. Monitoring Erlang Atoms.

    原子是不会垃圾回收的,当原子个数达到最大时(默认为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>>

原文地址:https://www.cnblogs.com/zhongwencool/p/collection_1.html

时间: 2024-10-05 08:56:34

Erlang/Elixir精选-第1期的相关文章

Erlang/Elixir精选-第2期(20191209)

Spot The Discrepancies with Dialyzer for Erlang. 如何在大型Erlang项目中从零开始一步步践行Dialyzer. Which companies are using Erlang, and why? 哪一些公司正在生产上使用Erlang?这是HackerNews上的头条新闻,在首次发布四个月后,访问量仍然很高. An Unprecedented Subtraction. 为什么[1, 2, 3] -- [1, 2] -- [3] = [3]. R

Erlang/Elixir精选-第6期(20200113)

精选文章 Implementing languages on the Erlang VM. -Robert Virding. 因为视频没有显示PPT,PPT可以在点击这里下载. leex - lexical scanner generator yecc - parser generator syntax tools - for building erlang code XML parsers (xmlerl) compiler Profiling in Erlang. fprof,eprof,c

Erlang/Elixir精选Q&amp;A

精选的定位是什么? 已至2019年,Erlang/Elixir中文社区还是一座黑暗森林,每个技术人都怀揣着自己独有的葵花宝典独自摸索,没有一个开放的分享平台,大量优质文章没有得到该有的关注. 与此同时,现代人所面临的世界正在渐渐变窄,信息茧房让人在互联网上关注越来越趋同:永远追逐热点的流量则导致许多新媒体的文章质量非常糟糕. 技术每分每秒都在变化和进步,无数的热榜升降更替.人们对信息的需求,从来没有像今天这样旺盛过. 本精选记录三年后重读依然还是能有所收获的文章,创造一个能够把点连成线汇成面,升

[Erlang 0122] Erlang Resources 2014年1月~6月资讯合集

虽然忙,有些事还是要抽时间做; Erlang Resources 小站 2014年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ 1月   114 RR Elixir with José Valim by CHARLES MAX WOOD on JULY 17, 2013 http://rubyrogues.com/114-rr-elixir-with-jose-valim/ "The Erlang Runtime System"

《Elixir in Action》书评及作者问答录(作者 Sergio De Simone ,译者 邵思华 发布于 2015年9月29日)

<Elixir in Action>是由Manning所出版的一本新书,本书为读者介绍了Elixir这门语言以及Erlang虚拟机,同时也讨论了与并发编程.容错以及与高可用性相关的话题.InfoQ有幸与本书的作者Sa?a Juri?进行了一次访谈. <Elixir in Action>的内容源自于Juri?在Erlang方面的经验,他为此特意创建了一个博客,为来自面向对象背景的程序员展现Erlang的优势.Juri?之后转而使用Elixir,这是一种函数式的并发编程语言,它的目标是

当我参加培训的时候,我在学什么?

https://zhuanlan.zhihu.com/p/26114277 ***************************************** 在旧金山举行的 erlang/elixir 2017 大会上周结束.这次,我并未参加 -- 权衡再三,我选择了这周的 complete OTP 培训,毕竟大会的视频 youtube 上找得见,可以慢慢补,培训错过了就没了. 参加一次技术培训,代价往往不菲,像这样一个四天的培训,价格是两千多刀,你很难说出它有多值 -- 培训的主题有一半都是

如何阅读一份代码?

https://zhuanlan.zhihu.com/p/26222486 ****************************** 上文谈到了像读书一样阅读源码的重要性,今天谈谈如何阅读一份代码.我所谓的一份代码,其范围可能从几千行到数万行,有时甚至可多达数十万行.这些代码作为一个有机体,共同完成某些重要的功能.比如说几个著名的 full fledged web framework,祖师爷 rails,师叔 django 和小师妹 phoenix: 三者对比很有意思 - rails / d

[Elixir009]像GenServer一样用behaviour来规范接口

1.Behaviour介绍 Erlang/Elixir的Behaviour类似于其它语言中的接口(interfaces),本质就是在指定behaviours的模块中强制要求导出一些指定的函数,否则编译时会warning. 其中Elixir中使用到behaviour的典范就是GenServer, GenEvent. 曾经Elixir有一个叫Behaviour的模块,但是在1.1时就已被deprecated掉了,现在你并不需要用一个Behaviour模块才能定义一个behaviour啦. 让我们一步

android源码、博文2

  每周精选 第 54 期   精品源码 仿网易新闻app下拉标签选择菜单     仿网易新闻app下拉标签选择菜单,长按拖动排序,点击增删标签控件##示例 https://github.com/wenhuaijun/EasyTagDragView/raw/master/introduce.gif##EasyTagDragView的使用在layout布局里添加: 在java代码中: 给Eas- 阅读全文     android 车联网移动APP     |10 1. 注册,登录,个人信息2. 预