小编HoR*_*oRn的帖子

' 在 Haskell 中函数名称的末尾是什么意思/做什么?

几天前我开始使用 Haskell,我在网上找到了一些解决我的问题的方法,但我开始注意到某些函数在函数名的末尾有一个符号。

什么意思?

一个例子可能是

map'            :: (a -> b) -> [a] -> [b]
map' f []       = []
map' f (x:xs)   = foldr (\y ys -> (f y):ys) [] xs
Run Code Online (Sandbox Code Playgroud)

来源

syntax haskell

6
推荐指数
2
解决办法
109
查看次数

Java 17 是否支持任何 OSGi 版本?

我已经使用 Java17 运行了 OSGi 捆绑包,并在启动时得到了以下结果。Java 17 还不支持 OSGi 吗?

org.osgi.util.tracker.ServiceTracker.getServices()”为空

java osgi osgi-bundle java-17

6
推荐指数
0
解决办法
1325
查看次数

grpc v1.34.1 的客户端负载平衡,nameResolverFactory 已弃用

我将 grpc v1.34.1 与 Java 结合使用,很难配置客户端负载平衡,因为该版本中不推荐使用某些方法。在早期版本中通过以下方式配置客户端负载平衡非常简单:

final ManagedChannel channel = ManagedChannelBuilder.forTarget(target)
        .nameResolverFactory(new DnsNameResolverProvider())  // this is on by default
        .loadBalancerFactory(RoundRobinLoadBalancerFactory.getInstance())
        .usePlaintext(true)
        .build();
Run Code Online (Sandbox Code Playgroud)

或者通过这个https://sultanov.dev/blog/grpc-client-side-load-balancing/

但是,没有任何可用于已弃用nameResolverFactory并删除 method的新版本的参考loadBalancerFactory

NameResolver.Factory nameResolverFactory = new MultiAddressNameResolverFactory(
        new InetSocketAddress("localhost", 50000),
        new InetSocketAddress("localhost", 50001),
        new InetSocketAddress("localhost", 50002)
);

channel = ManagedChannelBuilder.forTarget("localhost")
        .nameResolverFactory(nameResolverFactory)
        .defaultLoadBalancingPolicy("round_robin")
        .usePlaintext()
        .build();
Run Code Online (Sandbox Code Playgroud)

客户端负载平衡有效。但是,较新的 API 已弃用nameResolverFactory.

有人可以指出我nameResolverFactory在新版本中使用不同服务器(主机和端口)进行客户端负载平衡的替代方案吗?

java load-balancing grpc grpc-java

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

如何在 Camel Debezium SQL 服务器连接器中为 JDBC 连接设置加密 false

我在尝试使用 Camel Debezium SQL 服务器连接器时遇到问题。我正在尝试使用camel Debezium SQL Server 连接器捕获SQL Server 数据库表中的数据更改,并将它们接收到消息代理。我知道 JDBC SQL 服务器连接可以选择将加密设置为 false 以防止出现此问题。但我在 Camel Debezium SQL 服务器连接器中找不到类似的方法。

要使用 Camel Debezium SQL 服务器连接器,我遵循了此文档:

https://camel.apache.org/components/3.18.x/debezium-sqlserver-component.html#_samples

当我运行该应用程序时,它显示以下错误:

错误 io.debezium.embedded.EmbeddedEngine - 尝试运行连接器类“io.debezium.connector.sqlserver.SqlServerConnector”时出错

原因:com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接。错误:“PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”。

我的POM如下:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-parent</artifactId>
      <version>3.18.1-SNAPSHOT</version>
      <scope>import</scope>
      <type>pom</type>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-main</artifactId>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-debezium-sqlserver</artifactId>
  </dependency>
  <dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>11.2.0.jre11</version>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jackson</artifactId>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-kafka</artifactId>
  </dependency> …
Run Code Online (Sandbox Code Playgroud)

java sql-server apache-camel apache-kafka spring-boot

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

如何列出大于给定参数的所有文件?

我写了这段代码,但不知道如何获取length()文件的。我想列出所有大于 50KB 的文件。

