假设我们有以下简单的代码:
#include <iostream>
#include <type_traits>
struct S {
template <typename T> explicit S(T) noexcept requires std::is_signed<T>::value {
std::cout << "T\n";
}
template<typename T> explicit S(const T&) noexcept {
std::cout << "const T&\n";
}
};
int main() {
S s(4);
}
Run Code Online (Sandbox Code Playgroud)
此代码使用 Clang 编译并打印“T”,但使用 GCC 时出现以下错误:
error: call of overloaded 'S(int)' is ambiguous
Run Code Online (Sandbox Code Playgroud)
我的问题是:GCC 还是 Clang 哪个编译器有 bug?
我一直在摆弄 c#9 的一些新功能,但遇到了一些不那么有趣的事情。如果我尝试在具有 DateTimeOffset 的记录上使用 Should().BeEquivalentTo(),并将 DateTimeOffset 的“使用”选项设置为使用 BeCloseTo,则即使 DateTimeOffset 在允许的精度范围内,测试也会失败。有没有办法让它发挥作用(无需将记录更改为班级哈哈)?非常感谢!
例子:
public class ExampleTest
{
[Fact]
public void FunWithRecords()
{
var thing1 = new Thing
{
SomeDate = DateTimeOffset.UtcNow
};
var thing2 = new Thing
{
SomeDate = DateTimeOffset.UtcNow.AddSeconds(2)
};
thing1.Should().BeEquivalentTo(thing2, o =>
o.Using<DateTimeOffset>(ctx =>
ctx.Subject.Should().BeCloseTo(ctx.Expectation, 10000))
.WhenTypeIs<DateTimeOffset>());
}
}
public record Thing
{
public DateTimeOffset SomeDate {get; init;}
}
Run Code Online (Sandbox Code Playgroud) 我从 Karma Jasmine 收到以下错误:
TypeError: Cannot read property 'afterClosed' of undefined
我真诚地搜索,但在 Stack Overflow 或其他来源中找不到解决方案。
这就是我MatDialog在组件中打开的方式:(
如文档所示)
constructor(public dialog: MatDialog) {}
public openDialog(): void {
const dialogReference: MatDialogRef<any, any> = this.dialog.open(myDialogComponent, {
width: '1728px'
});
dialogReference.afterClosed().subscribe((result) => {
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的单元测试配置:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
myRequestComponent
],
imports: [
MatDialogModule,
ReactiveFormsModule
],
providers: [
{ provide: MatDialog, useValue: {} },
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(myRequestComponent);
component = fixture.componentInstance; …Run Code Online (Sandbox Code Playgroud) 我有一个JSON文件和一个avro架构文件,它正确地描述了它的结构.然后我将带有Avro工具的JSON文件转换为avro文件,而不会出现错误,如下所示:
java -jar .\avro-tools-1.7.7.jar fromjson --schema-file .\data.avsc .\data.json > .\data.avro
Run Code Online (Sandbox Code Playgroud)
然后我将生成的Avro文件转换回JSON,以验证我是否得到了这样的有效Avro文件:
java -jar .\avro-tools-1.7.7.jar tojson .\data.avro > .\data.json
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
Exception in thread "main" java.io.IOException: Not a data file.
at org.apache.avro.file.DataFileStream.initialize(DataFileStream.java:105)
at org.apache.avro.file.DataFileReader.<init>(DataFileReader.java:97)
at org.apache.avro.tool.DataFileGetMetaTool.run(DataFileGetMetaTool.java:64)
at org.apache.avro.tool.Main.run(Main.java:84)
at org.apache.avro.tool.Main.main(Main.java:73)
Run Code Online (Sandbox Code Playgroud)
在做'getschema'或'getmeta'时我也得到了同样的例外,如果我使用avro-tools-1.8.2或avro-tools-1.7.4.我还尝试了多个不同的json和架构数据,我检查了它的有效性.
此处抛出错误(在Avro工具中):
if (!Arrays.equals(DataFileConstants.MAGIC, magic)) {
throw new IOException("Not a data file.");
}
Run Code Online (Sandbox Code Playgroud)
看起来,(二进制)Avro文件与预期的Avro文件不匹配,因为开头有几个字符.
我已经检查了有关此错误的所有其他stackoverflow问题,但它们都没有帮助.我在Windows 10 PowerShell上使用了命令行.
有人知道这里发生了什么事吗?
更新:如果我在Cloudera VM上而不是在Windows中进行转换,则转换有效.在生成的Avro文件中,开头只有几个不同.
我无法解决这个异常,我已经阅读了 hadoop 文档以及我能找到的所有相关的 stackoverflow 问题。
我的 fileSystem.mkdirs(***) 抛出:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V
at org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Native Method)
at org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode(NativeIO.java:524)
at org.apache.hadoop.fs.RawLocalFileSystem.mkOneDirWithMode(RawLocalFileSystem.java:465)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirsWithOptionalPermission(RawLocalFileSystem.java:518)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:496)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:316)
...
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中包含以下依赖项(通过 maven pom.xml),全部采用版本 2.6.0-cdh5.13.0:hadoop-common、hadoop-hdfs、hadoop-client、hadoop-minicluster
我的文件系统变量是一个有效的(hadoop-common)文件系统(org.apache.hadoop.fs.FileSystem)。
我从https://github.com/steveloughran/winutils/tree/master/hadoop-2.6.0/bin下载了 hadoop 文件。我将 winutils.exe 和版本 2.6.0 中的所有其他文件存储到本地文件系统的 C:\Temp\hadoop\bin 下。我用 C:\Temp\hadoop 添加了路径变量 HADOOP_HOME (是的,不是 bin 目录的路径)。
未使用后备(“使用内置 java 类”),我得到:
145 [main] DEBUG org.apache.hadoop.util.NativeCodeLoader - Trying to load the custom-built native-hadoop library...
147 [main] DEBUG org.apache.hadoop.util.NativeCodeLoader - Loaded the native-hadoop library
Run Code Online (Sandbox Code Playgroud)
(参见https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/NativeLibraries.html)
据我了解,此异常可能是由 hadoop 版本不匹配引起的,但我检查了导入的 hadoop …
我有一个 Vue.js v2.6 项目,其中包含 TypeScript v.4.3“底层”。我的问题:我找不到任何可以澄清的文档,说明在Vue 组件
中
使用是否有意义以及如何正确使用它们。
我搜索了文章、Vue.js 文档和 StackOverflow,但没有任何发现。(Vue.js 文档完全忽略了它们的存在!)access modifiers
这就是我目前在 Vue 组件中使用访问修饰符的方式:
myComponent.vue 的模板部分:
<template>
<div>
<!-- accessing some of the fields of the class here e.g. the getter -->
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
myComponent.vue 的脚本部分:
<script lang="ts">
import { Vue, Component, Prop, Emit } from "vue-property-decorator";
@Component()
export default class MyComponent extends Vue {
@Prop() public readonly myPropertyVariable!: boolean;
public myVariable!: string; // accessed in template
private myInternalVariable!: boolean; // not accessed …Run Code Online (Sandbox Code Playgroud) access-modifiers typescript vue.js vuejs2 vue-class-components
我猜想,不允许将材料网格放入材料网格(嵌套网格)中吗?
有人可以确认我的假设吗?
(我正在使用Angular Material6。)
<mat-grid-list cols="6" gutterSize="32px">
<mat-grid-tile [colspan]="3">
left
<mat-grid-list cols="3" gutterSize="8px">
<mat-grid-tile>1</mat-grid-tile>
<mat-grid-tile [colspan]="2">2</mat-grid-tile>
<mat-grid-tile [colspan]="3">3</mat-grid-tile>
</mat-grid-list>
</mat-grid-tile>
<mat-grid-tile [colspan]="3">
right
<mat-grid-list cols="3" gutterSize="8px">
<mat-grid-tile>4</mat-grid-tile>
<mat-grid-tile [colspan]="2">5</mat-grid-tile>
<mat-grid-tile [colspan]="3">6</mat-grid-tile>
</mat-grid-list>
</mat-grid-tile>
</mat-grid-list>
Run Code Online (Sandbox Code Playgroud)
结果应如下所示(两个不同的装订线大小):
我为什么要这个?我必须实现的设计在各列之间具有不同的GUTTER SIZES:-/我认为网格中的网格将是一个聪明的解决方案,但它不起作用。
更新:这里建议的解决方案不起作用,因为只有在较旧的Angular JS材质中才有可能。
我有一个 C# 应用程序,其中包含一个可与多个 OPC UA 会话 ( UnifiedAutomation.UaClient.Session )配合使用的服务。这些会话是通过连接到 opc.tcp://localhost:48030 等地址来创建的。
foreach (ConnectionStringSettings connectionSettings in ConfigurationManager.ConnectionStrings)
{
var connectionString = connectionSettings.ConnectionString;
// Ignore non-OPC-connections
if (!connectionString.StartsWith("opc.tcp")) continue;
// Create new session for connection
var session = new Session
{
AutomaticReconnect = true,
ReconnectDelay = 0
};
// Connect to OPC UA Server
try
{
session.Connect(connectionString, SecuritySelection.None);
Log("OPC UA Session establish.", EventLogEntryType.Information);
}
catch (StatusException)
{
Log($"No OPC UA Server found at {connectionString}.",
EventLogEntryType.Warning);
}
}
Run Code Online (Sandbox Code Playgroud)
我想对我的服务方法进行单元测试,但我不知道如何模拟 OPC …
当我尝试npm audit在我的(Angular 7)应用程序中执行时,我收到以下 npm 错误:
npm 错误!代码 ENOAUDIT
npm ERR!审计 您配置的注册表 ( https://nexus.xxx.com/repository/yyy/ ) 不支持审计请求,或者审计端点暂时不可用。
有谁知道我如何让 Nexus 支持npm audit?
我的 PHP 7.3 应用程序连接到 MS SQL Server 或 MariaDB,具体取决于在 Windows 或 Linux 下运行。
对于我的查询,我有时使用 SQL Server 语法编写查询,有时使用 MySQL 语法编写查询。对于代码验证等,我通过 HEREDOC使用PhpStorm 的语言注入
当然,只有在项目中配置的方言才能正确验证。
例子:
switch ($dt_type) {
case 'MSSQL':
$sql_string = <<<SQL
[MSSQL query here]
SQL;
case 'MYSQL':
case 'MSSQL':
$sql_string = <<<SQL
[MYSQL query here]
SQL;
}
Run Code Online (Sandbox Code Playgroud)
我在我的项目中配置了 MSSQL 方言,因此 PhpStorm(正确地,预期地)将我的 MySQL 查询标记为无效并怪异的语法突出显示。
有没有办法告诉 PhpStorm,一个特定的字符串应该用不同的 SQL 方言进行验证,例如通过在该字符串声明之前的注释中声明它?我尝试了@lang注释和语言注入注释.. 没有任何成功。
我知道这可能是不可能的,但也许有人知道一个技巧?
c# ×2
java ×2
typescript ×2
unit-testing ×2
angular ×1
angular6 ×1
audit ×1
avro ×1
avro-tools ×1
c++ ×1
clang ×1
cloudera-cdh ×1
datetime ×1
dialog ×1
gcc ×1
hadoop ×1
heredoc ×1
jasmine ×1
json ×1
maven ×1
mysql ×1
nexus ×1
npm ×1
npm-audit ×1
nunit ×1
opc-ua ×1
phpstorm ×1
sql-server ×1
templates ×1
vue.js ×1
vuejs2 ×1