小编Dal*_*ale的帖子

如何在javascript中实现决策树.寻找比我丑陋的解决方案更好的解决方案

我正在寻找一种在javascript中实现决策树的更好方法.作为编程的新手,我的工具箱中的工具数量非常有限.我知道这样做的唯一方法是:.一个巨大的丑陋难以维护并遵循if else if语句.我可以使用switch/case语句并执行状态机类型的事情.

建议和理论表示赞赏.此外,小代码示例将非常有用.谢谢参观.

戴尔

javascript logic decision-tree

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

我在java中调用一个我无法控制的方法.如果我没有得到它的回应,我想要杀死它并继续前进

如果方法调用超过10秒,我想杀死它并继续前进.

多线程是解决这个问题的唯一选择吗?

如果我使用多线程,我很新,我的run方法只包含一个方法,如下所示.如果myMethod()卡在无限循环中,有没有办法打断这个线程?

public void run() {
    myMethod();
}
Run Code Online (Sandbox Code Playgroud)

我们假设myMethod()如下所示,更改它不是一个选项.

while(true){
    System.out.println("Thinking.");
        for (int i = 0; i < 100000; i++) {
            //wasting time
        }
}
Run Code Online (Sandbox Code Playgroud)

我打算使用Mik378的解决方案,但我认为这不会起作用,因为myMethod不会抛出InterruptedException异常.

java multithreading

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

我被告知不要在这里使用反射...为什么不呢?

此代码用于对List进行排序.该列表可以包含数千个但不到10k的元素.

