小编Sha*_*hop的帖子

Kusto:将结果过滤到每个 ID 的最新记录

假设我在Azure 数据资源管理器中有一个如下所示的表:

let data = datatable(id:int, dateTime:datetime)
[
    1,"2021-03-03",
    1,"2021-03-04",
    1,"2021-03-12",
    2,"2021-03-04",
    2,"2021-03-04",
    2,"2021-03-07"
]
Run Code Online (Sandbox Code Playgroud)

我想要一个Kusto 查询语言查询,它将查找每个 id 具有最新日期时间的记录。即,我希望查询返回以下记录:

ID 约会时间
2 2021-03-07 00:00:00.0000000
1 2021-03-12 00:00:00.0000000

我查看了这个问题,但在这种情况下,操作员只需要一条记录,这是整个表的最大值。我想取回每个id 的最新日期时间的记录。

我怎样才能做到这一点?


(此示例表仅供说明之用,我正在处理的实际数据要大得多,并且具有许多 ID,并且未排序。)

kql azure-data-explorer

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

C 程序中可以进行系统调用吗?

C 程序中可以进行系统调用吗?考虑一下:

int main()
{
    int f = open("/tmp/test.txt", O_CREAT | O_RDWR, 0666);
    write(f, "hello world", 11);
    close(f);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在此示例代码中,openwrite、 和close是库函数。在我的搜索过程中,我得出的结论是它们是函数而不是系统调用。这些函数(openwriteclose)中的每一个都会进行系统调用。

问题

  • 我的结论首先正确吗?
  • C 程序中可以进行系统调用吗?
  • 如果系统调用可以在 C 程序中发生,那么它们什么时候发生?请举个例子。
  • 是否可以通过编译选项来控制使用库函数与直接进行系统调用?例如,我们是否可以使用一些选项编译上面的程序,以便直接进行write和系统调用,而如果我们使用不同的选项编译它,则它会调用库函数?read

c function libc system-calls

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

Black Duck 未能成功运行 gradlew 依赖项

自从从 Gradle 6.7.1 升级到 7.0(这可能是转移注意力)后,Black Duck对我的 Gradle 项目的扫描现在失败了。

这是错误消息:

* 在哪里:
初始化脚本'/root/blackduck/runs/2022-01-18-19-06-00-216/shared/gradle/init-detect.gradle'行:40

* 什么地方出了错:
任务“:依赖项”执行失败。
> 无方法签名:org.gradle.api.tasks.diagnostics.internal.dependency.AsciiDependencyReportRenderer.startProject() 适用于参数类型:(org.gradle.api.internal.project.DefaultProject_Decolated) 值:[根项目 ' <已编辑>']
  可能的解决方案:startProject(org.gradle.api.tasks.diagnostics.internal.ProjectDetails)、startProject(org.gradle.api.tasks.diagnostics.internal.ProjectDetails)

当 Gradle 构建在没有 Black Duck 的情况下运行时,构建成功。

Black Duck 扫描使用以下命令运行:

bash detector.sh --blackduck.url=<编辑> --blackduck.trust.cert=true --blackduck.api.token=<编辑> --detect.project.name=<编辑> --detect.project。 version.name=开发人员--detect.source.path=。

这是我的完整内容build.gradle

buildscript {
  repositories {
    maven {
      url "https://<redacted>/nexus/repository/maven-central"
    }
    maven {
      url "https://<redacted>/nexus/repository/thirdparty"
    }
    maven {
      url "https://<redacted>/nexus/repository/gradle-plugins"
    }
  }
}

plugins {
  id "java"
}

def nexusUsername = (System.getenv("NEXUS_USERNAME") != null ? System.getenv("NEXUS_USERNAME") : (project.hasProperty('NEXUS_USERNAME') …
Run Code Online (Sandbox Code Playgroud)

java gradle gradlew

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

bash 使用什么顺序来决定是使用别名、函数、内置函数还是可执行文件?

在 bash 中可以定义函数和别名,并且 bash 有自己的内置函数。此外,bash 可以运行系统上可用的可执行文件。

为了解决这个问题,假设 shell(无论是交互式还是非交互式)启用了别名扩展。

如果用户定义的函数与可执行文件同名,bash 会运行该函数还是可执行文件?

如果用户定义的函数与 bash 内置函数同名,那么 bash 会运行该函数还是内置函数?

等等 - 如果有两个(或更多)具有相同标识符的事物,bash 将运行的优先顺序是什么?

bash

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

使用 %d 时 fscanf 缓冲区会溢出吗?

我在ossec-hids存储库上运行了Fortify 静态代码分析器,它报告了src/analysisd/stats.c:415的以下发现:Buffer Overflow: Format String

stats.c 第 415 行的 fscanf() 的格式字符串参数没有正确限制函数可以写入的数据量,这允许程序在分配的内存范围之外写入。此行为可能会损坏数据、使程序崩溃或导致恶意代码的执行

有问题的代码行是这样的:

if (fscanf(fp, "%d", &_RWHour[i][j]) <= 0) {
Run Code Online (Sandbox Code Playgroud)

_RWHour被声明为

static int _RWHour[7][25];
Run Code Online (Sandbox Code Playgroud)

在同一文件的第 33 行。我相信第 33 行的声明和第 415 行的使用之间没有任何阴影_RWHour,因为当我选择第 33 行的声明时,我的 IDE (Visual Studio 2019)_RWHour在 415 中突出显示。

当我查看 的cppreference 文档时fscanf,它显示以下内容:

d匹配十进制整数。数字的格式与基本参数strtol值的预期相同10

我从上面引用的表格还显示,当没有使用长度修饰符时%d(如所讨论的调用的情况fscanf),参数类型应该是signed int*or unsigned int*

我的问题是这样的:

在这种情况下,Fortify 的发现有可能是误报吗?int或者,当您将 an …

c scanf buffer-overflow fortify ossec

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

结构化绑定无法编译

考虑以下代码片段,它引入了Test支持结构化绑定的自定义类型:

\n
struct Test {\n    int member;\n};\n\ntemplate<>\nstruct std::tuple_size<::Test>\n{\n    static constexpr size_t value = 1;\n};\n\ntemplate<>\nstruct std::tuple_element<0, ::Test>\n{\n    using type = int;\n};\n\ntemplate <size_t Index>\nconst int& get(const Test& test)\n{\n    // Omit Index for the sake of brevity\n    return test.member;\n}\n\nint main() {\n    Test test = Test{1234};\n    auto [member] = test;\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

该代码无法编译并出现以下错误:

\n
\n

错误:将 \xe2\x80\x98std::tuple_element<0, Test>::type&\xe2\x80\x99\n{aka \xe2\x80\x98int&\xe2\x80\x99} 类型的引用绑定到 \xe2\ x80\x98const int\xe2\x80\x99 丢弃限定符

\n
\n

根据我的理解,结构化绑定应扩展为(测试转换为 xvalue 并传递给get函数):

\n
\n

在这些初始化表达式中,如果实体 e 的类型是左值引用(仅当引用限定符为 & 或为 && 并且初始化表达式是左值时才会发生这种情况)和 xvalue,则 …

c++

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

Kusto:投影或过滤是否可以节省更多时间?

对于非常大的表上的 Kusto 查询,以下哪一项可以节省更多时间:(A)project首先只保留相关数据的列,还是where首先过滤掉行?

kql azure-data-explorer

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