erlang相关内容
最近我一直在使用替代语言来支持一个演员/代理/共享的架构 - 即。 scala,clojure等(clojure也支持共享状态)。 到目前为止,我读过的大多数文档都围绕着介绍级别。我正在寻找的是四个帮派的更高级的文档,而不是基于任何东西。 为什么?它有助于思考设计思维的变化。简单的例子很简单,但在现实世界的java应用程序(单线程)中,您可以拥有具有复杂关系的1000个成员的对象图。但
..
我想在一个VPS上开发和部署一个Erlang / OTP应用程序。 我非常熟悉在本地机器上开发Erlang代码,问题是关于部署。 基本上,我想知道为了将Erlang代码从本地计算机移动到生产服务器并使其运行,我应该采取哪些步骤,即可供用户使用。 注意:我已经阅读了一些关于 Erlang和命令行,Erlang 代码模块,Erlang 发布,但我还是不知道如何追求所需的任务。
..
我想强制Erlang编译器在编译时为特定模块生成调试信息,而无需向编译命令添加 debug_info 参数。我尝试添加 -compile([debug_info])。 到模块文件,但运行 c(my_module)没有在光束文件中包含调试信息。 有没有办法这样做,或调试信息不能从模块源文件本身添加? 解决方案 使用 -compile 指令,而不包含围绕
..
我有问题调试一个复杂的递归函数我使用的成语: dbg:tracer(),dbg :p(all,c),dbg:tpl(Mod,Fun1,x),dbg:tpl(Mod,Fun2,x)... 这给我一个对所有函数的调用的平面列表,很难找出哪个返回属于哪个调用。 我可以稍后对每个通话的生成和缩进的文字进行处理,并且对于每个返回来说都是过往的,但这对我来说听起来
..
编辑Erlang应用程序的最快方式是什么,编译代码并查看运行结果?最好在最后一步跳进Erlang shell。 我目前的新手设置: 编译应用程序并启动erl shell的脚本。 然后我输入应用程序:start(foo)。 当我修复打字错误时,我用c('module')和重新启动应用程序。 有更快的方法吗? BTW。我的编辑器是Emacs。 解决方案 这是我的设置:
..
我有一些Ruby和Java背景,我习惯于在错误日志中具有确切的行数。 所以,如果编译代码中有错误,我将看到在控制台输出中导致异常的行数。 像这个Ruby例子一样: my_ruby_code.rb:13:在`/' by 0(ZeroDivisionError) from my_ruby_code.rb:13 它的简单快速 - 我只需转到第13行并修正错误。
..
我已经在这个Erlang崩溃转储中移动了,这个虚拟机已经用完了堆内存。问题是,没有明显的罪魁祸首分配所有记忆。 使用一些严重的黑色 awk magic I' ve总结了 Stack + heap , OldHeap ,堆未使用和 OldHeap unused ,并按内存使用量排序。问题是,这个数字不会接近代表所有进程的总内存的数字 processes_used 根据 Erlang崩溃转储指南
..
我正在尝试开始使用erlang:trace / 3和dbg模块来跟踪现场制作系统的行为,而不会使服务器关闭。 a href =“http://erldocs.com/R13B03/erts/erlang.html?search=erlang:trace&i=0#trace/3”rel =“noreferrer”>文档是 opaque (轻轻地放),那里似乎没有任何有用的在线教程。 我一
..
我在db2中有一个存储过程 创建类型intArray作为整数数组[100] @ 创建或替换过程sum(在numList中intArray,总共为整数) begin 声明i,n整数; set n = CARDINALITY(numList); set i = 1; set total = 100; while(i
..
不使用第三方模块,我需要采取什么步骤来转换: > 进入这个?: [17,2,2014,10,07,53] 的Google Googled建议使用图书馆的答案。 到目前为止,我怀疑我会通过匹配格式化日期字符串的模式来找到某处。 如下所示:
..
如何将Erlang中的时间戳(1970年1月1日以来的毫秒数)转换为Date或DateTime格式? 解决方案 大致: msToDate(毫秒) - > BaseDate = calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}}), Seconds = BaseDate +(Milliseconds div 1
..
我有两个节点运行mnesia。我在节点1 上创建了模式和一些表,并在节点2上使用 mnesia:add_table_copy 一切正常,直到我调用 q()然后在节点2 上的 q()我发现当我再次启动节点1 时, mnesia:wait_for_tables([sometable],infinity)它只会在我再次启动节点2 时返回。 有办法解决这个问题吗?这是一个问题,因为如果节点2
..
我有一个包含不同表格的mnesia数据库。 我想能够从不同的Linux终端访问表格。 我有一个名为 add_record 的函数,它需要一些参数,例如 name 和 id 。我想能够在节点1 和上添加记录调用 add_record c> node2 ,但我想从不同的位置更新相同的表。 我唯一发现的是,我应该使用 net_adm :ping (node2)。但我无法从表中访问数据。
..
我有一个mnesia表,包含使用记录创建的三个字段i,a和b。 ,{i,a,b})。 现在我在表格中插入一行: mnesia:transaction(fun() - > mnesia:write(“T”,#rec {i = 1,a = 2,b = 3},write)end )。 现在,如果我想更新此行, 10,而使i和b具有相同的值?是否有任何
..
你建议我使用Erlang - MySQL还是Postgres? 解决方案 Erlang ODBC接口可用于连接到具有ODBC的任何数据库驱动程序。这是官方支持,可以用于MySQL和Postgres。 Postgres有一个100%的Erlang驱动程序,名为 PGSQL 。这不是OTP的一部分,我不知道它的质量。
..
我们在我们的产品中使用了 Couchbase Server 。它的前端是纯JavaScript的Intranet应用程序。不过,我们使用 Erlang / OTP 进行商业逻辑,身份验证( Mnesia ), yaws网络服务器和一堆其他erlang库。 现在,我们仍然使用 Couch Base单一服务器,其下载已从 Couch基本网站。我们发现它很稳定。现在,5个月的运行,它从来没有下来。
..
我真的很喜欢 CouchBase 团队为我们提供一个伟大的NoSQL解决方案所做的伟大工作。然而,尽管与可能的ruby,PHP,java或Python相比,erlang Web开发人员很少,但是开发人员的数量却在增加。 这让我明白为什么在他们的 SDK页面上,他们经常忘记 Erlang 。使用 yaws网络服务器, Mochiweb 和许多其他Erlang Web库,为什么在世界上他们不会支
..
我们使用Mnesia作为一个非常大的系统的主数据库。 Mnesia碎片表在测试期间表现良好。系统有大约15个表,每个表复制在2个站点(节点),每个表是高度分散的。在测试阶段(专注于可用性,效率和负载测试),我们接受了Mnesia以及其复杂结构的许多优势,因为我们所有运行在服务上的应用程序都是Erlang / OTP应用程序。我们运行Yaws 1.91作为主WebServer。 为了有效地配置
..
假设我们有一个“本质上并行”的问题要用我们的Erlang软件来解决。我们有很多并行进程,每个执行顺序代码(不是数字处理)和更多的CPU更多的CPU。 我听说过CUDA针对Erlang的绑定,但在观看Kevin Smith的演示之后,我不确定这是解决方案:整个pteracuda缓冲区的目的是为缓冲区分配一个困难的数字处理任务并得到结果。不可能使用GPU的处理器来服务Elrang的进程。 (我是
..
我有一个用Erlang编写的神经网络,我刚买了一颗GeForce GTX 260卡,带有240核GPU。使用 CUDA 作为胶水在图形卡上运行是否很简单? 解决方案 不,使用CUDA不是一件小事。 CUDA编程模型基本上使用C(还有一些补充),但为了充分利用GPGPU的功能,您必须确保算法遵循CUDA指南。 (请参阅 NVidia CUDA编程指南) 例如,为了获得最佳的内存性
..