protected <E> int compareFields(E o1, E o2, String fieldName){
    try { 
        Comparable o1Data = (Comparable) o1.getClass().getMethod(fieldName).invoke(o1);
        Comparable o2Data = (Comparable) o2.getClass().getMethod(fieldName).invoke(o2);
        return o1Data == null ? o2Data == null ? 0 : 1 :
               o2Data == null ? -1 : o1Data.compareTo(o2Data);
    } catch(Exception e) {
        throw new RuntimeException(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

我被告知

"请不要对这样的事情使用反射!!要么使用合适的比较器提供方法,要么提取相关属性的方法(可能以原始类型不支持的方式计算),或两者兼而有之."

一个更好的方法来做这个例子会很好.

上下文:我有很多带数据表的屏幕.每个都是从List构建的.每个数据表需要按其6列中的每一列进行排序.列是Date或String.

java reflection

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

我对 ScheduledThreadPoolExecutor.scheduleAtFixedRate 和可能的并发性感到困惑。为什么要有线程池呢?

我的困惑始于ScheduleAtFixedRate 方法的api 描述中的这段代码。

如果此任务的任何执行时间超过其周期,则后续执行可能会延迟开始,但不会同时执行。

如果不会并发执行,为什么还要有线程池呢?

另外,有没有办法实现并发执行?我希望它们在确切的时间段运行,即使先前的任务尚未完成。我想要并发执行。

java concurrency multithreading

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

如何在div中垂直堆叠图像

我想要一个包含三个图像的div,我想要垂直堆叠的图像.
我将div宽度设置为我的图像的宽度,并没有任何结果.这是我的代码:

.detailImgWrapper
    {
    display: inline;
    position: relative;
    width: 25px;
    top:-210px;
    }

.detailImgWrapper img
    {
    visibility: hidden;
    padding: 0;
    padding-top: 10px;
    display: inline;
    width: 25px;
    height: 25px;
    }
Run Code Online (Sandbox Code Playgroud)

谢谢参观.

css

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

Dataweave 2.2 takeWhile 和 filter 有什么区别?

%dw 2.0
import * from dw::core::Arrays
output application/json
var arr = [0,1,2,4,3]
---
arr filter $ <= 2
Run Code Online (Sandbox Code Playgroud)

%dw 2.0
import * from dw::core::Arrays
output application/json
var arr = [0,1,2,4,3]
---
arr takeWhile $ <= 2
Run Code Online (Sandbox Code Playgroud)

它们都给出相同的结果。有什么区别吗?

dataweave mulesoft

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

如何在$(document).ready函数中添加多个函数

我有这个,它工作正常:

$(document).ready(
    highlightTableRow
);
Run Code Online (Sandbox Code Playgroud)

但是当我添加第二个函数(见下文)时,第二个函数不起作用.

$(document).ready(
    highlightTableRow,
    attachClickLinkHandlerForRowLink
);
Run Code Online (Sandbox Code Playgroud)

将第二个函数添加到ready函数的correnct语法是什么?谢谢.

编辑:添加语法错误.(日食)

$(document).ready(
    highlightTableRow();  **// error:Syntax error, insert ")" to complete Arguments**
    attachClickHandlerForRowLink();  **//error: Missing semicolon**
); **// error: Syntax error on token ")", delete this token**


var originalRowBackground;

function highlightTableRow(){
    $('[class^="contentRow"]:has(a)').live('mouseenter', enterRowFunction).live('mouseleave', exitRowFunction);
}

function enterRowFunction(){
    originalRowBackground = $(this).css('background-color');
    $(this).css({'background-color': "#EFE3FF", 'cursor': 'pointer'});
}

function exitRowFunction(){
    $(this).css({'background-color': originalRowBackground, 'cursor': 'pointer'});
}

function attachClickHandlerForRowLink(){
    $('[class^="contentRow"]:has(a)').live('click', clickRowLink);
}

function clickRowLink(){
    window.location = $(this).find("a").attr("href");
}    **//error: Missing semicolon**
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

在 Mulesoft Dataweave 2.0 中有没有办法测试输入字符串是 XML 还是 JSON 格式?

我的 API 有一个字符串输入。它可以是 XML 或 JSON,我需要在其上使用 Read 函数将其解析为 JSON。MuleSoft 4 或 Dataweave 2 中确定字符串格式的最佳方法是什么?

也许我可以写一个函数 isXML(String inputString) 或 isJSON(String inputString)。

到目前为止,我有一些不雅的东西。我正在尝试将输入解析为 XML 并捕获任何解析异常。在捕获中,我将尝试将其解析为 JSON。我想这不是一个可怕的解决方案。

dataweave mulesoft

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

$在dataweave中的用途是什么?

我知道 $ 和 $$ 的典型用例。但是,我参加了 Dataweave 课程并将其用于其他用途,我认为对于此用例,需要将其括在括号中,即 ($)。它展平了整个对象(或类似的东西)。我找不到有关它的文档。一个例子将不胜感激。

我认为存在的东西是这样的。

输入:

[
    {
        "message1": "Hello world!"
    },
    {
        "message2": "Hello world!"
    },
    {
        "message3": "Hello world!"
    }
]
Run Code Online (Sandbox Code Playgroud)

数据:

payload map $
Run Code Online (Sandbox Code Playgroud)

将产生此输出:

[
  {
    "message1": "Hello world!"
  },
  {
    "message2": "Hello world!"
  },
  {
    "message3": "Hello world!"
  }
]
Run Code Online (Sandbox Code Playgroud)

但是,我认为 $ 的简单用法可以给我这个输出(我不记得它是否在数组内,但可能):

[{
    "message1": "Hello world!",
    "message2": "Hello world!",
    "message3": "Hello world!"
}]
Run Code Online (Sandbox Code Playgroud)

dataweave mulesoft

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

试图使我的Java方法通用,以便它可以比较字符串或日期

以下是我的方法.它适用于比较字符串.我想使它能够比较日期或可能任何具有可接受定义的compareTo方法的类.寻找一种简单的方法来做到这一点.我正走在一条黑客的道路上.也可以使用任何其他建议来改进此方法.

protected <E> int compareFields(E o1, E o2,String fieldName){
    String o1Data;
    String o2Data;
    try { 
        o1Data = (String) o1.getClass().getMethod(fieldName).invoke(o1);
        o2Data = (String) o2.getClass().getMethod(fieldName).invoke(o2);
    }
    catch(Exception e) {
        throw new RuntimeException(e);
    }
    if(o1Data == null && o2Data == null){
        return 0;
    } else if (o1Data == null){
        return 1;
    } else if (o2Data == null){
        return -1;
    }
    return o2Data.compareTo(o1Data);
}
Run Code Online (Sandbox Code Playgroud)

java

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

如何在 Mulesoft 4.2 Dataweave 2.2 中导航多部分/表单数据?

我正在尝试从 Dataweave 2.2 中的 multipart/form-data 中获取内容。我只想从有效负载的第二部分发回 pdf。我没有运气使用 Dataweave 解析这个有效负载。

我的 dataweave 代码很简单payload.parts,但出现以下错误。

org.mule.runtime.core.api.expression.ExpressionRuntimeException: "Multipart Object does not have `parts` field defined. Expecting type is
{
  preamble?: String, 
  parts: {
    _*: {
      headers: Object, 
      content: Any
    }
  }
}, while writing MultiPart at payload.parts." evaluating expression: "payload.parts".
Run Code Online (Sandbox Code Playgroud)

这是我的有效载荷。我修剪了 xml 和文件内容以提高可读性。

--MIMEBoundary_fdb504344c826b00b136f8946dec737661b743b37d6dc8c4
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.cdb504344c826b00b136f8946dec737661b743b37d6dc8c4@apache.org>

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"></soapenv:Envelope>
--MIMEBoundary_fdb504344c826b00b136f8946dec737661b743b37d6dc8c4
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <edb504344c826b00b136f8946dec737661b743b37d6dc8c4@apache.org>

%PDF-1.4
%????
1 0 obj
<<
/Creator (Smart Communications) …
Run Code Online (Sandbox Code Playgroud)

dataweave mulesoft

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

CSS:not()没有像我期望的那样工作

我有以下HTML和CSS代码,也可以在这里找到并播放//jsfiddle.net/0k1qah6x/7/

我的意图是数字"1",其中"活跃"类不是红色.

.pdf-pagination a:not(.active) {
  color: red;
  text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
<div class="pdf-pagination">
  <ul>
    <li class="disabled">
      <a id="pdfPaginationLink0" href="#" data-page="0">?</a>
    </li>
    <li class="active">
      <a id="pdfPaginationLink1" href="#" data-page="1">1</a>
    </li>
    <li>
      <a id="pdfPaginationLink2" href="#" data-page="2">2</a>
    </li>
    <li>
      <a id="pdfPaginationLink3" href="#" data-page="2">?</a>
    </li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

css css-selectors

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