小编Aph*_*pha的帖子

解析NodeJS中的JSON对象数组

我想知道如何解析NodeJS中的JSON对象数组?

我想将JSON数组发布到服务器,并能够将接收到的数组用作regualar JavaScript数组.

提前致谢.

这是我使用stringify函数将Array转换为String的前端部分

document.getElementById("sendJson").addEventListener("click", function () {
    $.post("/echo", JSON.stringify(QuestionsArray), function (data) {
        alert(data);
    });
})
Run Code Online (Sandbox Code Playgroud)

这是我的后端部分,我试图将JSON对象的数组转换为数组

app.post('/echo', function (req, res) {
    var Array = JSON.parse(JSON.stringify(req.toString()));
    res.end(Array[0]["QuestionText"].toString());
});
Run Code Online (Sandbox Code Playgroud)

这是我试图发送到服务器的数组:

[  
   {  
      "QuestionText":"What is your Name",
      "QuestionType":1
   },
   {  
      "QuestionText":"Where are you from",
      "QuestionType":2,
      "ChoiceList":[  
         "US",
         "UK"
      ]
   },
   {  
      "QuestionText":"Are you married",
      "QuestionType":3,
      "ChoiceList":[  
         "Yes",
         "No"
      ]
   }
]
Run Code Online (Sandbox Code Playgroud)

这是源代码

javascript arrays json node.js

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

make voiceXML读取服务器返回的结果

我是voiceXML的新手,我想知道如何在发布后读取服务器的值.我希望voiceXML能够读取服务器的响应.根据voiceXML文档,我知道结果应该是XML格式.

这是我的node.js/express.js代码,它接收结果:

app.post("/getData", function (req, res) {
    console.log(JSON.stringify(req.body));
    res.header('Content-Type','text/xml').send('<?xml version="1.0" ?> <vxml version="2.0"> <block> <prompt> The time in Milwaukee is 10 </prompt> </block> </vxml>');
});
Run Code Online (Sandbox Code Playgroud)

以下屏幕截图显示我已成功接收发布的内容:

在此输入图像描述

以下是显示我成功发送XML结果的屏幕截图: 在此输入图像描述

这是我的voiceXML文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vxml PUBLIC "-//BeVocal Inc//VoiceXML 2.0//EN" "http://cafe.bevocal.com/libraries/dtd/vxml2-0-bevocal.dtd">
<vxml xmlns="http://www.w3.org/2001/vxml" xmlns:bevocal="http://www.bevocal.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
    <form scope="dialog">
        <field name="name" modal="false">
            <grammar src="grammars.grammar#Names"/>
            <prompt>Whats your name?</prompt>
            <filled>
                <prompt>Hello <value expr="name"/>
                </prompt>
            </filled>
        </field>

        <field name="city" modal="false">
            <grammar src="grammars.grammar#Cities"/>
            <prompt>What city are you from?</prompt>
            <filled>
                <prompt>You are from <value expr="city"/>
                </prompt>
            </filled> …
Run Code Online (Sandbox Code Playgroud)

javascript xml voicexml node.js express

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

试图了解彼得森的N过程算法

我试图理解Peterson的N-Process算法,我遇到了这个问题.

问题:假设3个进程具有进程ID0, 1 and 2.这些进程在单处理器上并发执行,并使用Peterson的N进程算法来控制临界区的执行.每个进程都运行以下伪代码:

