2019年,Erlang社区在应用层上除了aeternity区块链让人印象深刻(Killer App)外,就没有特别出彩的应用出现.在Web,IoT,MessageQueue这些成熟领域,已经有相当成熟的基础库,比如:Cowboy,Emqx,RabbitMq等,但是由于Erlang圈非常小众和Ericsson低调("不太主动")的开源态度,还无法依赖这些基础库形成丰富强大的生态链.今年Erlang最大的亮点就是来自OTP Team R22的大量全新重构,主旋律是深耕底层,R22在19年…
精选文章 A digital symphony - The architecture of API Fortress. 使用Actor模型来支持基于微服务的大规模分布式软件架构.用实例解释了Actor对于分解复杂系统的好处. Understanding actor concurrency, Part 1: Actors in Erlang. 但也观点说Actor并不是好的并发模型,Actors are not a good concurrency model. RabbitMQ 3.8 Rele…
第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 open…
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…
精选文章 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…
The forgotten ideas in computer science-Joe Armestrong 在2020年的第一期里面,一起回顾2018年Joe的 The forgotten ideas in computer science.在40多分钟里面总结了他精挑的个人最佳List. 强烈建议配合着视频回看❤️❤️❤️❤️❤️ Part 1 Motivation 最初只是想想了解计算机科学中那些forgotten ideas,后来变成了想知道Silly ideas,Hot researc…
虽然忙,有些事还是要抽时间做; 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 Sy…
http://nosql-database.org Core NoSQL Systems: [Mostly originated out of a Web 2.0 need] Wide Column Store / Column Families Hadoop / HBase API: Java / any writer, Protocol: any write call, Query Method: MapReduce Java / any exec, Replication: HDFS Re…
格式化输出io:format是我接触Erlang使用的第一个库函数(io:format("Hello World")),随着学习的深入,它也是我debug优先选择最简单直接的工具. 不过它除了简单的输出外,还有很多进阶用法.甚至通过它,你就可以在命令行画出精艳的图表.比如:我在Visualize Erlang/Elixir Nodes On The Command Line observer_cli中绘制的与htop类似图表. 同时这个API的选项特别多,却又非常好用,你完全可以不必了…
ballerina 的控制流没有什么特殊,只是相比一般语言多了一个模式匹配的操作match ,实际上其他语言(erlang elixir rust 中的模式匹配是很强大的) 简单例子 if/else import ballerina/io; function main(string… args) { int a = 10; int b = 0; if (a == 10) { io:println("a == 10"); } if (a < b) { io:println(&quo…
OpenCensus Easily collect telemetry like metrics and distributed traces from your services OpenCensus and OpenTracing have merged to form OpenTelemetry, which serves as the next major version of OpenCensus and OpenTracing. OpenTelemetry will offer ba…