小编Nin*_*ing的帖子

Erlang的99.9999999%(9个9)可靠性

据报道,Erlang已在生产系统中使用了20多年,正常运行时间百分比为99.9999999%.

我做了以下数学计算:

20*365.25*24*60*60*(1 - 0.999999999) == 0.631 s
Run Code Online (Sandbox Code Playgroud)

这意味着系统在20年期间只有不到一秒的停机时间.我并不想挑战这个问题的有效性,我只是好奇我们如何关闭系统(故意或偶然)只有0.631秒.任何熟悉大型软件系统的人都可以向我们解释这个吗?谢谢.


有谁知道如何计算服务在一组处理单元(或机器)上的停机时间?

erlang reliability uptime downtime

93
推荐指数
4
解决办法
3万
查看次数

如何使用Mathematica绘制经典状态图?

Mathematica绘制这样的东西(由Graphviz创建)是否可行且实用:

在此输入图像描述

这是我能得到的最好的(但形状和风格并不令人满意):

在此输入图像描述

码:

GraphPlot[{{A -> C, "go"}, {C -> B, "gone"}, {C -> D, 
   "went"}, {C -> C, "loop"}}, VertexLabeling -> True, 
 DirectedEdges -> True]
Run Code Online (Sandbox Code Playgroud)

drawing wolfram-mathematica state-diagram

20
推荐指数
2
解决办法
1828
查看次数

Arc over Racket的优势

Arc建立在Racket之上.既然他们都在Lisp家族中,我很好奇Arc over Racket的优势,或者鉴于Racket可用,创建Arc的动机是什么?

lisp racket arc-lisp

15
推荐指数
2
解决办法
4400
查看次数

在Mathematica中绘制钟面(寻找更好的解决方案)

我试图找到一个通用的解决方案来绘制像Mathematica中的图形对象的钟面.我已经实现了自己的版本,但我认为必须有更好的解决方案.一个更简洁的版本,代码更少或思路过程更清晰,我们将不胜感激.

我的版本:

radius = 1;
elementList = 
  Join[Table[i, {i, 3, 1, -1}], Table[i, {i, 12, 4, -1}]];
elementNumber = Length[elementList];
thetaList = Table[i, {i, 0, 2 Pi, 2 Pi/elementNumber}][[1 ;; 12]];
coordinateList = Map[{radius*Cos[#], radius*Sin[#]} &, thetaList];
objectList = 
  Map[Style[#, FontFamily -> "Georgia", FontSize -> 30] &, 
   elementList];
Graphics[
 Join[
  MapThread[Text[#1, #2] &, {objectList, coordinateList}],
  {Circle[{0, 0}, 1.2*radius]}
  ]
 ]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

graphics drawing wolfram-mathematica clock

10
推荐指数
4
解决办法
6061
查看次数

如何输入非BMP unicode(超过4个字符的十六进制)作为Mathematica的输入

问题描述: Mathematica "\:nnnn" 用作unicode输入的语法.例如,如果我们进入 "\:6c34",我们得到"?"(中文"水").但如果有人想进入"\:1f618"(面对投掷一个吻)会怎样.当我尝试这个时,我得到了"?8",而不是"a face throwing a kiss".所以,Mathematica "\:1f61"在我进入之前进行了评估"8".

问题: 我们如何延迟此评估或如何输入任何unicode输入(对于超过4个字符的十六进制)?

软件和硬件平台: 我在Intel Mac上运行Mathematica 8.我尝试了Mathematica和Mathematica笔记本的命令行版本,它们的行为相同.

谢谢.


思考: Unicode是一个可扩展的标准,它可以增长(它确实增长:)).实现此标准的软件系统可能只实现此标准的子集,以便有效且有用(8位,16位或32位编码).一,作为某个软件包的用户,不应该假设一旦软件说它支持unicode,它就支持通用的unicode集.

unicode wolfram-mathematica supplementary astral-plane

9
推荐指数
2
解决办法
637
查看次数

使用Mathematica中的"CreateDocument"功能而不会丢失格式

我想从表达式列表中创建一个格式化的文档.此列表中的一个表达式如下:

text = Style["a\n\tb\n\t\tc", FontSize -> 17, FontFamily -> "Monaco"]
Run Code Online (Sandbox Code Playgroud)

它按计划格式化:

在此输入图像描述

但是当我执行以下命令尝试生成文档时:

CreateDocument[{text}]
Run Code Online (Sandbox Code Playgroud)

我懂了:

在此输入图像描述

在使用"CreateDocument"以编程方式生成文档时,有什么方法可以保持字符串的格式化吗?

软件平台:我正在运行Mathematica 8.

谢谢.

string formatting wolfram-mathematica

6
推荐指数
1
解决办法
180
查看次数

Erlang:Mnesia还是Mysql?

你在Erlang上使用什么DBMS?为什么?

database erlang mnesia

5
推荐指数
1
解决办法
3088
查看次数

为什么在Mathematica中使用Graphics函数时点会消失

我正在做一个非常基本的操作 - 在Mathematica中画点.这是代码:

Graphics[
 {
  Point[{0, 0}], Point[{1, 2}]
  }
 ]
Run Code Online (Sandbox Code Playgroud)

我给出了我想要的结果:

在此输入图像描述

但是当我指定"PlotRange"时,我得到一张空白画布.为什么这两个点消失了?

Graphics[
 {
  Point[{0, 0}], Point[{1, 2}]
  },
 PlotRange -> {{0, 0}, {4, 4}}
 ]
Run Code Online (Sandbox Code Playgroud)

截图:

在此输入图像描述

如果您无法重现我遇到的问题,也请告诉我.谢谢.

graphics drawing wolfram-mathematica

2
推荐指数
1
解决办法
180
查看次数

我应该如何正确使用加密:sign/4?

我尝试使用crypto:sign/4来签名但是失败了.任何人都可以告诉我如何在Erlang中使用ECDSA签名消息吗?谢谢.(我使用的是Erlang版R16B01.)

模块代码:

-module(message).

-compile(export_all).

go() ->
    {_PubKey, PriKey} = crypto:generate_key(ecdh, secp256k1),
    SigBin = sign_message(PriKey, "Hello"),
    SigBin.

sign_message(PriKey, Msg) ->
    Algorithm = ecdsa,
    DigestType = sha256,
    MsgBin = list_to_binary(Msg),
    SigBin = crypto:sign(Algorithm, DigestType, MsgBin, PriKey),
    SigBin.
Run Code Online (Sandbox Code Playgroud)

但它在测试运行中失败了:

1> message:go().
** exception error: no function clause matching crypto:sign(ecdsa,sha256,
                                                        {digest,

        <<24,95,141,179,34,113,254,37,245,97,166,252,147,
        139,46,38,67,6,236,48,78,218,81,128,...>>},
        <<189,38,200,204,95,248,54,69,42,65,216,165,242,228,100,
        54,158,5,61,174,58,198,191,161,9,...>>) (crypto.erl, line 462)
Run Code Online (Sandbox Code Playgroud)

感谢Paul,可以通过进行以下更改来解决此错误.

更改:

SigBin = crypto:sign(Algorithm, DigestType, MsgBin, PriKey),
Run Code Online (Sandbox Code Playgroud)

至:

SigBin = crypto:sign(Algorithm, DigestType, MsgBin, [PriKey, secp256k1]),
Run Code Online (Sandbox Code Playgroud)

encryption erlang sign ecdsa

1
推荐指数
1
解决办法
769
查看次数