lock(pid);
<critical section>;
unlock(pid
Run Code Online (Sandbox Code Playgroud)

其中lock()unlock()功能定义如下

lock(for Process i):

/* repeat for all partners */
for (count = 0; count < (NUMPROCS-1); count++) {
    flags[i] = count;
    turn[count] = i;
    "wait until (for all k != i, flags[k]<count) or (turn[count] != i)"
}


Unlock (for Process i):

/* tell everyone we are finished */
flags[i] = -1;
Run Code Online (Sandbox Code Playgroud)

假设在任何给定时间系统的状态由<flags[0], flags[1], flags[2], turn[0], turn[1]>值和当前正在执行的进程的id 定义.进一步假设系统的当前状态是当前正在执行的<0,0,0,2,-1>进程.从这个状态开始,显示三个进程从一个特定的方式运行到完成.在跟踪三个进程的并发执行时,显示每个步骤的系统状态.0 …

c algorithm concurrency process

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

有3个容器(2个完整和1个空)并试图从它们创建x数量

注意:我遇到了下面的问题,我想概括问题并实现它,但事实证明这并不容易.这个问题让我发疯了.这不是一个家庭作业问题只是好奇心.

有三个容器,其大小分别为10品脱,7品脱和4品脱.7品脱和4品脱的容器开始充满水,但10品脱的容器最初是空的.

由于容器上没有标记,您可以将一个容器的内容倒入另一个容器中,并在以下条件下停止:

  1. 源容器为空
  2. 目标容器已满

如果你想准确地分离出2品脱的水,你应该做出什么样的动作?

资料来源:第102页,问题3.8

使用有向图数据结构来回答该问题很容易,其中节点包含tuples以表示某个状态.

我们从初始状态(节点)开始,然后我们创建一个表示可能的下一个状态的节点,然后将它连接到初始节点,然后运行BFS以找到最短路径.

  • 每个州(或节点)的模式: <10-pint container, 7-pint container, 2-pint container>

  • 初始状态或节点:<0, 7, 4>.

连接到初始状态(或节点)的节点:<7, 0, 4>,<4, 7, 0>,如可以从图中看到.

在此输入图像描述

广义问题

但是假设如果想要概括问题,假设我们有三个容器,其大小分别是x,y和z品脱x >= y >= z.

y-pint和z-pint容器开始充满水,但x-pint容器最初是空的.

如果你想要准确地分离一品脱水,你应该做出什么样的动作?

建议广义版本的解决方案

到目前为止,这里(DropBox,GitHub)是我的源代码.

这是主类中的两个重要方法.它们根据所有可能性填充图表,并确保没有重复的节点.

public static void fillGraph(int x, int y, int z) {

    TupleContainer initialState = new TupleContainer(x, y, z);
    TupleContainer currentState = initialState;
    Iterator<TupleContainer> …
Run Code Online (Sandbox Code Playgroud)

java algorithm graph breadth-first-search

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

在evolution.voxeo.com中的voiceXML,得到了奇怪的错误

我是voiceXML的新手,我正在尝试使用evolution.voxeo.com来运行简单的XML代码.根据他们的网站,我们可以以多部分格式发布录制的音频.所以这是我的XML代码,运行良好,没有记录元素.但是当我添加记录元素时,我得到了错误.我收到错误的事实很奇怪,因为我在计算机中收到了实际的音频文件.

00089       6c51    02:55:21 AM     (http://65.29.170.122/, 1): Content is not allowed in prolog.
00090       6c51    02:55:21 AM     Exception: error.semantic XML parse error(s) occurred in: http://65.29.170.122/ (http://65.29.170.122/, 1): Content is not allowed in prolog. Dialog stack trace: State (Dialog) URL (Document) -------------- ------------------------------ ___state1 http://webhosting.voxeo.net/196324/www/favorite_color.vxml?session.callerid=dcdac2bd-fa98-4c20-9d8e-69b3080a04fd&session.accountid=196324&session.sessionid=a28b97484d31d027e5bc03b1295d6c51&session.parentsessionid=f75bf363646a3e7a993789c7915829f3&session.virtualplatform=Staging-DTMF&session.calledid=9991483369
00091       6c51    02:55:21 AM     =========================== An error occurred while executing the following dialog. Initial URL1: http://webhosting.voxeo.net/196324/www/favorite_color.vxml Initial URL2: null Initial URL3: null Current URL: http://webhosting.voxeo.net/196324/www/favorite_color.vxml?session.callerid=dcdac2bd-fa98-4c20-9d8e-69b3080a04fd&session.accountid=196324&session.sessionid=a28b97484d31d027e5bc03b1295d6c51&session.parentsessionid=f75bf363646a3e7a993789c7915829f3&session.virtualplatform=Staging-DTMF&session.calledid=9991483369 Calling Number (ANI): dcdac2bd-fa98-4c20-9d8e-69b3080a04fd Called Number (DNIS): …
Run Code Online (Sandbox Code Playgroud)

javascript multipartform-data voicexml node.js express

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

从C#中的参数属性访问对象值

这是我的方法

public Component SaveComponent([ValidateMetaFields] Component componentToSave) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是我的自定义属性:

[AttributeUsage(AttributeTargets.Parameter)]
public class ValidateMetaFieldsAttribute : Attribute
{
    public ValidateMetaFieldsAttribute()
    {
        // how to access `componentToSave` here?
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道有没有办法从中访问componentToSave对象ValidateMetaFieldsAttribute?我找不到任何示例代码或示例.

c# custom-data-attribute

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

使用`pthread_create`创建用户级线程或内核级线程?

问题:如何使用pthread_create?创建用户级线程或内核级线程?

:我查过的文档pthread_create这个环节,我没有发现,可以指定要告诉OS创建任一用户级线程或内核级线程的任何参数.因此,如果没有参数,那么pthread_create默认情况下创建的线程是用户级别还是内核级别?

任何信息或提示都会很棒.

谢谢.

c multithreading operating-system

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

试图理解彼得森的算法

我试图理解彼得森的算法,我遇到了这个问题.我追踪了代码并写了我的观察结果.请检查我的观察,我是否在正确的轨道上?

教科书中的问题:假设只有两个进程,一个pid值为0,另一个pid值为1.这个并发算法有什么问题?

  while(True)
    {
     flag[pid] = 1
     turn = 1-pid
     while( flag[1-pid] && turn == 1-pid ); // busy wait

     // critical section
     ...
     // end of critical section

     flag[pid] = 0
    }
Run Code Online (Sandbox Code Playgroud)

跟踪代码:

    ---------- Process 0: ---------- | ---------- Process 1: ----------
                                     |
    pid = 0                          |    pid = 1
    flag[0] = 1                      |    flag[1] = 1
    turn = 1 - 0 = 1                 |    turn = 1 - 1 = 0
                                     | …
Run Code Online (Sandbox Code Playgroud)

c algorithm concurrency multithreading process

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

CBC(密码块链)的自愈性解释

维基百科:

CBC模式具有自我修复属性:如果密码的一个块被更改,则错误最多传播两个块.

编组示例:

设块大小为64位.原文是:

3231343336353837  3231343336353837  3231343336353837  • • •
Run Code Online (Sandbox Code Playgroud)

正确的密文是:

ef7c4bb2b4ce6f3b  f6266e3a97af0e2c  746ab9a6308f4256 • • •
Run Code Online (Sandbox Code Playgroud)

如果密文已损坏,则字节'0x4b'更改为'0x4c':

ef7c4cb2b4ce6f3b  f6266e3a97af0e2c  746ab9a6308f4256  • • •
Run Code Online (Sandbox Code Playgroud)

然后它被解密为:

efca61e19f4836f1  3231333336353837  3231343336353837  • • •
Run Code Online (Sandbox Code Playgroud)

题:

我很难理解CBC(Cipher Block Chaining)的自我修复属性,我认为一个合成的例子可能会有所帮助,但我现在更加困惑.任何帮助都会很棒.

encryption cryptography cbc-mode

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

nltk新手,遇到条件频率问题

我是python和nltk的新手(我在2小时前开始).这是我被要求做的事情:

编写一个函数Ge​​tAmbigousWords(语料库,N),用于在语料库中查找超过N个观察到的标签的单词.此函数应返回ConditionalFreqDist对象,其中条件为单词,频率分布表示每个单词的标签频率.

这是我到目前为止所做的:

def GetAmbiguousWords(corpus, number):
conditional_frequency = ConditionalFreqDist()
word_tag_dict = defaultdict(set)       # Creates a dictionary of sets
for (word, tag) in corpus:
    word_tag_dict[word].add(tag)

for taggedWord in word_tag_dict:
    if ( len(word_tag_dict[taggedWord]) >= number ):
        condition = taggedWord
        conditional_frequency[condition] # do something, I don't know what to do

return conditional_frequency
Run Code Online (Sandbox Code Playgroud)

例如,函数应该如何表现:

GetAmbiguousWords(nltk.corpus.brown.tagged_words(categories='news'), 4)
Run Code Online (Sandbox Code Playgroud)

我想知道我是在正确的轨道还是完全关闭?特别是,我并不真正了解条件频率.

提前致谢.

python nltk

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