public static void main(String[] args) throws IOException {

    File f = new File(".");
    int KB = 1024;
    String[] files = f.list();

    for (String string : files) {
        if (f.length() > 50*KB)
        System.out.println(string);
    }
}
Run Code Online (Sandbox Code Playgroud)

java file list

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

Chrome 不会自动打开 URL

为什么会这样?Chrome 打开,但 URL 未随代码打开。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
        
public class Id {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "E:\\chromedriver\\chromedriver.exe"); //open browser
        WebDriver driver = new ChromeDriver(); 
        **driver.get("google.co.in"); //open URL**
        driver.findElement(By.name("q")).sendKeys("Quadkast" + Keys.ENTER);
    }
}
Run Code Online (Sandbox Code Playgroud)

java selenium selenium-chromedriver selenium-webdriver

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

HTML 音频控件 - 如何从默认音频播放器中删除 3 个点?

我使用带有 CONTROLS 的 HTML AUDIO 标签来显示音轨。

<audio controls controlsList="nodownload">  
  <source src="horse.mp3" type="audio/mpeg">
</audio>
Run Code Online (Sandbox Code Playgroud)

我发现使用CSSaudio::-webkit-media-controls-可以修改很多功能。

然而,我无法弄清楚如何禁用/隐藏播放器上的这 3 个点。

在此输入图像描述

PS:这对于使用 CSS 禁用/设置控件样式很有帮助。然而,这是很多年前的答案,所以它不包括播放速度选项。

是否可以设置 html5 音频标签的样式?

css html5-audio

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

HTML5 - 当另一个音频标签开始播放时如何停止音频?

我有这个 JavaScript 函数:

\n
var currentPlayer;\nfunction EvalSound(soundobj) {\n    var thissound = document.getElementById(soundobj);\n    if (currentPlayer && currentPlayer != thissound) {\n        currentPlayer.pause(); \n    }\n    if (thissound.paused) {\n        thissound.play();\n    } else {\n        thissound.pause();\n    }\n    thissound.currentTime = 0;\n    currentPlayer = thissound;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这个 html5 音频播放器在 Yii2 的 Gridview 小部件内循环重复(它创建了许多播放器,每个播放器都有不同的歌曲):

\n
'value'=> function ($data){                      \n    return "<audio controls>\n            <source src='" . $data->ficheiro . "' type='audio/mp3' />\n            </audio>";\n},\n
Run Code Online (Sandbox Code Playgroud)\n

问题是,当我正在播放一个音频标签并单击另一个音频标签的播放按钮时,它不会停止前一个正在播放的音频标签并开始新的音频标签。两个音频标签同时播放。我正在尝试调整 javascript 函数,但它不起作用。

\n

我也尝试过声明var thisound = $('audio');

\n

它也不起作用。

\n

我需要在音频标签中添加 ID 吗?\n我需要将onClick='EvalSound'事件与音频标签关联吗? …

html javascript audio function playback

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

返回sheet.appendRow之后附加的行号

有没有办法使用以下appendRow代码将新附加的行号返回到 Google 工作表中?我可以保证工作表不会被排序,但我不能保证在调用工作表中的数据行数之前,工作表不会追加另一行。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// Appends a new row with 3 columns to the bottom of the
// spreadsheet containing the values in the array
sheet.appendRow(["a man", "a plan", "panama"]);
Run Code Online (Sandbox Code Playgroud)

google-apps-script

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

如何检查值是否为空?

我有一些包含空白选项的选择菜单。当两者都为空白时(通常在第一页加载时),我想显示一些隐藏的 div。

这就是我所拥有的:

$('.variant_options select').each(function() { 
    if ($(this).attr('value') === '') {
        // some code here to show hidden div
        console.log("No options chosen");
    }
});
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用。

编辑 1

对于它的价值,我尝试过这样的事情:

if (!$(this).attr('value'))
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但它破坏了其他地方的功能。

javascript jquery

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

将 gui 组件声明为私有是否算作封装?

private JPanel contentPane;
private JTextField textField;
Run Code Online (Sandbox Code Playgroud)

然后我在文本字段中使用了 getter

st.setString(1, textField.getText());
Run Code Online (Sandbox Code Playgroud)

将 gui 组件(文本字段)声明为私有可以称为封装吗?

java encapsulation

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