Tag: erlang

考虑一个Erlang Web框架来学习和使用在生产中

我前几天开始学习Erlang,这绝对是一个非常有趣的语言,非常适合web开发(至less后端)。 我将尝试并最终解决一个Erlang的web框架用于我的下一个项目。 由于Erlang是“ 新 ”,很难决定使用哪个框架(即缺乏文档和博客文章)。 到目前为止,我的googleing已经返回了我的3个结果,我想知道任何有Erlang经验的人(特别是Erlang网站开发),请评论每个框架的优缺点,并添加任何缺less的框架。 项目要求: Web应用程序 数据库 HTTPs的 存储文件(例如图像) PDF操作 dynamic逻辑比较(例如LHS == RHS等) Erlang的web框架: 氮 (迄今为止首选) Erlyweb 哔哔 芝加哥老板 Erlang Web webmachine Erlang数据库: Mnesia (首选到目前为止) CouchDB的 MongoDB的 Concrns: 氮 JavaScript的一代 由于氮生成并embedded到增加页面大小的页面上的JavaScript代码。 我不知道是否甚至有可能以某种方式从原始的HTML中“生成”JavaScript代码(以某种方式它可以被浏览器caching),以便减less传输到networking上的数据。 但我认为在一般事件模型和汽车线事件非常适合应用程序types,而不是太多的内容/公众面向types。 谢谢!

如何使用Erlang的gen_server定期执行操作?

我想启动一个gen_server,另外,每分钟会执行一个动作。 什么是最好的方式来安排呢?

函数式编程:什么是“不正确的列表”?

有人可以解释一下“不正确的清单”是什么吗? 注意 :谢谢大家! 所有你们摇滚!

Erlang / Elixir在Docker和Hot Code Swap上

Erlang的特点之一(和定义,Elixir)是你可以做热代码交换。 然而,对于Docker来说,这似乎很奇怪,在那里你需要停止你的实例,并用保存新代码的新图像重新启动新实例。 这似乎是每个人都做的。 这就是说,我也知道有可能使用一个隐藏节点来将更新分发给networking上的所有其他节点。 当然,就像这样听起来像是在惹麻烦,但是… 我的问题如下:有没有人试过并取得了合理的成功,为Erlang / Elixirbuild立了基于Docker的基础架构,允许进行热码交换? 如果是这样,那么做什么,不该做什么和注意事项?

Erlang的并行性在什么时候克服了它在数值计算方面的弱点?

随着最近在并行计算方面的所有炒作,我一直在考虑很多关于并行性,数字运算,集群等等。 我开始阅读学习你一些Erlang 。 随着越来越多的人学习(包括我自己),Erlang以非常令人印象深刻的优雅方式处理并发。 然后,作者声称,Erlang 并不适合数字运算 。 我可以理解像Erlang这样的语言会比C语言慢,但是并发模型似乎非常适合像image processing或matrix乘法这样的事情,尽pipe作者特别说明了这一点。 这真的很糟吗? Erlang的实力是否克服了当地速度的不足? 正在采取什么措施来处理速度? 要清楚:我不是想开始辩论, 我只是想知道。

你在Erlang如何做模或余数?

我是Erlang的全新品牌。 你如何做模(获得一个部门的其余部分)? 在大多数C语言中它是%,但是在Erlang中指定了一个注释。 有几个人用雷姆回答,在大多数情况下是好的。 但是我正在重新审视这个问题,因为现在我需要使用负数,而rem会给你一个分数的余数,这与负数的模数不一样。

从mnesia集群中删除not_exist_already节点(scheme)

我有一个坏节点(它不存在)在mnesia集群数据时,我得到: > mnesia:system_info(db_nodes) [bad@node, …] 我如何从群集中删除它? 我试过了: > mnesia:del_table_copy(scheme, bad@node). {aborted,{not_active,"All replicas on diskfull nodes are not active yet"… 这是什么意思? 我该如何解决? 更新。 从模式中删除节点之前,我们需要停止mnesia

哪个Actor模型库/框架适用于python和Erlang?

我正在寻找一个易于学习的Actor库或Python 2.x的框架。 我尝试了Candygram和Twisted,但我不喜欢它们。 我想要一个很容易扩展到suppero Greenlet(= stackless python)的东西。 Candygram太旧了。 扭曲太复杂了。 Gevent:目前还不清楚是否可以支持Actors模式。 你有什么build议?

您如何devise基于Erlang / OTP的分布式容错多核系统的体系结构?

我想build立一个基于Erlang / OTP的系统来解决一个“不平行的问题”。 我已经阅读/浏览过: 学习一些Erlang; 编程Erlang(Armstrong); Erlang编程(Cesarini); Erlang / OTP在行动。 我掌握了进程,消息传递,主pipe,gen_servers,日志logging等的要点。 我明白,某些架构select取决于所关注的应用程序,但我仍然想知道一些一般的ERlang / OTP系统devise原则。 我应该从一个主pipe人员开始,并逐渐build立在这个基础上? 我应该有多less名主pipe? 我如何确定系统的哪一部分应该是基于stream程的? 我应该如何避免瓶颈? 我应该稍后添加日志? Erlang / OTP分布式容错多处理器系统架构的一般方法是什么?

Erlang / OTP消息是否可靠? 消息是否可以重复?

长版本: 我是erlang的新手,并考虑将其用于可扩展的体系结构。 我发现这个平台的许多支持者都鼓吹其可靠性和容错性。 然而,我很难理解在这个系统中如何实现容错,在这个系统中消息在瞬态存储器中排队。 我明白,可以安排一个主pipe层级来重生死亡的进程,但是我一直没有find关于重新进行的进程的影响的讨论。 飞行中的消息和部分完成的工作在垂死的节点上丢失了什么? 当消费者stream程死亡时,所有的生产者是否都会自动转发消息? 如果不是的话,这怎么可以被认为是容错? 如果是这样,什么阻止了一个被处理的消息 – 但不是很确认 – 被转发,因此被不适当地重新处理? (我认识到这些问题并不是erlang所特有的,在任何分布式处理系统中都会出现类似的问题,但是erlang的爱好者似乎声称这个平台使得这一切都变得“容易” 假设消息被重新传输,我可以很容易的想象一个情况,即一个复杂的消息传递链的下游影响可能在故障后变得非常混乱。 如果没有某种沉重的分布式事务系统,我不明白如何在不重复每一个过程的情况下保持一致性和正确性。 我的应用程序代码是否必须始终强制执行约束以防止事务被多次执行? 简洁版本: 分布式erlang进程是否受到重复消息的影响? 如果是这样,重复保护(即幂等)应用责任,或者erlang / OTP以某种方式帮助我们呢?